我希望将上下文菜单添加到TPageControl的(只是)标签中,与标签区域不同(例如,像Delphi一样提供文件/页面选项)。我知道我可以使用TRzPageControl做到这一点,但是请问如何使用TPageControl做到呢?

最佳答案

如果不想创建组件,则始终可以使用PageControl的OnContextPopup,然后根据Mouse位置切换其PopupMenu。

假设您已经创建了2个PopuMenus pmTabs和pmPages,则下面的代码在点击选项卡区域时将显示第1个,否则将显示第2个:

procedure TForm2.PageControl1ContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
begin
  with Sender as TPageControl do begin
    if [htOnItem] * GetHitTestInfoAt(MousePos.X, MousePos.Y) <> [] then
      PopupMenu := pmTabs
    else
      PopupMenu := pmPages;
  end;
end;

关于delphi - 将上下文菜单添加到TPageControl的选项卡,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7651094/

10-08 22:04