首頁>技術>

給時間一點時間,讓過去過去,讓開始開始。。。

---- 網易雲熱評

一、圖示資源

1、注意圖示的大小,一個圖示檔案中,可以有多個不同大小的圖示。

2 載入

HICON LoadIcon(       HINSTANCE hInstance, // handle to application instance       LPCTSTR lpIconName   // name string or resource identifier); 成功返回HICON控制代碼

3、從註冊視窗設定

wc.hIcon = LoadIcon(g_hInstance,(LPCWSTR)IDI_ICON1);//預設左上角的圖示wc.hIconSm = LoadIcon(g_hInstance, (LPCWSTR)IDI_ICON2);

4、 透過訊息機制設定,在建立視窗的時候

  HICON hicon = LoadIcon(g_hInstance, (LPCWSTR)IDI_ICON1);       SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM)hicon);

5、繪製圖標

case WM_PAINT:     繪製圖標(hWnd);     break;void 繪製圖標(HWND hWnd){             //建立筆       PAINTSTRUCT p = {};       HDC hdc = BeginPaint(hWnd, &p);       HICON hico = LoadIcon(g_hInstance,(LPCWSTR)IDI_ICON3);       DrawIcon(hdc, 200, 200, hico);       EndPaint(hWnd, &p);}

二、游標資源

1、新增資源

游標的大小預設是32X32畫素,每個游標有熱點,是當前滑鼠的熱點

2、在視窗註冊時使用資源

wc.hCursor = LoadCursor(g_hInstance,(LPCWSTR)IDC_CURSOR1);

3、設定游標訊息

   case WM_SETCURSOR:       {              if (LOWORD(lParam)==HTCLIENT)//當滑鼠在客戶區              {                     HCURSOR hCur = LoadCursor(g_hInstance, (LPCWSTR)IDC_CURSOR1);                     SetCursor(hCur);                     return 0;//不讓系統預設處理所以直接跳過              }else if (LOWORD(lParam)==HTCAPTION)              {                     HCURSOR hCur = LoadCursor(g_hInstance, (LPCWSTR)IDC_CURSOR2);                     SetCursor(hCur);                     return 0;//不讓系統預設處理所以直接跳過              }       }              break;

三、不同客戶區,顯示不同內容

case WM_SETCURSOR:       {              if (LOWORD(lParam)==HTCLIENT)//當滑鼠在客戶區              {                     HCURSOR hCur = LoadCursor(g_hInstance, (LPCWSTR)IDC_CURSOR1);                     HCURSOR hCur2 = LoadCursor(g_hInstance,  (LPCWSTR)IDC_CURSOR2);                     RECT rcCli = {0};                     //獲取客戶區大小                     GetClientRect(hWnd, &rcCli);                     POINT pt = { 0 };                     //獲取螢幕座標                     GetCursorPos(&pt);                     //螢幕區轉為客戶區                     ScreenToClient(hWnd, &pt);                     if (pt.x<rcCli.right/2)                     {                           SetCursor(hCur);                     }                     else                     {                           SetCursor(hCur2);                           return 0;                     }                     //不讓系統預設處理所以直接跳過              }       }              break;

9
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • leetcode1773_go_統計匹配檢索規則的物品數量