我是想要得到双击pagecontrol的事件,让当前的页面关闭,比如像MYIE和傲游(maxthon)浏览器的功能一样.请问高手能做到吗???期待你的回复!!
非常感谢!!Andy peng
非常感谢!!Andy peng
解决方案 »
- 公司要求开发一个程序,麻烦给点思路
- 如何取得当前控件?
- 在回调函数操作中self怎么报未定义错误呢?(急)
- ePass1000ND官方例子的一个问题
- 安装程序运行时客户端出现没有注册的错误?
- 求助:SQL诗句问题
- 繁體中粘貼簡體網頁出現“?”,請幫忙。
- 关于最小化的问题,急急急!!!
- TForm.Create(Application) 与 Tfrom.Create(self)的区别是什么?
- 當我點擊treeview的一個結點后, 用遞歸找到該結點下的所有子結點,高分相求.
- ----------大家来看一个往多页面浏览器添加按钮的问题,100分!UP有分!----------
- 发布一个小游戏,大家支持我一下
begin
Application.OnMessage:=AppMessage;
end;procedure TfrmFcp.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
if (Msg.message = WM_LBUTTONDBLCLK)and(Msg.hwnd=PageControlfcp.Handle) then//在pagecontrol上双击鼠标
begin
runFileClose(Currenteditor);//执行的操作
end;
Handled:=False;
end;
学习...
从TPageControl继承一个新类TMyPage来改写一下就可以了,你也可以将下面这个写成组件.
----------------------------------------------------------------unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure MyPageEvent(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; TMyPage = class(TPageControl) public
constructor Create(AOwner: TComponent);override; published
property OnDblClick;
end;
var
Form1: TForm1;implementation{$R *.dfm}{ TMyPage }constructor TMyPage.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
ControlStyle := [csClickEvents, csDoubleClicks, csOpaque];
end;procedure TForm1.Button1Click(Sender: TObject);
var
MyPage: TMyPage;
MyTab: TTabSheet;
begin
MyPage := TMyPage.Create(Self);
MyPage.Parent := Self;
MyPage.Top := 20;
MyPage.Left := 30;
MyPage.OnDblClick := MyPageEvent; MyTab := TTabSheet.Create(Self);
MyTab.Caption := 'TabSheet1';
MyTab.PageControl := MyPage; MyTab := TTabSheet.Create(Self);
MyTab.Caption := 'TabSheet2';
MyTab.PageControl := MyPage;
end;procedure TForm1.MyPageEvent(Sender: TObject);
begin
if (Sender is TMyPage) then
begin
ShowMessage((Sender as TMyPage).ActivePage.Caption);
(Sender as TMyPage).ActivePage.Free;
end;
end;
end.