⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex2_2.cpp

📁 mfc例题与练习第二版 例题与练习第二版
💻 CPP
字号:
//【例2.2】显示一个窗口的Windows应用程序。

#include<windows.h>  //包含windows.h头文件
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM );//窗口函数声明
/*入口函数 WinMain()*/
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    LPSTR lpCmdLine,int nCmdShow) {
    WNDCLASS wndclass;		//定义窗口类结构变量
    HWND hwnd; 			//定义窗口句柄
    MSG msg;			//定义消息结构变量
       				//以下定义窗口类各属性
    wndclass.style = CS_HREDRAW|CS_VREDRAW;//改变窗口口大小则重画
    wndclass.lpfnWndProc = WndProc; 		//窗口函数为  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 = "Ex2_2"; 	 //窗口类名为Ex2_2
	//注册窗口类。若失败则返回
    if(! RegisterClass(&wndclass)) return FALSE; 
       //创建窗口
    hwnd = CreateWindow("Ex2_2",			//窗口类名  Ex2_2
						"Ex2_2",				//窗口名EX2_2
						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)) {	    //获取消息,遇WM_QUIT退出循环
      	TranslateMessage(&msg);		//键盘消息转换
       	DispatchMessage(&msg);		//派送消息给窗口函数
       }
    return msg.wParam;						//返回退出值
}
//窗口函数
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,
WPARAM wParam, LPARAM lParam){
	switch(message)	 {  //根据消息值转相应的消息处理
	case WM_PAINT:			//重画窗口客户区消息
              HDC hdc;			//定义设备描述表句柄
              PAINTSTRUCT ps;		//定义绘图信息结构变量
              hdc = BeginPaint(hwnd,&ps);	//获取需重画窗口的设备描述表句柄
              TextOut(hdc, 0, 0,"This is my Windows application.",26);  //输出文本,仅显示了26个字母
              EndPaint(hwnd,&ps);		//结束要重画的窗口
              return 0;
	case  WM_DESTROY:			//撤消窗口消息
              PostQuitMessage(0);		//产生退出程序消息WM_QUIT
              return 0;
    }
    return DefWindowProc(hwnd, message, wParam, lParam);  //其它转缺省窗口函数
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -