diff --git a/source/main.dfm b/source/main.dfm index cc187413..81f61d90 100644 --- a/source/main.dfm +++ b/source/main.dfm @@ -478,6 +478,7 @@ object MainForm: TMainForm TabHeight = 22 TabOrder = 1 OnChange = PageControlMainChange + OnContextPopup = PageControlMainContextPopup OnMouseUp = PageControlMainMouseUp object tabHost: TTabSheet Caption = 'Host' @@ -6735,6 +6736,7 @@ object MainForm: TMainForm end end object popupMainTabs: TPopupMenu + AutoPopup = False Images = PngImageListMain OnPopup = popupMainTabsPopup Left = 72 diff --git a/source/main.pas b/source/main.pas index a283473e..ffec1b60 100644 --- a/source/main.pas +++ b/source/main.pas @@ -698,6 +698,7 @@ type procedure comboOnlyDBsKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure actFilterPanelExecute(Sender: TObject); procedure TimerFilterVTTimer(Sender: TObject); + procedure PageControlMainContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean); private ReachedEOT : Boolean; FDelimiter: String; @@ -8902,5 +8903,21 @@ begin 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.