- 締切済み
プログレスバーの色変更について
VisualStudio2008のWindowsフォームアプリケーションでプログレスバーを配置し、プログレスバーの色を変更したいのですが、ForeColorに設定しても色が変わりません。 Windowsの背景のテーマはクラシックにせず、背景色を変える方法をご存知の方、ご教授お願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- machongola
- ベストアンサー率60% (434/720)
こんにちは。御礼頂きました。 ああ、もしかしたら、winXPの問題なのかもしれません。 当方はwin2000/sp4でvc2005の方で行っています。 一点だけ確認させて頂くと、拝見する限り、アルファ値の設定が抜けている様に見えます。 progressBar1->BackColor = System::Drawing::Color::FromArgb(214, 231, 255); progressBar1->ForeColor = System::Drawing::Color::FromArgb(0, 85, 230); ではなく、 progressBar1->BackColor = System::Drawing::Color::FromArgb(255, 214, 231, 255); progressBar1->ForeColor = System::Drawing::Color::FromArgb(255, 0, 85, 230); 一番左のパラメータに255を追加してトライして見ては如何でしょうか。 このアルファ値は、下地の色彩との調合度を意味します。0だと何も着色されません。255でフルに着色されます。 此れで無理であれば、私はギブアップと言う事になります。
- machongola
- ベストアンサー率60% (434/720)
こんにちは。 取り敢えず、以下で実験すれば変色すると思います。 progressBar1->ForeColor = System::Drawing::Color::FromArgb(255, 192, 224, 160);//インジケータの色 progressBar1->BackColor = System::Drawing::Color::FromArgb(255, 24, 64, 32);//背景の色 progressBar1->Minimum = 1; progressBar1->Maximum = 3; progressBar1->Value = 1; progressBar1->Step = 1; progressBar1->PerformStep();
お礼
回答ありがとうございます。 OSは、WinXPです。 progressBar1->BackColor = System::Drawing::Color::FromArgb(214, 231, 255); progressBar1->ForeColor = System::Drawing::Color::FromArgb(0, 85, 230); のように記述したところ、やはり変わりませんでした。 Windowsの画面のプロパティのテーマを[Windows クラシック]にすると色変更が可能になるのですが、[Windows XP]にすると変わりませんでした。
お礼
回答ありがとうございます。 回答して頂いたようにコードを修正してみましたが、色変更ができませんでした。2度も回答して頂きありがとうございました。