掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ダイアログボタンのテキスト情報を保持するには? (ID:72292)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
はじめまして、いるかと申します。 以下の件、良い対応がわかるかたがおりましたらご教授お願いします。 【環境】 WindwsXPSP3、VC6++SP6、MFC(EXE)、ダイアログベース 【やりたいこと】 あるフラグがONの場合、ボタンコントロールのテキスト色を赤に OFFの場合は、黒に変化させているプログラムがあります(初期値は黒色)。 通常のダイアログを描画させている時は、特に問題ないのですが、 ダイアログを適当なウィンドウに隠し、再表示させた場合にフラグがONの 場合でも、ボタンコントロールのテキスト色が赤ではなく、 初期値の黒が設定されてしまいます(テキスト内容も初期化されます)。 ダイアログを適当なウィンドウに隠し、再表示させた場合にフラグがONの 場合、ボタンコントロールのテキスト色に赤が設定されるように したいと考えています(テキスト内容も残す)。 以下に現状のプログラムの簡単な流れと原因をします。 できれば、現状のプログラムから余り修正を加えずに実現できたら よいと考えています。 【現状のプログラムの流れ】 ①タイマー関数で処理②以降を実行 ②CDCクラスでGetDialogで指定したボタンを参照 ③参照したボタンに対してSetTextColorでテキスト色を設定 ④TextOutでテキスト内容を設定 ④CDCクラス解放 【原因】 ・TextOut関数をOnPaint関数以外で実施している。 ・TextOut関数で設定したテキスト内容は、描画更新時に残らない 【対策として考えたもの】 ×SetWindowTextを使用する。 (テキストの色が変えられない) ×TextOut関数をOnPaintに移動し、SetBkModeで背景を透過させる。 (見た目上の変化なし) △ボタンをオーナードローして、専用の処理を入れる。 (実現できるかは調査中) 以上です。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.