当前位置 : 主页 > 编程语言 > delphi >

delphi – 将上下文菜单添加到TPageControl的选项卡中

来源:互联网 收集:自由互联 发布时间:2021-06-23
我希望将一个上下文菜单添加到TPageControl的(只是)选项卡中,与选项卡区域不同(例如Delphi提供的文件/页面选项).我知道我可以用TRzPageControl做到这一点,但TPageControl怎么可能呢? 如果您不
我希望将一个上下文菜单添加到TPageControl的(只是)选项卡中,与选项卡区域不同(例如Delphi提供的文件/页面选项).我知道我可以用TRzPageControl做到这一点,但TPageControl怎么可能呢? 如果您不想创建组件,可以始终使用PageControl的OnContextPopup,并根据鼠标位置切换其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;
网友评论