問題タブ [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.

0 投票する
3 に答える
12504 参照

winforms - ToolStripMenuItemのサイズを変更します

でメニュー項目をカスタム描画していますMenuStrip。私が抱えている問題は、メニュー項目がテキストに基づいてサイズ設定を要求することです。これは私が望むものではありません(テキストがありません)。falseに設定AutoSizeしてサイズを明示的に指定できますが、含まれているメニュー(ToolStripDropDown)はテキストに基づいてサイズを変更するため、メニュー項目全体を含めるには小さすぎます。

メニュー項目のサイズを設定する簡単な方法はありますか?

0 投票する
1 に答える
7259 参照

c# - tabcontrol ownerdraw は、タブ コントロールのボーダー スタイルを変更します

タブコントロールに問題がありました。DrawMode を ownderdrawfixed に変更すると、タブ コントロールのボーダー スタイルが "fixedsingle" から "3dfixed" に変更されますが、タブ コントロールのボーダー スタイルのプロパティはありません。タブコントロールのボーダースタイルに最も近いのは、変更されていない外観です。

代替テキスト

上の写真を見て、私が話していることを理解してください。

ownerdraw を使用せずにタブページのタイトルの色を変更する方法はありますか?

または、タブコントロールのボーダースタイルを修正するにはどうすればよいですか?

0 投票する
1 に答える
933 参照

c# - C# p/invoke、所有者描画リスト ボックスからのデータの読み取り

外部アプリケーション ( America Online ) に Owner Drawn List Box があり、ユーザビリティを支援するコンポーネントを構築するためにデータを取得する必要があります。(ユーティリティは、特定のものへのアクセスをより簡単にするなど)。

知らせ

C++ に関する私の知識は非常に貧弱です。私は C# プログラマーです。

問題のリスト ボックスにhWndがありますが、所有者が描いたようです。リターンの悪いデータを使用LB_GETTEXTすると、ジャンク (デバッガーで漢字の束としてレンダリングされます)LB_GETITEMDATAが得られ、リターンを通過するのとほぼ同じです。

これは、所有者が描画したリスト ボックスにグラフィックがあるためだと思います。多くの掘り下げを行って、過去にこの問題を抱えている他の人を発見しました。この問題を解決するはずの次のコードを発見しました。しかし、そうではありません。コードは以下に掲載されており、その下に問題があります。

私の理解は、限られていlListItemHold=lListItemHold+24ますが、ListBox にある「構造」を考慮し、その最初の 24 バイトを通過させて、残っているものを返そうとするということです。しかし、これは私にとってはうまくいかないようです。

誰かが私が試すことができるものに光を当てることができますか? そのままストローを掴んでいるのがわかります。これをC#でコーディングしているので、この関数は次のように使用さp/invokeれます。

0 投票する
1 に答える
433 参照

.net - 所有者が描いたメニュー項目でアニメーションを提供するにはどうすればよいですか?

私のアプリケーションはC#3.5、Winformsですが、とにかくP / Invokeが必要になる可能性が高いため、.NETに厳密に関連付けられているわけではありません。

ContextMenuMenuItemクラスを介して所有者が描画するメニュー項目を作成しました。すべて正常に機能しますが、一部のアイテムについては、小さなアニメーションを作成したいと思います(アイテムに関連付けられたプロセスが実行されていることを示しています)。残念ながら、上記の2つのクラスは、Invalidate()メソッドなどを提供しません。

これまでの私の最善のアイデアはWindowFromDC()、最初のOnDrawでP / Invokeを実行し、結果のハンドルを保存してInvalidateRect()から、メニューが閉じるまで定期的にハンドルを呼び出すことです。

これはちょっとハックなようですが、私はまだ試していません。もっとエレガントな方法があるのではないかと思います。

0 投票する
3 に答える
35655 参照

c# - TreeView一部のノードでチェックボックスを削除

Node.Typeが5または6のチェックボックスを削除したいのですが、次のコードを使用します。

問題は、ルートノードへの画像と線がそこにないことです。チェックボックスを削除して、画像と線をそこに配置するにはどうすればよいですか?

これは間違っています!

0 投票する
1 に答える
2266 参照

c# - ComboBox.Items をオーバーライドする最良の方法

ComboBox から継承するオーナー描画ユーザー コントロールを作成しました。

コントロールは特殊な項目を格納しますが、Items コレクションは引き続き Object 型の項目を受け入れて返します。このコレクションをオーバーライドしてタイプセーフにする最善の方法に関するヒントはありますか?

私が考えることができる唯一の方法は、独自のコレクション クラスを作成することです。クラスは真のコレクションではありません。コンストラクターへの引数として ObjectCollection を取り、そのメソッドを拡張するだけです。

ユーザー コントロールは、元の Items コレクションを新しいクラスのコンストラクターに渡します。次に、Items プロパティをオーバーライドして、代わりに新しいクラスのインスタンスを返します。

これはやや複雑なようです。より良い方法はありますか?

0 投票する
2 に答える
1211 参照

ios - Mac で描画操作がピクセル単位で整列されていることを確認するにはどうすればよいですか?

最近の iOS テックトークで、「描画操作がピクセル単位で整列されていることを確認してください」という提案を聞きました。

これは Mac/iOS の描画パフォーマンスに対する有効な提案ですか?

もう 1 つの質問は、自分のコードがピクセル アラインメントで描画されていることをどのように判断できるかということです。
役立つツールやトリックはありますか?

0 投票する
1 に答える
1768 参照

c# - オーナーが描いた ToolStripDropDownButton

コントロールのカスタム動作を書いていますToolStripDropDownToolStripDropDownButtonまた、それ自体を変更して、色付きの形状を表示したいと思います。

Paintイベントを処理し、好きなものを描くことができることがわかりました。ただし、形状をペイントする前に、ボタンにデフォルトの背景をペイントさせる方法はありますか? 特に将来のバージョンの .NET と Windows では、背景を正確に正しく表示するのは難しいでしょう。

普通の Windows では、ペイント コードの前または後にデフォルトの proc ハンドラを呼び出すことができました。.NET でそれを達成する方法は見当たりません。または、ボタンに背景のみをペイントするように指示する方法はありますか?

0 投票する
2 に答える
1159 参照

c++ - BS_AUTORADIOBUTTONスタイルの所有者描画ボタン

BS_AUTORADIOBUTTONのチェック済み/非チェック状態を取得するにはどうすればよいですか?私のコードは現在機能しません。

私も試しました

しかし、これも機能しません。

0 投票する
1 に答える
3906 参照

mfc - ポップアップ メニューのフォント サイズを変更する方法 (MFC、VC6)

PopupMenu の高さをすばやく簡単に変更する方法 (つまり、メニューの各行の垂直方向のサイズを大きくする方法) と、フォント サイズを変更してより大きなフォントを使用する方法があるかどうか疑問に思います。

それを行うことができるコードサンプルはありますか? 残念ながら、CMenu にはフォント サイズを設定するための適切なメンバーがありません。ownderrawed メニューのサンプルがたくさんあることは知っていますが、それらはすべて私の目的にはやり過ぎです。私がやりたいのは、メニュー項目のサイズを大きくすることだけです。

その上、私のメニューにはメインウィンドウがなく、単なるポップアップメニュー (CMenu::CreatePopupMenu) です。ただし、ほとんどのサンプルにはメインウィンドウが必要なようです。