問題タブ [tcustomcontrol]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - TCustomControlはどのように入力フォーカスを受け取りますか?
TCustomControlに基づいたグリッドコントロールを作成しているので、すべての構造、ペイント、ナビゲーションを自分で処理できます。私が理解できないように見えるビットはこれです:
コンストラクターで、ControlStyleを次のように設定します。
コントロールがマウスイベントを処理する場合、セットの選択などを実行できるという考えです。コントロールがフォーカスを受け取らないことに気づきました。フォームにTComboBoxがあり、フォームが作成されるときに明確にフォーカスされます。グリッド内で何度クリックしても、フォーカスはコンボボックスにとどまります。
もちろん、これはキーボードイベントの処理にも影響します。
問題は、コントロールをクリックしたときにフォーカスがコントロールに移動する必要があるとどのように判断されるかということです。
delphi - スクロールバーのサムトラックのサイズを変更するにはどうすればよいですか
メモ帳を開いて 10 行を追加し、エディターのサイズを変更して 9 行のみを表示すると、サム トラック (スクロール バー上のドラッグ可能なブロック) は垂直スクロール バーのほぼ全長になります。数千行を追加すると、サム トラックの高さはわずか数ピクセルになります。
水平スクロール バーを実装した TCustomControl の子孫でこの動作を複製したいと思います。そこで、ウィンドウ スタイル (CreateParams 内) に WS_HSCROLL を追加し、WM_HSCROLL のハンドラーを実装しました。途中で、SetScrollRange と SetScrollPos を使用してサム トラックの範囲と位置を管理しますが、小さなバグはほぼ完全な正方形のままです。
私は何が欠けていますか?
delphi - Tpanel のように動作する TCustomControl を作成する方法
Tpanel のように動作する TCustomControl を作成するにはどうすればよいですか? たとえば、ラベルや画像などのコンポーネントをドロップできる MyCustomComponent などです。
delphi - TCustomControlsにTAboutBoxを追加する方法は?
カスタムコンポーネントにaboutbox/dialogboxを追加したい。小さなボタン[...]をオブジェクトインスペクターに表示するにはどうすればよいですか?Timageコンポーネントに画像を割り当てるのと同じです。
delphi - TControlBarを使用して、バンドの移動を1行に制限するにはどうすればよいですか?
現在のプロジェクトでTControlBarコンポーネントを使用していますが、バンドを移動しているときにコントロールが余分な行を描画する際に問題が発生します。
基本的に私が欲しいのは、ControlBarに常に高さが固定された1行だけがあり、バンドがドラッグされている間はそれをエスケープできないようにすることです。
どうすればこれを達成できますか?