問題タブ [uxtheme]

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 に答える
3104 参照

c# - .msstyles ファイルを解析するには?

.msstyles ファイル (Windows XP ビジュアル スタイル ファイル) からいくつかのビットマップを抽出する必要がありますが、どこから始めればよいかわかりません。それを行う方法に関するドキュメントが見つからないようで、ファイル形式はバイナリであり、簡単に解析できないようです。次を使用して、ビットマップを単独で抽出できました。

ただし、余白のサイズ、間隔、ビットマップごとの「画像」の数など、ビットマップに関連する情報も必要です。これまたは私が使用できるドキュメントへのリンクの経験がある人はいますか?

0 投票する
4 に答える
8852 参照

c++ - ウィンドウのキャプション ボタン (最小化、復元、閉じる) のサイズと位置を取得する方法

ウィンドウ キャプション ボタンのサイズと位置を決定する API 呼び出しはありますか? 所有者が描画したウィンドウにビスタ スタイルのキャプション ボタンを描画しようとしています。私はc/c++/mfcを扱っています。

編集:閉じるボタンを描画するコード例はありますか?

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

winforms - 単一のウィンドウ コントロールの視覚スタイル/テーマをオフにすることはできますか?

私の Windows フォーム アプリケーションでは、アプリケーション全体で視覚スタイル (テーマ) が有効になるように、次の標準的なコード行を使用しています...

...これは問題なく動作します。すべてのコントロールは、他の方法で得られるフラットな戦艦の灰色ではなく、テーマに沿った外観になっています。しかし、1 つのコントロール インスタンスだけに対してビジュアル スタイルをオフにする必要があります。上記の行を削除すると、すべてのコントロールからテーマが失われるため、削除できません。単一のコントロール インスタンスからテーマを削除することは可能ですか?

参考:たまたま、DateTimePicker インスタンスからテーマを削除したいので、DateTimePicker 以外の一般的な答えが「いいえ」であれば、それで十分です。ソリューションが最下位レベルでコントロールを操作することを含む場合は、喜んでプラットフォーム呼び出しを使用します。

0 投票する
5 に答える
16554 参照

c# - RichTextBox をフラットな外観にするにはどうすればよいですか?

私は、多くの RichTextBox コントロールを使用する WinForms SmartClient アプリケーションに取り組んでいます。いくつかのコントロールは、さまざまな理由で通常の TextBox の代わりに使用されます。残念ながら、RichTextBox は、XP または Vista スタイルのテーマの境界線ではなく、醜い Win95 3D 境界線を描画します。

テーマの境界線を RichTextBox に適用する方法を知っている人はいますか? この目的のためにそれらをサブクラス化してもかまいません。

ありがとう!

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

windows - XP で OpenThemeData(pParent, L"TEXTSTYLE") が失敗するのはなぜですか?

Windows Vista では問題なく動作するテキストを描画するためにテーマ ライブラリを使用していますが、Windows XP では返された HTHEME が NULL です。これは私が使用しているコードです:

hTheme は Vista では有効ですが、Windows XP では NULL です。MSDN でOpenThemeDataParts and States
のドキュメントを読みましたが、TEXTSTYLE が XP でサポートされていないことについては何も言及されていません (Google でさえ良い提案を出していません)。

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

delphi - XP ビジュアル テーマ / ビジュアル スタイルを有効にするとパフォーマンスが低下する

古い C++Builder / Delphi アプリケーションの外観を最新化しようとしているときに、ビジュアル テーマ(ビジュアル スタイル)を有効にしましたが、追加されたパフォーマンス ヒット テーマの量に驚きました。たとえば、主要なセットアップ ページ (11 タブ、200 コントロールのモンスター ダイアログ。開発時間と再トレーニング コストの理由から、今はやり直したくありません):

  • テーマを有効にしない場合:フォームとそのコントロールの構築に約 0.1 秒(QueryPerformanceCounter で測定)、メニュー項目をクリックしてからフォームが表示されるまでに約 0.9 秒(ストップウォッチで測定)。エンドユーザーにはあまり目立ちません。
  • テーマが有効な場合:フォームとそのコントロールを構築するのに約 0.6 秒、メニュー項目をクリックしてからフォームが表示されるまで約 1.5 秒。エンドユーザーにとって非常に目立ちます。

Windows XP デスクトップと Windows 7 VM の両方で同様の結果が得られます。

この特定のケースを改善するために実行できる手順 (ダイアログのタブを遅延読み込みするか、完全に再設計するなど) があることは認識していますが、テーマがそのような顕著なパフォーマンス ヒットを追加するのは一般的ですか? このパフォーマンスへの影響を回避するための簡単な提案はありますか?

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

c# - テーマ付きのウィンドウ枠を無効にする

Windows XP の CMD では、Luna 境界線は適用されません。代替テキスト http://wedowebstuff.info/uploads/1272861285CMDNotThemed%5D.png

アプリケーションのために、Visual C# Winforms で同様の方法でそれを行うことは可能ですか? もちろん、どのアプリケーションでも美しい XP/Aero テーマを使用しないように強制するつもりはありません :P

ありがとう。

編集:何ヶ月も経ってからこれにメモを追加します。Luna ボーダーは、技術的には 16 ビット (古い) アプリケーションであるため、CMD には適用されません。そのため、標準の Windows テーマ システムを使用しません (最大化できないという事実によって示されるように、ウィンドウも使用しません)。 )。このようなアプリケーションは、32 ビット Windows で一般的です (x64 Windows ビルドでは 16 ビット アプリは削除されました)。たとえば、syseditです。Vista/7 で適切にテーマ化されたウィンドウ境界 (ただし、内部コントロールではないことに注意してください) があるという事実は、Aero/Desktop Window Manager (DWM) がすべてのウィンドウ境界をオーバーライドしてレンダリングするという事実によるものです。Basic/Classic テーマに切り替えると、その矛盾は続きます。

x64 cmd.exe にはこの問題はありません。:)

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

com - Office COM アドイン、ダイアログに luna/aero テーマがありません (Windows 98 の従来の外観のように見えます)

Office 2007 用のアドインがあります。これは、OnClick イベントのボタンとハンドラーを含むツールバーを追加します。ユーザーがボタンをクリックすると、いくつかのダイアログが表示されます。しかし、これらのダイアログは、Windows 7 であっても、長方形のボタンを備えた時代遅れの Windows 98 のルック アンド フィールを持っています。

テーマを有効にするにはマニフェスト ファイルが必要なのはわかっていますが、このアドインは Visual Studio 2008 で作成され、次のようなマニフェストを自動的に追加します。

ダイアログが Windows 98 の外観ではなく現在のテーマを使用するようにするには、何を変更すればよいですか? 隔離意識について読んだことがありますが、それもうまくいかなかったようです。

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

delphi - テーマの DrawThemeTextEx フォントの色を変更するには?

DrawThemeTextExを使用してテキストを描画しています。crText構造体のCOLORREFメンバーを使用して、特定の色で描画しようとしていますDTTOPS:

残念ながら、コードが指定している明るいライム グリーンの色ではなく、テキストの色は常に黒になります。

ここに画像の説明を入力

デバイスコンテキストに新しいフォントを選択することで、使用されるフォントを変更できます。つまり、次のようになります。

ただし、構造体のおよびオプションをSetTextColor設定しても、使用されるテキストの色は変更されません。crTextDTT_TEXTCOLORDTTOPS

紛らわしいのは、DTTOPS 構造体で色を指定できることです

そのメンバーを使用していることを示す DTT_TEXTCOLOR フラグとともに:

私が達成したいこと文書化されていますが、正しく機能していません。明らかに私は何か間違ったことをしています。

DrawThemeTextExを使用してテキストを描画するときにテキストの色を指定するにはどうすればよいですか?

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

delphi - UxTheme で遅延宣言を修正する方法

Delphi XE UxTheme ユニットには、次の宣言があります。

SP3 を適用した Windows XP Professional には、uxtheme.dll にそのような機能がありません ( http://www.nirsoft.net/utils/dll_export_viewer.htmlの dllexp.exe で確認) 。

私のアプリケーションはプロシージャの読み込みを遅らせ、次のエラーでランタイムに失敗したようです:

この問題は JVCL でも発生しましたが、http: //andy.jgknet.de/blog/2009/09/once-upon-a-delayed-jvcl-time/ に従って解決されました。

DevExpress コンポーネントでも使用されているため、UxTheme を修正する必要があります。

UxTheme.pas DrawThemeTextEx 宣言を遅延しないようにパッチ/修正する方法はありますか?