2010. január 13., szerda
Create a popup menu for a tab of a TPageControl
Problem/Question/Abstract:
How to create a popup menu for a tab of a TPageControl
Answer:
{ ... }
uses
commctrl;
procedure TabMenuPopup(APageControl: TPageControl; X, Y: Integer; );
var
hi: TTCHitTestInfo;
TabIndex: Integer;
p: TPoint;
begin
hi.pt.x := X;
hi.pt.y := Y;
hi.flags := 0;
TabIndex := APageControl.Perform(TCM_HITTEST, 0, longint(@hi));
p.x := APageControl.Left + X;
p.y := APageControl.Top + y;
p := ClientToScreen(p);
{Allows use of different menus for each tab...}
case TabIndex of
0: {on the first tab...}
PopupMenu1.Popup(P.x, P.Y);
1: {on the second tab...}
PopupMenu2.Popup(P.x, P.Y);
end;
end;
end;
procedure TForm1.PageControl1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Button = mbRight then
begin
TabMenuPopup(PageControl1, X, Y);
end;
end;
Feliratkozás:
Megjegyzések küldése (Atom)
Nincsenek megjegyzések:
Megjegyzés küldése