delphi Treeview弹出右键菜单?

图片说明
我只想右键‘222’,‘111’的时候右键菜单才弹出,右键其他文字不弹出菜单,代码如何实现啊?
‘222’,‘111’是分组名称,也行是其他的文字。麻烦老师给点参考。

图片说明

 unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ComCtrls;

type
  TForm1 = class(TForm)
    TreeView1: TTreeView;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin

  if (Node.Parent <> nil) and (Node.Parent.Text = 'È«²¿´ý°ì') then
      treeView1.PopupMenu := PopupMenu1
  else
      treeView1.PopupMenu := nil;

end;

end.

设置好treeview的PopupMenu 然后在下面的事件里写条件就行了

 procedure TForm1.TreeView1ContextPopup(Sender: TObject; MousePos: TPoint;
  var Handled: Boolean);
var
  nNode: TTreeNode;
begin
  nNode := TTreeView(Sender).GetNodeAt(MousePos.X, MousePos.Y);
  Handled := True;
  if nNode = nil then
    Exit;
  if (nNode.Text = '111') or (nNode.Text = '222') then {这行改成你需要的判断条件}
  begin
    nNode.Selected := True;
    Handled := False;
  end;
end;