• 締切済み

プログレスバーの色変更について

VisualStudio2008のWindowsフォームアプリケーションでプログレスバーを配置し、プログレスバーの色を変更したいのですが、ForeColorに設定しても色が変わりません。 Windowsの背景のテーマはクラシックにせず、背景色を変える方法をご存知の方、ご教授お願いします。

みんなの回答

回答No.2

 こんにちは。御礼頂きました。  ああ、もしかしたら、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でフルに着色されます。  此れで無理であれば、私はギブアップと言う事になります。

noname#79954
質問者

お礼

回答ありがとうございます。 回答して頂いたようにコードを修正してみましたが、色変更ができませんでした。2度も回答して頂きありがとうございました。

回答No.1

 こんにちは。  取り敢えず、以下で実験すれば変色すると思います。 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();

noname#79954
質問者

お礼

回答ありがとうございます。 OSは、WinXPです。 progressBar1->BackColor = System::Drawing::Color::FromArgb(214, 231, 255); progressBar1->ForeColor = System::Drawing::Color::FromArgb(0, 85, 230); のように記述したところ、やはり変わりませんでした。 Windowsの画面のプロパティのテーマを[Windows クラシック]にすると色変更が可能になるのですが、[Windows XP]にすると変わりませんでした。

関連するQ&A