请教如何实现双击PageControl中的某一TabSheet时将其Free. 请教高手如何实现双击TabSheet将其Free掉。谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果想让TabSheet响应鼠标双击的事件,那么可以做到。但是想要双击把它Free掉的话,应该是会出错的。至少我做不出来,看看其他人的办法吧。TabSheet响应鼠标双击的事件: procedure FormCreate(Sender: TObject); private { Private declarations } OldWProc :TWndMethod; public { Public declarations } procedure WinProc(var message :TMessage); end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin OldWProc := TabSheet1.WindowProc; TabSheet1.WindowProc := WinProc;end;procedure TForm1.WinProc(var message: TMessage);begin if message.Msg = WM_LBUTTONDBLCLK then begin ShowMessage('Catch WM_LBUTTONDBLCLK'); end; if Assigned(OldWProc) then OldWProc(message);end; private { Private declarations } FTickCount: DWORD;.........procedure TForm1.PageControl1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin if GetTickCount - FTickCount <= GetDoubleClickTime then if Assigned(TPageControl(Sender).ActivePage) then TPageControl(Sender).ActivePage.Free; FTickCount := GetTickCount;end;procedure TForm1.PageControl1Change(Sender: TObject);begin FTickCount := 0;end; delphi生成的EXE文件怎么样能成汉字名? 为什么我的组件上放不了其他组件.高手帮忙 DBGRID的picklist問題,在线等! 1394视频编程(高手请进) 关于Delphi+Access的一条sql,解决马上给分,急,请帮忙了! 关于winsocket的问题! 关于DELPHI中使用SQL的问题 高分求助 Delphi 输出到EXCEL格式的问题 高人请进-------------这个FastReport的表达式,到底哪里错了? 没办法,求助各位了。 隐藏或关闭不了进程的方法--------欢迎高手在线讨论
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
OldWProc :TWndMethod;
public
{ Public declarations }
procedure WinProc(var message :TMessage);
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
OldWProc := TabSheet1.WindowProc;
TabSheet1.WindowProc := WinProc;
end;procedure TForm1.WinProc(var message: TMessage);
begin
if message.Msg = WM_LBUTTONDBLCLK then
begin
ShowMessage('Catch WM_LBUTTONDBLCLK');
end;
if Assigned(OldWProc) then OldWProc(message);
end;
{ Private declarations }
FTickCount: DWORD;
.........procedure TForm1.PageControl1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if GetTickCount - FTickCount <= GetDoubleClickTime then
if Assigned(TPageControl(Sender).ActivePage) then
TPageControl(Sender).ActivePage.Free;
FTickCount := GetTickCount;
end;procedure TForm1.PageControl1Change(Sender: TObject);
begin
FTickCount := 0;
end;