vc++可视化窗口开发

#include <windows.h>//一定要包含该头文件

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);//消息处理函数的声明,定义放在主函数后面

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)

{

   static TCHAR szAppName[]=TEXT("Hello");//注册的窗口类的名称,此处为"Hello"

   WNDCLASS wndclass;//定义了一个窗口类

   wndclass.style=CS_HREDRAW|CS_VREDRAW;

   wndclass.lpfnWndProc=WndProc;//此处关联了定义的消息处理函数

   wndclass.cbClsExtra=0;

   wndclass.cbWndExtra=0;

   wndclass.hInstance=hInstance;//实例句柄

   wndclass.hIcon=NULL;//窗口的图标,我们这里不设置

   wndclass.hCursor=LoadCursor(NULL,IDC_ARROR);//设置光标

   wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//画刷

   wndclass.lpszMenuName=NULL;

   wndclass.lpszClassName=szAppName;//类名称

   if(!RegisterClass(&wndclass))//注册窗口

      {

         MessageBox(NULL,TEXT("窗口注册失败"),szAppName,MB_ICONERROR);

         return 0;

      }

   //下面开始建立窗口

   HWND hwnd;

   hwnd=CreateWindow(szAppName,TEXT("The Hello Program"),

                                       CW_OVERLAPPEDWINDOW,

                                       CW_USEDEFAULT,

                                        CW_USEDEFAULT,

                                       CW_USEDEFAULT,

                                       CW_USEDEFAULT,

                                       NULL,

                                       hInstance,

                                       NULL);

   ShowWindow(hwnd,iCmdShow);

   UpdateWindow(hwnd);

   //接下来是消息循环,程序不断的从消息队列中取消息,让消息处理函数处理

   while(GetMessage(&msg,NULL,0,0))

   {

      TranslateMessage(&msg);

      DispatchMessage(&msg);

   }

   return msg.wParam;

}


//消息处理函数定义

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM)//此例子中我们只是处理简单的消息

{

   switch(message)

   {

      case WM_DESTROY:

            PostQuitMessage(0);

            return 0;

   }


   return ::DefWindowProc(hwnd,message,wParam,lParam);

}

参考资料:建议把问题转移到VC区

你可能感兴趣的:(vc++可视化窗口开发)