私はBDS 2006で私のアプリケーションの編集ボックスをマウスで右クリックしないようにしたいと考えています。 私はそれについてgoogledし、次のコードを見つけました。編集ボックスのマウス右クリックを避ける
これはフォームの有効化によって書かれています。
for i := 0 to Self.ControlCount-1 do
begin
if Self.Controls[i].ClassName = 'TEdit' then
begin
noPopUp := TPopupMenu.create(Self.Controls[i]);
TEdit(Self.Controls[i]).PopupMenu := noPopup;
end;
end;
これは、その親フォームで編集ボックスの正常に動作し、それはEDIT1のため正常に動作しますが、そこに多くの編集ボックスはフォーム上にあるので、私は、forループを書きました。しかし、グループボックスやパネルにエディットボックスがある場合、これらのパネルとグループボックスはフォームの子になります。
私の質問は、フォームが親ではないときに編集ボックスを右クリックするのを無効にする方法です。
編集ごとにポップアップを作成する必要はなく、複数の編集コントロールに同じポップアップを割り当てることができます。いずれの場合でも、空のポップアップを使用する代わりに、 'OnContextPopup'のイベントハンドラを設定し、 'Handled'パラメータを 'True'に設定する方が良いでしょう。 –