TCustomControlに基づいたグリッドコントロールを作成しているので、すべての構造、ペイント、ナビゲーションを自分で処理できます。私が理解できないように見えるビットはこれです:
コンストラクターで、ControlStyleを次のように設定します。
ControlStyle := ControlStyle + [csCaptureMouse, csClickEvents,
csDoubleClicks, csNeedsBorderPaint, csPannable];
コントロールがマウスイベントを処理する場合、セットの選択などを実行できるという考えです。コントロールがフォーカスを受け取らないことに気づきました。フォームにTComboBoxがあり、フォームが作成されるときに明確にフォーカスされます。グリッド内で何度クリックしても、フォーカスはコンボボックスにとどまります。
もちろん、これはキーボードイベントの処理にも影響します。
問題は、コントロールをクリックしたときにフォーカスがコントロールに移動する必要があるとどのように判断されるかということです。