問題タブ [vcl-styles]

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 投票する
2 に答える
274 参照

delphi - スタイル付きメニューと madExcept に関する Delphi XE6 の問題

Delphi VCL スタイルの非常に奇妙な動作に直面しました。VCL スタイルを有効にして、madExcept で「バッファ オーバーラン時に即座にクラッシュ」オプションを有効にすると、メニューのスタイルが適用されなくなります。

このオプションをオフにするか、「バッファー UNDERrun で即座にクラッシュする」に切り替えると、メニューの問題が修正されます。

質問は次のとおりです。他の誰かがこの問題に遭遇しましたか? なぜそれが起こり、どのように修正するのですか?

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

delphi - DLL の VCL スタイルがアプリケーションの TMenuItem に影響を与える

Delphi XE6 および VCL スタイルを使用しています。メインアプリケーションとdllがあります。私のメイン アプリケーションはランタイム テーマを有効にしており、vcl スタイル ファイルを使用しています。私は自分のDLLに非常に似たようなことをしました。ランタイム テーマを有効にし、uses の下に VCL.Themes、VCL.Styles を追加し、VCL スタイル ファイルを含むリソース ファイルを追加しました。DLL が読み込まれると、リソースから VCL スタイルを読み込み、DLL GUI に設定します。メイン アプリと DLL はランタイム パッケージでビルドされません。

これで、メイン アプリの GUI が独自のスタイルでスタイル設定され、DLL の GUI も独自のスタイルでスタイル設定されました。これまではうまくいくようです...

イベントが TPopupMenu を開くメイン アプリのボタンをクリックすると、メイン アプリ スタイルではなく DLL GUI と同じスタイルでスタイル設定されます。メニューをナビゲートすると、AV も取得され、プログラムがクラッシュします。添付の画像を見てください。

私は何を間違っていますか?私が現在見ている唯一の回避策は、他のコントロールから派生した独自のカスタマイズされた TPopupMenu を作成することです。ここに画像の説明を入力


約束通り、私のアプリケーションに似た簡単なデモ プログラムを用意しました。独自のスタイルを持つホスト アプリケーションとリソースにスタイルを追加した DLL で構成されます。それを実行し、ポップアップボタンをクリックしてから、ポップアップから何かを選択してみてください。StdWindowProc などでクラッシュして停止します。また、そのメニューから何かを選択しようとするときにウィンドウ システム メニュー (左上隅) に移動すると、システム メニューが DLL GUI としてスタイル設定され、クラッシュすることもわかります。RARファイルへのリンク: dropbox.com/sh/f2jmbsmw18akpyg/AAA6SWdBmVhf6n6K-mvYLLmua?dl=0

ここに画像の説明を入力

ご協力いただきありがとうございます。

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

inno-setup - 一部のダウンローダ ページ要素のスキニングに問題がある Inno Setup の VCL スタイル

VCL Styles for Inno Setup を使用してインストーラーをスキンしようとしたところ、小さな問題が発生しました。誰かが助けてくれることを願っています。

あらかじめお詫び申し上げます。私はしばらくの間、これらをいじくり回しており、あちこちのクリップを取り込んで、自分のインストーラーで希望どおりに動作させるようにしましたが、プログラミングに関しては決してグルではありません. 実際、それは私に片頭痛を与えますが、どうにかしてそれを成し遂げなければなりません. 要するに、私のコーディングは決してエキスパートではありませんが、物事を成し遂げようとしています。

私は 2008 年に作成したインストーラーを使用しています。つい最近、インストーラーに追加して、より自動的に実行するようにし、洞察に富んだプロンプトを減らし、見栄えを良くしたいと考えました。

最初に作成したときに Sherlock Software の InnoTools Downloader を追加しましたが、それ以来、まったく問題なく使用しています。

VCL Styles を追加したばかりですが、InnoTools Downloader 内に、残りのインストーラーと一緒にスキンを適用する方法がまったくわからない要素があります。それ以外は問題ないように見えますが、ダウンロード ページ内の小さなボックスが灰色でした。

ここに画像の説明を入力

そこで、Mitrich Software の Inno Download Plugin を試してみました。ねえ、灰色のボックスは消えましたが、くそっ.. エラー ウィンドウのテキストは、白い背景に明るい灰色で、判読できません。

ここに画像の説明を入力

さらに検索を行ったところ、How to apply VCL styles to DLL-based forms が見つかりました。以下を使用して Sherlock Software の InnoTools Downloader をロードしようとしたとき:

エラーが発生しました:不明なタイプ 'WideString'

ANSI バージョンの Inno Setup を使用しているのは、何年も前に最初に Unicode バージョンを試したときに InnoTools ダウンローダーが台無しになり、それ以来 ANSI を使用しているためです。

VCL が既に使用していたフォーマットに合わせて、WideString をただの String に変更してみました。

しかし、残念ながら、インストーラーの実行時にエラーが発生しました。

1) 両方のダウンローダが外部の .dll を使用しているため、この部分をスキン化するのはちょっと運が悪いのでしょうか? 2) VCL にページ上のその要素をスキンするように指示する方法はありますか? 3) どちらの .dll ファイルも、リンクされたページ (および元の VCL .dll ファイル) と同様の方法でロードできますか? 4) Inno Setup の Unicode バージョンを使用すると、これを解決するための追加の手段が得られますか (元のインストーラーで大量のコードを書き直す必要がない限り)?

申し訳ありませんが、現時点では、新しいページとの関係がよくわかりません。私がインストーラーで行ったことのほとんどは、MsgBox を使用して、ユーザー入力を必要とする可能性のある新しい更新やその他の通知がある状況でそれらを処理する必要がないようにします。

役立つ場合は、インストーラーの 1 つから取得したサンプル コードをまとめます。要求があれば投稿できます。おそらく、実際のプログラマーにとっては大きな混乱であり、誰もが頭を悩ませたくない (またはむち打ち症でうんざりして頭を振っている) のを見ることさえできますが、それが役立つかどうか、または私が既に入れたものがここで、私が何に遭遇したかを説明するのに十分です。

評判が10になったらサンプル画像も載せますので参考になさってください。

私はいつでもそれを受け入れることができますが、それを修正したいと思っています。これが私の最初の質問であるため、不明な点がある場合は事前に謝罪します.

助けと洞察を前もって感謝します。

Inno Setup 1.2.2.1 の VCL スタイル / ispack-5.5.5.exe からインストールされた Inno Setup 5.5.5a / InnoTools Downloader 0.3.5 / Inno Download Plugin 1.4.0。

編集:画像を追加しました(そうするためのポイントをありがとう)。ダウンロードに失敗したというエラーは無視してください。ウィンドウとポップアップのスキニングをキャプチャするボックスが停止してポップアップするようにしました。

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

delphi - 自分のコンポーネント用に Vcl-Theme-Style を作成する方法は?

BitmapStyleDesigner.exe(delphi xe5 に同梱されている) を 使用して、アプリケーションの vcl スタイルを編集します。

カスタム コンポーネントをスタイラー パレットに追加するにはどうすればよいですか? TMyButtonを継承しTButton、色や形などが標準と異なる自分の が欲しいTButton

これはスタイルを編集することによってのみ行うことができますか、それとも のソースを編集する必要がありTMyButtonますか?

embarcadero wikiは (これまでのところ) 役に立ちませんでした。

前もって感謝します!

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

delphi - Delphi XE3 にない VCL スタイル

VCL スタイルのリストが Delphi XE3 で空です。

プロジェクト | プロジェクト |  オプション |  外観

私は Delphi XE7 もインストールしており、VCL スタイルはここで問題なく表示されています。

他の解決策を確認しました。そのうちの1つは、スタイルファイルが正しいパスに存在することを確認することを提案しています。Delphi XE3 の場合、これは次のようになります。

C:\Users\Jason\Documents\RAD Studio\10.0\Styles

このディレクトリには 27 個の .vsf ファイルがあります。

別の投稿では、「デフォルト」オプションで実行した redistsetup.bat ファイルを実行することを提案しましたが、これは違いはありませんでした。

私がチェックできることについて他に何か考えがある人はいますか?

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

delphi - ランタイム テーマを有効にすると、PngBitBtn のキャプションが表示されない

1 つの PngBitBtn で簡単なプロジェクトを作成し、次の構成でコンパイルしました。

  1. ランタイムテーマが無効になっています
    • デバッグモード - OK
    • リリースモード - OK
  2. ランタイム テーマが有効になっている
    • デバッグモード - OK
    • リリース モード - PngBitBtn にキャプションはありません

キャプションを正しく表示する唯一の方法は、最適化をオフにすることです。最適化をオフにせずにこの問題を解決することは可能ですか?

前もってありがとう、ティム

Delphi XE3、XE6 でテスト済み。プラットフォーム: win32。PNGComponents バージョン: embarcadero CodeCentral の最新バージョン。

印刷画面:

プリントスクリーン

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

delphi - 現在の Windows テーマを vsf ファイルに保存する

現在の Windows 7 テーマ (デフォルト、エアロ) を Delphi スタイル形式 (vsf ファイル) に保存するには?

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

delphi - VCL スタイルがランダムに壊れる

TMemo から派生したコントロールがあります。Delphi XE7 VCL Styles で初めて使用するまではうまくいきました。Delphi XE7 では、コントロールのスクロール バーにスタイルが適用されません。暗いテーマ/スタイルが使用されている場合、スクロール バーは銀色ですが、見栄えは悪くなります。

バグ

バグを再現できる最小限のプロジェクトを作成しようとすると、非常に興味深いことがわかりました。ランダムなコード行 (または DFM コン​​トロール) を追加/削除すると、バグが表示/非表示になります。

質問: この奇妙な動作の本当の原因とその修正方法は?

ソースコードはこちら:

http://s000.tinyupload.com/index.php?file_id=24129853712119260018