一、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即可。