日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Windows消息循环理解及窗体创建步骤

發布時間:2023/12/18 windows 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows消息循环理解及窗体创建步骤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先理解一句話:“Windows”向應用程序發送了一條消息。這里是指Windows調用了該程序內部的一個函數。

當UpdateWindow被調用后,新建的窗口在屏幕便完全可見了。此時,Windows會為其維護一個消息隊列。當事件發生時,Windows會自動將這些事件轉化為消息,并將其放置在應用程序的消息隊列中。

應用程序通過消息循環來獲取消息:

while (GetMessage(&msg, NULL, 0, 0)) //從消息隊列中獲取消息并放在msg結構中 {TranslateMessage(&msg); //將虛擬鍵消息轉換為字符消息 DispatchMessage(&msg); //調度一個消息給窗口程序 }

在消息循環中,應用程序將獲取到的消息返還給Windows,接下來,Windows會將這條消息發送給合適的窗口過程即WndProc來處理:

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {switch (message){case WM_CREATE:...return 0;... ...case WM_DESTROY:PostQuitMessage(0);return 0;}return DefWindowProc(hwnd, message, wParam, lParam);//不進行處理的消息傳給此函數 }

綜上,窗口過程是由Windows來調用的,即當從消息隊列中取出消息并遞交給Windows后,Windows把消息內容作為參數,回調給其發送消息的窗口的窗口過程。

注:應用程序如果希望調用自身的窗口過程,則可通過函數SendMessage來實現。

/************窗體創建步驟****************/
實現窗口創建的六步驟:
第一步:創建入口函數WinMain
第二步:注冊窗口類
第三部:實現回調函數的功能
第四步:顯示窗口
第五步:更新窗口
第六步:消息循環

#include?"stdafx.h"
//回調函數(消息響應過程)
LRESULT?CALLBACK?WinProc(HWND?hWnd,UINT?uMsg,WPARAM?wParam,LPARAM?lParam?)
{
switch(uMsg)
{
case?WM_CREATE:
{
MessageBox(NULL,"即將創建一個窗口!","Infor",MB_OK);
}
break;
case?WM_DESTROY:
{
PostQuitMessage(0);
}
break;
}
return?DefWindowProc(hWnd,uMsg,wParam,lParam);
}
//創建入口函數
int?APIENTRY?WinMain(
?HINSTANCE?hInstance,??
?HINSTANCE?hPrevInstance,
?LPSTR?lpCmdLine,
?int?ShowCmd
?)
{
HWND?hWnd=0;
MSG?nMsg={0};
//注冊窗口類
WNDCLASS?cs={0};
cs.cbClsExtra=0;
cs.cbWndExtra=0;
cs.hbrBackground=(HBRUSH)(COLOR_WINDOW+2);
cs.hCursor=NULL;
cs.hIcon=NULL;
cs.hInstance=hInstance;
cs.lpfnWndProc=(WNDPROC)WinProc;
cs.lpszClassName="Main";
cs.lpszMenuName=NULL;
cs.style=CS_VREDRAW|CS_HREDRAW;
RegisterClass(&cs);//實現注冊窗口
//創建窗口
hWnd=CreateWindow("Main","Windows",WS_OVERLAPPEDWINDOW,200,200,500,500,NULL,NULL,hInstance,NULL);
//顯示窗口
ShowWindow(hWnd,SW_SHOW);
//更新窗口
UpdateWindow(hWnd);
//消息循環
while(GetMessage(&nMsg,0,NULL,NULL))
{
TranslateMessage(&nMsg);
DispatchMessage(&nMsg);
}
return?0;
}
?

總結

以上是生活随笔為你收集整理的Windows消息循环理解及窗体创建步骤的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品成人一区二区三区电影毛片 | 国产区91 | 古代玷污糟蹋np高辣h文 | 久久精品99久久久久久久久 | 一区二区日韩欧美 | 国产福利一区二区视频 | 一级免费看片 | 国产精品区在线观看 | 正在播放一区二区 | 中文字幕第23页 | 国产尤物网站 | 人人看超碰 | 综合精品国产 | 伊人影院在线播放 | 国产一级片免费观看 | 深夜福利国产 | 久青草视频在线 | 久久免费看毛片 | 欧洲熟妇精品视频 | 中文字幕国产视频 | 久久激情综合 | 日韩激情床戏 | 成人免费毛片果冻 | 免费性情网站 | 亚洲图片小说区 | 国产又粗又猛又爽又黄的网站 | 香港三日本8a三级少妇三级99 | 少妇高潮一区二区三区在线 | 日爽夜爽 | 我要看免费的毛片 | 国产午夜成人久久无码一区二区 | 久久久久草 | 高清国产一区 | 亚洲av电影天堂男人的天堂 | 丰满大乳国产精品 | 久久精品视频2 | 女同hd系列中文字幕 | 激情婷婷丁香 | 半推半就一ⅹ99av | 日韩女优网站 | 91亚洲一区二区三区 | 二区三区不卡 | 九九久久国产视频 | 91精品婷婷国产综合久久 | 午夜理伦三级做爰电影 | 精品久久网站 | 四虎永久免费地址 | 日韩在线视频网 | 99re在线视频精品 | av免费观看网址 | 久久亚洲国产精品 | 一级特黄aaa大片 | 米奇色| 亚洲一区av在线 | 狠狠久久 | 久草a在线| 午夜剧场成人 | 日韩一级片免费 | 日本成人性爱 | 蜜桃av在线| 婷婷免费 | 国产第七页| 国产精品久线在线观看 | 免费网站在线观看视频 | 成人在线观 | 天天综合网天天综合色 | 午夜一级视频 | 国产三级影院 | 开心激情婷婷 | 在线观看免费高清视频 | 国产精品福利一区二区三区 | 黑人巨大国产9丨视频 | 国产精品久久久久久久久久久久午夜片 | 亚洲高h| 天天躁日日躁aaaa视频 | 国产精自产拍久久久久久蜜 | 999久久久国产精品 韩国精品一区二区 | 毛片网站有哪些 | 黄色1级大片 | 岛国成人在线 | 91国内精品| 久久天堂av综合合色蜜桃网 | 国产精品视频一区二区三区在3 | 亚洲制服无码 | 成人国产一区 | 少妇人妻好深好紧精品无码 | 中文字幕人妻一区 | 中文文字幕一区二区三三 | 日本精品人妻无码免费大全 | 一区二区三区视频免费视 | 日韩av在线播 | 亚洲视频国产精品 | 午夜伦伦电影理论片费看 | 一道本在线观看 | 国产高清视频一区二区 | 樱花影院最新免费观看攻略 | 午夜爽爽视频 | 欧美日韩国产一区二区三区 | 中出在线观看 |