Form窗体,双击标题栏时窗口就最大化显示,我不想显示最大化,即用户双击时没有任何反应,我该如何截获这个消息呢,请大家多多帮忙,因我是初学者,最好附上源码,不胜感激。

解决方案 »

  1.   

    Procedure WMSysCommand(Var message : TMessage) ; Message WM_SYSCOMMAND ;Procedure TMainForm.WMSysCommand(Var Message : TMessage) ;
    begin
        Case message of 
             SC_MINIMIZE    : //最小化
             SC_MAXMIZE     : //最大化    end ;
    end ;
      

  2.   

    多谢 hhzqf1980(hh),我试一下。
      

  3.   

    hhzqf1980(hh),我编译时怎么报错:ordinal type required ;undeclared identifier:sc_maxmize,这是什么原因啊,难道需要在unit中加入什么类吗?还有就是sc_maxmize后加入什么内容呢,我定位form的left、top、width、height值可以吗?希望再次看到你的回复。
      

  4.   

    首先
    public const int SC_MAXMIZE = 61488;
      

  5.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type
      TForm1 = class(TForm)
      private
        { Private declarations }
      public
      procedure aa(var message:twmnclbuttondblclk); message wm_nclbuttondblclk;
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure tform1.aa(var message:twmnclbuttondblclk);
    begin
     if message.HitTest=htcaption then
        begin
         message.HitTest:=htclient;
        end;
    end;end.  
      

  6.   

    你查一下帮助Delphi 的Win32 SDK 中关于WM_SYSCOMMAND的帮助,应该能找出SC_MAXMIZE 的常数值
      

  7.   

    大家来加入DELPHI程序群1805366 一起进步