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

概要:
一、窗口的创建过程主要包含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);
 }

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值