API创建窗体范例代码

    技术2022-05-19  28

    #include "windows.h"LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);//窗口程序说明

    //--------------- 初始化窗口----------------

    int WINAPI WinMain(HINSTANCE hInstance,       HINSTANCE HPrevInst,       LPSTR  lpszCmdLine,       int   nCmdShow){ MSG   Msg; HWND  hwnd; WNDCLASS wndclass; char  lpszClassName[] = "窗口"; //窗口类名 char  lpszTitle[] = "My_Windows";//窗口标题

     wndclass.style = 0; wndclass.lpfnWndProc = 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);  break; case WM_LBUTTONDOWN:  MessageBox(hwnd,"hello world","ok",NULL);  break; case WM_RBUTTONDOWN:  MessageBox(hwnd,"welcome","ok",NULL);  break;

     default:  return DefWindowProc(hwnd,message,wParam,lParam); } return(0); }


    最新回复(0)