Tabs popup menu should only activate when clicked on the tabs area. Fixes issue #1456

This commit is contained in:
Ansgar Becker
2009-11-30 23:19:25 +00:00
parent 680bbcf0ac
commit 7fed732f40
2 changed files with 19 additions and 0 deletions

View File

@ -478,6 +478,7 @@ object MainForm: TMainForm
TabHeight = 22 TabHeight = 22
TabOrder = 1 TabOrder = 1
OnChange = PageControlMainChange OnChange = PageControlMainChange
OnContextPopup = PageControlMainContextPopup
OnMouseUp = PageControlMainMouseUp OnMouseUp = PageControlMainMouseUp
object tabHost: TTabSheet object tabHost: TTabSheet
Caption = 'Host' Caption = 'Host'
@ -6735,6 +6736,7 @@ object MainForm: TMainForm
end end
end end
object popupMainTabs: TPopupMenu object popupMainTabs: TPopupMenu
AutoPopup = False
Images = PngImageListMain Images = PngImageListMain
OnPopup = popupMainTabsPopup OnPopup = popupMainTabsPopup
Left = 72 Left = 72

View File

@ -698,6 +698,7 @@ type
procedure comboOnlyDBsKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure comboOnlyDBsKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure actFilterPanelExecute(Sender: TObject); procedure actFilterPanelExecute(Sender: TObject);
procedure TimerFilterVTTimer(Sender: TObject); procedure TimerFilterVTTimer(Sender: TObject);
procedure PageControlMainContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
private private
ReachedEOT : Boolean; ReachedEOT : Boolean;
FDelimiter: String; FDelimiter: String;
@ -8902,5 +8903,21 @@ begin
end; end;
procedure TMainForm.PageControlMainContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
var
ClickPoint: TPoint;
TabsHeight: Integer;
begin
// Activate tab popup menu only when clicked on tabs area.
TabsHeight := PageControlMain.TabHeight * PageControlMain.RowCount;
if MousePos.Y <= TabsHeight then begin
ClickPoint := PageControlMain.ClientToScreen(MousePos);
popupMainTabs.Popup(ClickPoint.X, ClickPoint.Y);
Handled := True;
end else
Handled := False;
end;
end. end.