問題タブ [ownerdrawn]
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 - csOwnerDrawFixed スタイルの Combobox はどのように csDropDown スタイルのように動作しますか?
スタイル プロパティをcsOwnerDrawFixedに設定してTComboBoxコンポーネントを使用しています。OnDrawItemを実装しています。すべて正常に動作します。次に、 csDropDownスタイルがあったときのように動作するコンボ ボックスが必要です (csOwnerDrawFixed スタイルでは、csDropDownList スタイルのように動作します)。つまり、内部エディターを使用しています。これは可能ですか?
c# - ListView コントロールのちらつき (OwnerDraw、Virtual)
この質問は、 ownerdraw と virtualmode を使用したリストビューでのちらつきのフォローアップと見なされる場合があります。
ListView
コントロールがありVirtual mode
、カスタム描画を実行しようとしています。アイテムのレンダリングは、次のメソッド オーバーライドを介して行われます。
参照されている質問で述べたように、カスタム描画では、マウス オーバー イベントでちらつきが発生します。デバッガーは、発生するカスタム描画イベントが過剰なために発生することを教えてくれます。
今 - 参照された質問に対する受け入れられた回答は、次のことを示しています。
これは .NET の ListView のバグであり、ダブル バッファリングでは回避できません。
では、その情報はどの程度信頼できるのでしょうか。それは本当にバグですか?それとも、単にメッセージの一部を切り取り、目に見える動作が変わらないことを願っているのでしょうか?
所有者の描画ルーチンがある場合、これらのイベントを抑制
ListView
して描画のみを実行できるというのは本当ですか?Virtual Mode,
Custom Draw
WM_PAINT
コントロールが初期動作を変更せず
System.Windows.Forms
にすべての描画を実行できるようにするための前提条件は何ですか?WM_PAINT
delphi-7 - 列名のテキストに応じて stringgrid 列に色を付ける
私はこれをやっています:
(例)日曜日(SUN)が表示されたときに列に色を付ける方法はありますか? SUN 列 (ずっと下) を他の列とは異なる色で表示したいと思います。
delphi - AdvancedCustomDrawItem中にTTreeViewのスタイル付き選択長方形を描画するにはどうすればよいですか?
TTreeView
イベントを使用して最初からカスタム描画を行っていOnAdvancedCustomDrawItem
ますが、所有者描画アイテムの背景にこれらの選択範囲とホット長方形を正しくレンダリングする方法を知りたいですか?Vista / 7スタイルなので、背景を単色で塗りつぶすことはできません。
ステージでアイテムを描画しようとしましたが、ステージcdPostPaint
を離れて選択範囲の背景を描画すると、アイテムのテキストを含む完全なデフォルトの描画が発生します。DefaultDraw := True
cdPrePaint
winforms - TreeView のエディット ボックスの位置を設定する
WinForms で、TreeView のエディット ボックスの位置をプログラムで設定できるかどうかを知りたいです。
詳細を教えてください。DrawMode を OwnerDrawAll に設定して、所有者が TreeView (System.Windows.Forms.TreeView) を描画しています。最初にアイコンを描画し、次に階層、アイテム関連のアイコン、テキストの順に描画します。
上のグラフで、[X]
と[O]
は最初のアイコンの表現であり、#
記号はアイテム関連のアイコンの表現です。
問題は、通常の TreeView の方法を使用してテキストを編集するときに、LabelEdit を true に設定すると、編集ボックスがアイコンの横ではなくアイコン (グラフの # 記号) に重なって表示されることです。これは、テキストのレンダリングをシフトしたためです。もう 1 つの問題は、編集ボックスを表示するためにクリックする場所 (長方形) もずれていることです。
Indent プロパティをより高い値に設定してから、階層、アイテム関連のアイコン、およびテキストのレンダリングを左に戻して適切に配置しようとしましたが、この場合、ノードごとにインデントが 2 倍になります。
数学的には[spacing = level * indent * 2]
必要な場所[spacing = indent + (level * indent)]
ノードごとに Indent プロパティを個別に設定できないため、このソリューションは有効ではありません。
OnBeforeLabelEdit イベントでエディット ボックス ハンドルを取得しようとしましたが、成功しましたが、それを使用して何も役に立たないことがわかりました。
カスタム TextBox を使用して TreeView に配置することを考えていますが、既に実装されている通常の方法を使用することをお勧めします。
前もって感謝します。
winapi - WinApi所有者CComboBox編集ウィンドウ、CComboBox内の編集ウィンドウ
CComboBox編集ウィンドウ(CComboBoxの最上部のウィンドウ/ ComboBox内の編集ウィンドウ)を所有する可能性があるかどうか質問があります。CComboBoxがOWNERDRAWであり、アイテムを描画できるようにしたためです(DrawItem()メソッドを使用)。また、編集項目(CComboBoxコントロールの一番上の項目)に描画したい問題は、編集ウィンドウであり、入力できる(描画できない)ことです。このウィンドウを「描画可能」にするにはどうすればよいですか?助言がありますか?ありがとう
c# - WPFResourceDictionaryベースのウィンドウでウィンドウオブジェクトを取得する
VS2008では、ソリューションにリソースディクショナリテンプレートを追加し、このテンプレートに「MyWinStyle.xaml」という名前を付けました。以下は私のウィンドウで使用されているスタイルです:.....。
これは私のXMALコードです。ownerdrawウィンドウのサイズを変更できるようにする関数を追加したい場合、問題が発生します。つまり、コンストラクターでWindowオブジェクトを取得できません(この記事に基づいて、作成したい)サイズ変更可能な私のウィンドウ:http://blog.kirupa.com/ ?p = 256 )以下は私のコードです:
c++ - OwnerDraw Window
私は自分のリストボックスの描画に成功していません。コードは次のとおりです。
次のように ListBox を作成します。
誰かが私に何が悪いのか説明してもらえますか? 黒の背景と赤のテキストを持つリストボックスを作成しようとしています.アイテムが選択されると、テキストは白に変わります.しかし、リストボックスは何も追加しません.