zoukankan      html  css  js  c++  java
  • Delphi主窗口任务栏菜单的问题(转发WM_SYSCOMMAND到Application)

    Delphi的VCL框架在创建应用时TApplication是一个自动创建的隐藏窗口,其它创建的窗口是自动以该窗口为窗口,这就导致创始的主窗口在任务栏的系统菜单只有三项,只要在主窗口的Create事件中将系统菜单用Application的系统菜单替换,并将SysCommand消息转发到主窗口就正常了。

    unit Unit1;

    interface

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;

    type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
      private
        procedure OnMessage(var Msg: TMsg; var Handled: Boolean);
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.FormCreate(Sender: TObject);
    begin
      GetSystemMenu(Application.Handle,True);
      Application.OnMessage:=OnMessage;
    end;

    procedure TForm1.OnMessage(var Msg: TMsg; var Handled: Boolean);
    begin
      case Msg.message of
        WM_SYSCOMMAND:
          begin
            SendMessage(Handle,Msg.message,Msg.wParam,Msg.lParam);
            Handled:=True;
          end;
      end;
    end;

    end.

    http://blog.csdn.net/missmecn/article/details/5319592

  • 相关阅读:
    JS动态计算rem
    Vue数据双向绑定原理
    NOI2019 退役记
    友情链接
    算法博客总结
    总结各类错误(always online)
    学习笔记:powerful number求积性函数前缀和
    LOJ#2409. 「THUPC 2017」小 L 的计算题 / Sum(生成函数)
    多项式简单操作
    LOJ #3103. 「JSOI2019」节日庆典
  • 原文地址:https://www.cnblogs.com/findumars/p/5290050.html
Copyright © 2011-2022 走看看