コントロールを編集不可にしたときの文字色について – プログラミング – Home

コントロールを編集不可にしたときの文字...
 
通知
すべてクリア

[解決済] コントロールを編集不可にしたときの文字色について


ちる
 ちる
(@ちる)
ゲスト
結合: 23年前
投稿: 77
Topic starter  

お世話になっております。
いまコントロールをある一定の条件下で編集を不可にしています。
GetDlgItem(IDC_XXXX)->EnableWindow(FALSE);

そこで、ボタンなどは別に問題はないのですが
エディットボックスを編集不可にした場合、文字の色がグレイになってしまって
見にくいと言われてしまいました。
そこでスタティックテキストをくぼませた様な文字色(黒)にしたいと思うのですが
何か良い方法はございますでしょうか?

よろしくお願い致します。


引用未解決
トピックタグ
YuO
 YuO
(@YuO)
ゲスト
結合: 24年前
投稿: 252
 

OnCtlColorを使うと背景色や文字色を設定できます。


返信引用
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

編集不可ではなく、
CEdit::SetReadOnly()で読取専用にする方法はどうでしょう?


返信引用
ちる
 ちる
(@ちる)
ゲスト
結合: 23年前
投稿: 77
Topic starter  

ありがとうございました~!

>>sugarさん
CEdit::SetReadOnly()で思っていたことを実現することが出来ました。
CEdit* pComboEdit = (CEdit*)GetDlgItem(IDC_xxx);
pComboEdit->SetReadOnly( true);

>>YuOさん
当初の考えに近いのがOnCtlColorでした。
ですが実現できるかどうか試したところ編集ロックされたオブジェクトの
文字色変更はできませんでした。(グレイに反転したまま)
ちなみに背景色変更は編集ロックしたままでも可能でした。

ところで背景色変更をして気になったのですが
エディットボックスの背景色を変更すると
下と右の部分が少しだけ(1ミリぐらい)変更されません・・・

※背景色変更に使用した関数はSetBkColorです。
pDC->SetBkColor(RGB(0,255,0)); //背景を緑色に変更

一応解決ですが、こちらの方もご存知の方がいましたらアドバイス願います!


返信引用
ちる
 ちる
(@ちる)
ゲスト
結合: 23年前
投稿: 77
Topic starter  

う・・
もう1つ教えてください。

CEdit* pComboEdit = (CEdit*)GetDlgItem(IDC_J_KAISI);
pComboEdit->SetReadOnly( true);

これを1行で実現させたいと思い。
(CEdit*)GetDlgItem(IDC_J_KAISI)->SetReadOnly( true);
としてみたところSetReadOnlyはCwndのメンバーではありませんという
エラーが出てしまいました・・・

キャストに関する知識があやふやなので変なことを聞いているかもしれませんが
何が間違っているのでしょうか?
大変初歩的な質問なのかもしれませんがよろしくお願い致します。


返信引用
不良PG
 不良PG
(@不良PG)
ゲスト
結合: 23年前
投稿: 188
 

((CEdit*)GetDlgItem(IDC_J_KAISI))->SetReadOnly( true);


返信引用
YuO
 YuO
(@YuO)
ゲスト
結合: 24年前
投稿: 252
 

> ※背景色変更に使用した関数はSetBkColorです。
> pDC->SetBkColor(RGB(0,255,0)); //背景を緑色に変更

背景描画用のブラシを返せばよいです。
#return ::CreateSolidBrush(...);なんてことをやらないように。


返信引用
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

> エディットボックスの背景色を変更すると
> 下と右の部分が少しだけ(1ミリぐらい)変更されません・・・
>
1ミリというのは1ピクセルと解釈します。
OSはWinXPより以前のものを使ってますか?
だとすれば、コントロールの縁を3Dに見せるための描画効果として
下と右にグレーが使われますので、この事だと推測されます。
同じグレーですが、背景色とは別のシステムパレットとして使い分けられています。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました