源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C语言创建windows窗口实例

  • 时间:2021-03-26 14:02 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C语言创建windows窗口实例
耐得住寂寞,禁得起诱惑,这就是程序人生 [b]步骤:[/b] 1.在WinMain中定义各种变量 2.注册窗口类RegisterClass 3.创建窗口CreateWindow 4.显示窗口和更新窗口
[u]复制代码[/u] 代码如下:
ShowWindow (hwnd, iCmdShow) ;      UpdateWindow (hwnd) ;
5.消息循环
[u]复制代码[/u] 代码如下:
while (GetMessage (&msg, NULL, 0, 0))      {           TranslateMessage (&msg) ;           DispatchMessage (&msg) ;      }
[b]完整代码:[/b]
[u]复制代码[/u] 代码如下:
#include <windows.h>    LRESULT CALLBACK MyProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )  {       MSG      msg;       HWND     hwnd;       static TCHAR szAppName[] = "hl";         WNDCLASS wndclass;       wndclass.style        = CS_HREDRAW | CS_VREDRAW;       wndclass.cbClsExtra   = 0;       wndclass.cbWndExtra   = 0;       wndclass.lpfnWndProc  = MyProc;       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= szAppName;         if(!RegisterClass(&wndclass))       {            MessageBox(NULL,TEXT("error"),TEXT("title"),MB_ICONERROR);            return 0;       }       hwnd = CreateWindow(szAppName,                                TEXT("Hello"),                                WS_OVERLAPPEDWINDOW,                                CW_USEDEFAULT,                                CW_USEDEFAULT,                                CW_USEDEFAULT,                                CW_USEDEFAULT,                                NULL,                                NULL,                                hInstance,                                NULL                                );       ShowWindow(hwnd,nShowCmd);       UpdateWindow(hwnd);         while(GetMessage(&msg,hwnd,0,0))       {            TranslateMessage(&msg);            DispatchMessage(&msg);       }       return msg.wParam;  }    LRESULT CALLBACK MyProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)  {         switch(message)       {       case WM_DESTROY:            PostQuitMessage(0);            return 0;       }       return DefWindowProc(hwnd,message,wParam,lParam);  } 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部