一、windows識別初始字元#作為ASCII形式資料的開頭
二、自訂資源的使用:感覺沒啥用,不寫了。
//LoadResource FindResource LockResource
注意事項:
HRSRC FindResource( HMODULE hModule, // module handle LPCTSTR lpName, // resource name LPCTSTR lpType // resource type);
對於這裡的LPCTSTR lpName 如果在資源ID裡寫的是"AnnabelLee",那這裡直接用TEXT ("AnnabelLee"),而如果資源裡沒用雙引號,而是普通的:IDR_ANNABLELEE,那這裡要用 MAKEINTRESOURCE(IDR_ANNABLELEE);
讀取文本資源(TEXT資源 .txt檔案)樣本:
hResource = LoadResource (hInst, FindResource (hInst, TEXT ("AnnabelLee"), TEXT ("TEXT"))) ; pText = (char *) LockResource (hResource) ; iNumLines = 0 ; while (*pText != '\\' && *pText != '\0') { if (*pText == '\n') iNumLines ++ ; pText = AnsiNext (pText) ; } *pText = '\0' ;
三、菜單
當使用者選擇一個菜單時,產生幾個訊息,一般這些訊息不需要處理,直接交給DefWindowProc即可。
WM_INITMENU
WM_MENUSELECT
WM_INITMENUPOPUP
WM_COMMAND
WM_SYSCOMMAND -- 系統功能表。最大化最小化之類的
WM_MENUCHAR -- 非熱鍵 --- 預設是由DefWindowProc發出蜂鳴聲
右鍵彈出浮動菜單:
初始化: LoadMenu
右鍵事件:TrackPopupMenu
自訂系統功能表:
HMENU GetSystemMenu( HWND hWnd, // handle to window BOOL bRevert // reset option); -- 擷取系統功能表, bRevert 為真將系統功能表恢複為最原始狀態
擷取後,進行一般操作。 AppendMenu, DeleteMenu, InsertMenu, ModifyMenu,RemoveMenu,
EnableMenuItem,EM_GETSEL,F
DeleteMenu 刪除並清除
RemoveMenu 刪除不清除
其他功能表命令:
強制重新整理 DrawMenuBar,GetSubMenu,GetMenuItemCount,GetMenuItemID,
ChecnMenuItem,GetMenuString,GetMenuState,DestroyMenu
四、加速鍵,在資源裡定義加速項對應關係,然後初始化的時候LoadAccelerators即可。