怎样给ToolButton发消息让PopupMenu弹出来
给ToolButton关联一个PopupMenu, 点击ToolButton就弹出PopupMenu。如果不用鼠标去点击,而是通过给ToolButton发消息让PopupMenu弹出来,可以做到吗?怎么做?
[解决办法]
handle是当前窗体的handle,此窗体包含了消息定义,和响应.....
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, ToolWin, StdCtrls;
const
MY_MSG = WM_USER+100;
type
TForm1 = class(TForm)
ToolBar1: TToolBar;
ToolButton1: TToolButton;
PopupMenu1: TPopupMenu;
OK1: TMenuItem;
Button1: TButton;
procedure ToolButton1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure MYMSG(var MSG: TMessage);message MY_MSG;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.MYMSG(var MSG: TMessage);
begin
ToolButton1Click(nil);
end;
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
PopupMenu1.Popup(ToolButton1.Left,ToolButton1.Top);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
PostMessage(Handle,MY_MSG,0,0);
end;
end.