win32窗口程序 -----1、加载资源图标

来源:互联网 发布:湖南卫视杜海涛知乎 编辑:程序博客网 时间:2024/06/06 04:50

概要:
一、窗口的创建过程主要包含5个步骤
1、设计窗口
2、注册窗口
3、创建窗口
4、显示窗口
5、消息循环
二、加载图标资源的语句如下:
ex.hIcon = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON2));
ex.hIconSm = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1));
ex.hCursor = LoadCursor(hInstance,MAKEINTRESOURCE(IDC_CURSOR1));
//如果 ex.hIcon; ex.hIconSm; ex.hCursor;赋值为NULL则选择默认的图标
三、添加资源的步骤
资源文件————右键属性_———-添加——-资源文件。。。。。。

完整代码如下

#include <Windows.h>#include "resource.h"       int i=0;              /*LRESULT 就是longresult,L表明为long,    result表明这个函数返回值是某个结果    CALLBACK表明为回调函数    */ LRESULT CALLBACK MyWNDPROC(HWND, UINT, WPARAM, LPARAM); //消息处理函数的声明int  CALLBACK WinMain( HINSTANCE hInstance,  //当前应用程序实例的句柄                      HINSTANCE hPrevInstance, //应用程序前一个实例的句柄                       LPSTR lpCmdLine,     //命令行参数                      int nCmdShow)       //决定这个窗口显示方式的参数{              HWND hWnd;                MSG msg;                // HDC hdc;              WNDCLASSEX ex;   // WNDCLASSEX是结构体 该语句定义了一个为ex的 结构体              ex.style  = CS_HREDRAW | CS_VREDRAW;   //  窗口水平刷新、垂直刷新              ex.cbSize =  sizeof(ex);   //ex的大小              ex.cbClsExtra   =  0; //存放次结构体的一些附加信息,通常为0              ex.cbWndExtra   =  0; //这段空间用来存放此窗口特有的数据 ,通常为0              ex.hInstance    =  hInstance;  //应用程序句柄,由主函数传递进来              ex.hIcon=  LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON2));                       ex.hIconSm = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1));                     ex.hCursor =LoadCursor(hInstance,MAKEINTRESOURCE(IDC_CURSOR1));                 ex.lpszMenuName =  NULL;              ex.hbrBackground=  CreateSolidBrush(RGB(171,171,226));                                            //   指定背景画刷句柄              ex.lpszClassName= "123";    //指定窗口的名字,用于CreateWindow()函数              ex.lpfnWndProc =MyWNDPROC;//lpfnWndProc是指向函数(MYWNDPROC())的指针,             //2.注册             RegisterClassEx(&ex);            //3.创建                    hWnd=CreateWindow(ex.lpszClassName,"Hello world!!!",WS_OVERLAPPEDWINDOW,100,100,                    600,600,NULL,NULL,hInstance,NULL);            //4.显示                ShowWindow(hWnd,nCmdShow) ;             //5.消息循环                while(GetMessage(&msg,NULL,0,0))                {         //翻译消息                          TranslateMessage(&msg) ;                          //分发消息                          DispatchMessage(&msg) ;                }} LRESULT CALLBACK MyWNDPROC(HWND hWnd,UINT Msg, WPARAM wParam, LPARAM lParam) {         HDC hdc;         PAINTSTRUCT ps;     switch (Msg)     {             case   WM_CLOSE:  //点击窗口右上角关闭键的消息                   PostQuitMessage(0);                    break;     }        return DefWindowProc(hWnd,Msg,wParam,lParam); }

运行结果如下:
这里写图片描述

原创粉丝点击