WinMain
wndcls.lpszClassName ="2017";的名稱不能太長(zhǎng),如果長(zhǎng)了就容易出錯(cuò)
#include <windows.h>
#include <stdio.h>LRESULT CALLBACK WinSunProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam) ; //窗口處理函數(shù)WinSunPro();聲明
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{//設(shè)計(jì)一個(gè)窗口類WNDCLASS wndcls;wndcls.cbClsExtra=0; //窗口類外加內(nèi)存wndcls.cbWndExtra=0; //窗口外加內(nèi)存wndcls.hbrBackground= (HBRUSH)GetStockObject(BLACK_BRUSH) ;//類型轉(zhuǎn)換wndcls.hCursor=LoadCursor(NULL,IDC_CROSS); //wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);//wndcls.hInstance=hInstance; //應(yīng)用程序的實(shí)例句柄,由WinMain函數(shù)傳遞過來wndcls.lpfnWndProc=WinSunProc;wndcls.lpszClassName ="2017";wndcls.lpszMenuName=NULL;wndcls.style=CS_HREDRAW | CS_VREDRAW;RegisterClass(&wndcls);HWND hwnd;hwnd=CreateWindow("2017","北京創(chuàng)新中心",WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL);ShowWindow(hwnd,SW_SHOWNORMAL);UpdateWindow(hwnd); //向消息相應(yīng)處理函數(shù)發(fā)送一個(gè)WM_PAINT的消息MSG msg;while(GetMessage(&msg,NULL,0,0)) //三四個(gè)參數(shù)為消息過濾器min-max{TranslateMessage(&msg);DispatchMessage(&msg);}return 0;}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,"程序員之家",strlen("程序員之家"));ReleaseDC(hwnd,hdc);break;case WM_PAINT:HDC hDc;PAINTSTRUCT ps;hDc = BeginPaint(hwnd,&ps);TextOut(hDc,0,0,"維新培訓(xùn)",strlen("維新培訓(xùn)"));EndPaint(hwnd,&ps);break;case WM_CLOSE:if(IDYES==MessageBox(hwnd,"是否真的結(jié)束?","message",MB_YESNO)){DestroyWindow(hwnd);}break;case WM_DESTROY:PostQuitMessage(0);break;default:return DefWindowProc(hwnd,uMsg,wParam,lParam);}return 0;
}
總結(jié)
- 上一篇: 作者:张澄(1979-),男,中国联合网
- 下一篇: 作者:寇纲(1975-),男,博士,西南