zoukankan      html  css  js  c++  java
  • Windows程序设计 读书笔记 菜单及其他资源。

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

  • 相关阅读:
    Java.io.outputstream.PrintStream:打印流
    Codeforces 732F. Tourist Reform (Tarjan缩点)
    退役了
    POJ 3281 Dining (最大流)
    Light oj 1233
    Light oj 1125
    HDU 5521 Meeting (最短路)
    Light oj 1095
    Light oj 1044
    HDU 3549 Flow Problem (dinic模版 && isap模版)
  • 原文地址:https://www.cnblogs.com/aoyihuashao/p/1716383.html
Copyright © 2011-2022 走看看