Windows程序设计读书笔记- 菜单及其他资源。 - 翔鹤岭- 博客园

一、windows识别初始字符#作为ASCII形式数据的开头

 

二、自定义资源的使用:感觉没啥用,不写了。

  //LoadResource  FindResource  LockResource

  注意事项:

HRSRC FindResource( HMODULE , // module handle LPCTSTR , // resource name LPCTSTR // resource type);

  对于这里的LPCTSTR   如果在资源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 --  系统菜单。{zd0}化最小化之类的

  WM_MENUCHAR --  非热键  --- 默认是由DefWindowProc发出蜂鸣声

 

  右键弹出浮动菜单:

    初始化: LoadMenu    

    右键事件:TrackPopupMenu

 

  自定义系统菜单:

    HMENU GetSystemMenu( HWND , // handle to window BOOL // reset option); -- 获取系统菜单, 为真将系统菜单恢复为xxx状态

    获取后,进行一般操作。  AppendMenu, DeleteMenu, InsertMenu, ModifyMenu,RemoveMenu,

                EnableMenuItem,EM_GETSEL,F

    DeleteMenu  删除并xx

    RemoveMenu  删除不xx

 

  其他菜单命令:

    强制刷新 DrawMenuBar,GetSubMenu,GetMenuItemCount,GetMenuItemID,

    ChecnMenuItem,GetMenuString,GetMenuState,DestroyMenu

 

四、加速键,在资源里定义加速项对应关系,然后初始化的时候LoadAccelerators即可。

郑重声明:资讯 【Windows程序设计读书笔记- 菜单及其他资源。 - 翔鹤岭- 博客园】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——