文字列のグリッドでgoEditingをオンにして、ユーザーがクリックしてエディタに入る必要がないようにしました。StringGridでgoEditingがMouseDownイベントが発生しないようにします
右クリックしたときに、私のMouseDownイベントが呼び出されるのではなく、ポップアップが下に表示されます。
この動作をオフにする方法はありますか?
文字列のグリッドでgoEditingをオンにして、ユーザーがクリックしてエディタに入る必要がないようにしました。StringGridでgoEditingがMouseDownイベントが発生しないようにします
右クリックしたときに、私のMouseDownイベントが呼び出されるのではなく、ポップアップが下に表示されます。
この動作をオフにする方法はありますか?
goEditingモードは、集束グリッドセルは常にアクティブ編集コントロールが含まれていることを意味します。 goEditingなしでは、ユーザーがクリックして編集モードに入るまで、編集コントロールは表示されません。
goEditingモードでは、右クリックするとグリッドではなく編集コントロールを右クリックします。その結果、ポップアップメニューは、グリッドのポップアップメニューではなく、エディットコントロールのポップアップメニューになります。
エディットコントロールのデフォルトのポップアップメニューを独自のものに置き換えたい場合は、グリッドが使用するエディットコントロールインスタンスを変更するか(編集コントロールインスタンスが1つしか移動しないフォーカスが動くにつれてセルからセルへ)、または独自のセルエディタタイプを指定することによって、
私はここでは具体的には言えません。最後にDelphiグリッドコントロールの内部で作業してから10年以上経ちました。
ありがとう、ダニー!私は "dthorpe"の署名を見て、すぐにあなたがまだ製品に関わっている数年の間に私が様々な場所で見たあなたの名前を思い出しました! Delphiの質問にお答えしています。 - グリッドのこの操作について私が気にするのは、それが改造されているということです。ユーザーは、入力を開始したかどうかによって、マウスの右クリックから異なる結果が得られます。それは非標準ですか? (私は不平を言っていない、理解しようとしている!) – RobertFrank
はい、文字列グリッドは、赤い頭の踏み台です。ほとんどの開発作業はTDBGridに組み込まれました。シナリオによっては、メモリ内のテーブルにデータを設定し、TStringGridを使用せずにTDBGridを使用することで、より良い結果が得られる場合があります。 – dthorpe
もう一度ありがとう!そして、TDBGridの提案 – RobertFrank