如何編寫簡單的應用window視窗程式
阿新 • • 發佈:2018-12-23
#include<windows.h> LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow) { HWND hwnd; MSG Msg; WNDCLASS wndclass; char lpszClassName[]="視窗";//視窗類名 char lpszTitle[]="My_Windows";//視窗標題名 //視窗類的定義 wndclass.style=0;// 視窗型別預設型別 wndclass.lpfnWndProc=WndProc;//視窗處理函式為WndProc wndclass.cbClsExtra=0;//視窗類無擴充套件 wndclass.cbWndExtra=0;//視窗例項無擴充套件 wndclass.hInstance=hInstance;//當前例項控制代碼 wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//視窗的最小化圖示為預設圖示 wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);//視窗採用箭頭游標 wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//視窗背景為白色 wndclass.lpszMenuName=NULL;//視窗中無選單 wndclass.lpszClassName=lpszClassName; //視窗類名為 “視窗示例 ” //進行視窗類的註冊 if(!RegisterClass(&wndclass))//如果註冊失敗則發生警告聲音 { MessageBeep(0); return FALSE; } //建立視窗 hwnd=CreateWindow(lpszClassName,//視窗類名 lpszTitle,//視窗例項的標題名 WS_OVERLAPPEDWINDOW,//視窗風格 CW_USEDEFAULT,//視窗左上角座標的預設值 CW_USEDEFAULT,// CW_USEDEFAULT, CW_USEDEFAULT,//視窗的高度和寬的預設值 NULL,//此視窗無父視窗 NULL,//此視窗無主選單 hInstance,//建立此視窗應用程式的當前控制代碼 NULL//不使用該值 ); ShowWindow(hwnd,nCmdShow);//顯示視窗 UpdateWindow(hwnd);//繪製使用者區 while(GetMessage(&Msg,NULL,0,0))//訊息迴圈 { TranslateMessage(&Msg); DispatchMessage(&Msg); } return Msg.wParam;//程式終止將資訊返回系統 } //視窗函式 LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) { switch(message) { case WM_DESTROY: PostQuitMessage(0);//呼叫PostQuitMessage default://預設時採用系統訊息預設處理函式 return DefWindowProc(hwnd,message,wParam,lParam); } return 0; }