vc环境下的窗口程序

来源:互联网 发布:js 文字字数限制 编辑:程序博客网 时间:2024/05/20 00:14

vc6.0中,创建一个win32应用程序的步骤总结如下:

1、编写WinMain函数

2、设计窗口类(WNDCLASS)

3、注册窗口类

4、创建窗口

5、显示并更新窗口

6、编写消息循环

7、编写窗口过程函数


#include<windows.h>
#include<stdio.h>LRESULT CALLBACK WndProc(HWND hMainWnd,UINT message,WPARAM wParam,LPARAM lparam);char szClassName[]="windowscalss1";//窗口结构体名称char szAppTitle[]="windows API";int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpszCmdParam,INT nCmdShow)  //WinMain()函数定义{HWND hMainWnd;//窗口句柄MSG msg;WNDCLASS myWC;if(!hPrevInstance){myWC.style=CS_HREDRAW|CS_VREDRAW;myWC.lpfnWndProc=WndProc;//本窗口的消息处理函数myWC.cbClsExtra=0;myWC.cbWndExtra=0;myWC.hInstance=hInstance;//当前应用程序的实例句柄myWC.hIcon=LoadIcon(NULL,IDI_APPLICATION);//窗口图标myWC.hCursor=LoadCursor(NULL,IDC_ARROW);//窗口光标myWC.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//窗口背景颜色myWC.lpszClassName=szClassName;myWC.lpszMenuName=NULL;RegisterClass(&myWC);//注册窗口}hMainWnd=CreateWindow(szClassName,szAppTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,600,400,NULL,NULL,hInstance,NULL);ShowWindow(hMainWnd,SW_SHOWNORMAL);UpdateWindow(hMainWnd);while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}return msg.wParam;}LRESULT CALLBACK WndProc(HWND hMainWnd,UINT message,WPARAM wParam,LPARAM lparam)//窗口函数的定义{char messageleft[]="the left button";char messageright[]="the right button";switch(message){case WM_CHAR:char szChar[20];sprintf(szChar,"char code is %c",wParam);MessageBox(hMainWnd,szChar,"char",0);break;case WM_RBUTTONDOWN:{MessageBox(GetFocus(),messageright,"RButtonPushDown",MB_OK|MB_ICONINFORMATION);break;}case WM_LBUTTONDOWN:{MessageBox(GetFocus(),messageleft,"LButtonPushDown",MB_OK|MB_ICONINFORMATION);break;}case WM_DESTROY:{PostQuitMessage(0);return 0;}default:break;}return DefWindowProc(hMainWnd,message,wParam,lparam);}

0 0