zoukankan      html  css  js  c++  java
  • 系统菜单的控制,使菜单项灰显及恢复功能

    Const
       MyMove = 1000; 

      //自定义消息(全局)

    M := GetSystemMenu(Application.Handle, false); 

    //获取系统菜单,M定义属性为HMENU

    DeleteMenu(M, 0, MF_BYPOSITION); 

    //删除系统菜单中的第一菜单项

    InsertMenu(M, 0, MF_ByPosition+MF_String, 1000, '还原(&R)' ); 

    //在指定位置插入菜单项

    SetMenuItemBitmaps(M, 0, MF_BYPOSITION, BMP1.Handle, BMP1.Handle); 

    //设置菜单项图标

    EnableMenuItem(M, MyMove, MF_BYCOMMAND+MF_DISABLED+MF_GRAYED); 

    //使菜单项失效并灰显

    EnableMenuItem(M, MyMove, MF_BYCOMMAND+MF_ENABLED); 

    //使菜单项恢复功能,MyMove处可以是自定义消息,也可以是系统消息,如对关闭功能的操作,可设置消息为SC_CLOSE

    对系统菜单项的功能实现,可以在OnCreate事件中加入

    Application.OnMessage := wmHMessages;

     过程实现

    Procedure Tform1.wmHMessages(var Msg : TMsg; var Handled : Boolean);
    begin
      if Msg.message = WM_SYSCOMMAND then
        begin
        if Msg.wParam = MyMove then
          begin
          SendMessage(Form1.Handle, WM_SYSCOMMAND, SC_MOVE, 0);
          end;
        end;

    end;

    //  SC_MINIMIZE 最小化
    //  SC_MAXIMIZE 最大化
    //  SC_CLOSE  关闭
    //  SC_RESTORE  还原
    //  SC_SIZE 大小
    //  SC_MOVE 移动

  • 相关阅读:
    第七届蓝桥杯JavaA组省赛真题
    第七届蓝桥杯JavaA组省赛真题
    第七届蓝桥杯JavaA组省赛真题
    第七届蓝桥杯JavaA组省赛真题
    Qt自定义model
    Qt Model/View(官方翻译,图文并茂)
    ddd
    java整合spring和hadoop HDFS
    hadoop-2.7.3 在windows环境下安装(无需Cygwin)
    Web Api 自动生成帮助文档
  • 原文地址:https://www.cnblogs.com/gaodu2003/p/1498004.html
Copyright © 2011-2022 走看看