2011-06-29 9 views
3

Windows Aero機能を有効にしてTProgressBarコントロールのバーの色と背景色をプログラムで取得する方法は?エアロでTProgressBarコントロールの色を取得

私はサードパーティのプログレスバーコントロールを使用しています。デフォルトのコントロールではなく、正しい色でコントロールをペイントしようとしています。

は、私は、初心者のための最も賢明な初心者のために最も賢明なのためには、デルファイ2010年

+4

私はプログレスバーが単色であるとは思わない。それはかなりのグラデーションで描かれている。特定の平均色が欲しいですか?それはまだエアロのテーマのようには見えません。おそらく、それが認識できるように、第三者のコントロールを拡張する方法を知りたいし、テーマでそれを描くことができますか? –

+4

ウォーレンは正しいです。 「バーの色」はありません。 Delphiに付属しているものは、実際にはネイティブのWindowsプログレスバーコントロールです(実際には、「TEdit」、「TButton」、「TMemo」、「TRichEdit」、「TListBox」、 TImageList'などは、ネイティブコントロール/オブジェクトのラッパーのみです)。標準Windowsコントロールの問題点は何ですか?カスタムコントロールが必要な場合は、テーマサービスAPIを使用して現在のテーマの進行状況バーの部分を描画するのは非常に簡単です。 –

+0

私の答え[ここ](http://stackoverflow.com/questions/2191301/how-can-i-get-the-color-for-a-themed-tabsheet)と[この質問](http:// howovertoflow.com/questions/6177889/how-to-determine-windows-theme-tcolors)。 –

答えて

7

オプションを使用します。

(1)第三者のプログレスバーを取り出し、そして定期的に一つに置きます。 (初心者、スマートな古い男のソリューション、皮肉なことに同じ)

(2)スキン/テーマパックを入手し、あなたが望むように描画します。 (中級)

(3)カスタムコントロールを拡張するために、テーマとUxThemes単位を使用する方法を学んでください。 (上級)

#2と#3から十分な痛みが得られたら、#1に戻り、あなたの中の硬い(賢い)古いタイマーが、ランクアマチュアと同じ決定を下すでしょう。

+0

+1は最初のものです。 –

+0

+1オプション1が優勝者です。壊れていないものを修正しないでください。 –

+0

+1、そこに行って、それをやって、完全なサイクルを#1自分自身に戻って:)さらに、私は説明で笑った。 –

関連する問題