#include
#include
//申明消息響應(yīng)函數(shù)
LRESULT CALLBACK WinSunProc(
HWND hwnd, // 窗口句柄
UINT uMsg, // 消息標(biāo)示
WPARAM wParam, // 消息內(nèi)容,參看了一些文章,并沒有2中參數(shù)區(qū)別的明確說(shuō)明。
LPARAM lParam); // 有待進(jìn)一步研究
int WINAPI WinMain(
HINSTANCE hInstance, //當(dāng)前應(yīng)用程序的實(shí)例句柄
HINSTANCE hPreInstance,//NULL
LPSTR lpCmdLine,// 默認(rèn)參數(shù)?
int nCmdShow)// 窗口顯示方式 最大、最小、隱藏
{
WNDCLASS wndcls;//1、設(shè)計(jì)一個(gè)窗口
wndcls.cbClsExtra=0;
wndcls.cbWndExtra=0;
wndcls.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndcls.hCursor=LoadCursor(NULL,IDC_ARROW);
wndcls.hIcon=LoadIcon(NULL,IDI_WINLOGO);
wndcls.hInstance=hInstance;
wndcls.lpfnWndProc=WinSunProc; //消息處理函數(shù)
wndcls.lpszClassName="FVC";
wndcls.lpszMenuName=NULL;
wndcls.style=CS_HREDRAW|CS_VREDRAW;
RegisterClass(&wndcls); //2、注冊(cè)窗口
HWND hwnd;
hwnd=CreateWindow("FVC","www.xxx.com",//3、創(chuàng)建窗口
WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,SW_SHOWNORMAL);//4、顯示窗口
UpdateWindow(hwnd);//5、更新窗口
MSG msg;
while(GetMessage(&msg,NULL,0,0))//消息循環(huán)
{
TranslateMessage(&msg);//將虛擬鍵值消息轉(zhuǎn)化為字符消息,并將字符消息投遞到消息隊(duì)列中
DispatchMessage(&msg);//分派一個(gè)消息窗口,對(duì)消息進(jìn)行處理
}
return msg.wParam;
}
LRESULT CALLBACK WinSunProc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam)
{
switch(uMsg)
{
case WM_CHAR:
char szchar[20];
sprintf(szchar,"char code is %d",wParam);
MessageBox(hwnd,szchar,"char",0);
break;
case WM_LBUTTONDOWN:
MessageBox(hwnd,"mouse clicked","message",0);
HDC hdc;
hdc=GetDC(hwnd);
TextOut(hdc,0,50,"out message info",strlen("out message info"));
break;
case WM_PAINT:
HDC hdc2;
PAINTSTRUCT ps;
hdc2=BeginPaint(hwnd,&ps); //WM_PAINT消息才能BeginPaint函數(shù)
TextOut(hdc2,0,0,"paint message info",strlen("paint message info"));
EndPaint(hwnd,&ps);
break;
case WM_CLOSE:
if(IDYES==MessageBox(hwnd,"finish?","message",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,uMsg,wParam,lParam);
}
return 0;
}
相關(guān)推薦:
2012年計(jì)算機(jī)等考四級(jí)數(shù)據(jù)庫(kù)工程師備考筆記匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |