1. 程式人生 > >win32視窗程式 -----1、載入資源圖示

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); }

執行結果如下:
這裡寫圖片描述