启动模式窗口, 当前窗口会收到一条 WM_CancelMode 消息; 改消息无参数.
本例效果图:
代码文件:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); protected procedure WMCancelMode(var Message: TWMCancelMode); message WM_CANCELMODE; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Memo1.Align := alLeft; Memo1.ScrollBars := ssVertical; Memo1.Clear; Position := poScreenCenter; end; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('ShowMessage'); end; procedure TForm1.Button2Click(Sender: TObject); begin InputBox('InputBox','Input',''); end; procedure TForm1.Button3Click(Sender: TObject); begin MessageBox(Handle, 'Test', 'MessageBox', 0); end; procedure TForm1.Button4Click(Sender: TObject); var form: TForm; begin form := TForm.Create(Self); form.Caption := 'Test'; form.Width := Width div 2; form.Height := Height div 2; form.Position := poDesktopCenter; form.ShowModal; end; procedure TForm1.WMCancelMode(var Message: TWMCancelMode); begin Memo1.Lines.Add('收到 WMCancelMode 消息'); Message.Result := 0; end; end.窗体文件:
object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 161 ClientWidth = 301 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 13 object Memo1: TMemo Left = 8 Top = 8 Width = 185 Height = 89 Lines.Strings = ( 'Memo1') TabOrder = 0 end object Button1: TButton Left = 207 Top = 23 Width = 75 Height = 25 Caption = 'Button1' TabOrder = 1 OnClick = Button1Click end object Button2: TButton Left = 207 Top = 54 Width = 75 Height = 25 Caption = 'Button2' TabOrder = 2 OnClick = Button2Click end object Button3: TButton Left = 207 Top = 85 Width = 75 Height = 25 Caption = 'Button3' TabOrder = 3 OnClick = Button3Click end object Button4: TButton Left = 207 Top = 116 Width = 75 Height = 25 Caption = 'Button4' TabOrder = 4 OnClick = Button4Click end end