TTreeViewに関連付けられたTPopupMenuがありますが、ユーザーが特定のノードをクリックしたときにのみメニューを呼び出し(ポップアップ)したいと思います。では、ツリービューでコンテキストメニューをポップアップする方法はありますが、特定のツリーノードでポップアップする方法はありますか?
質問する
2809 次
2 に答える
11
Handled
イベントのパラメーターを使用しますOnContextPopup
。このパラメーターを True に設定すると、コンテキスト メニューが表示されなくなります。次のコードは、イベントにTTreeNode
渡されたカーソル位置からを取得する方法を示しています。一番上のものとは異なるものOnContextPopup
を右クリックした場合にのみ、ポップアップ メニューが表示されます。TTreeNode
procedure TForm1.TreeView1ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
begin
if TreeView1.GetNodeAt(MousePos.X, MousePos.Y) = TreeView1.TopItem then
Handled := True;
end;
于 2012-04-15T19:56:36.113 に答える
1
これは役立つかもしれません:
procedure TForm1.TreeView1ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
var node : TTreeNode;
begin
node := TreeView1.GetNodeAt(MousePos.X, MousePos.Y);
if not Assigned (node) then
Abort;
end;
于 2014-01-10T04:50:42.190 に答える