CStatic テキストの色を変えたい – プログラミング – Home

CStatic テキストの色を変えたい
 
通知
すべてクリア

[解決済] CStatic テキストの色を変えたい


かず
 かず
(@かず)
ゲスト
結合: 23年前
投稿: 62
Topic starter  

始めまして。
一つ教えてください。Visual Studio VC++2005 MFC を使っていますが、、
CStaticクラスでテキストを貼り付け、そのテキストの色を変えたりしたいと思っていますが、
うまく動作しません。
CStaitcを継承したCColorStaticというクラスを作成し、そのクラスでWM_CTLCOLORの
イベント関数 OnCtlColor を作成しました。
しかし、この OnCtlColor がコールされません。

ボタンで同様の事をした時は、OwnerDraw というプロパティをTrueにしたらうまく動作した
のですが、CStaticにはOwnerDraw というプロパティはありません。

なにか原因が推測できませんでしょうか?
掲示板で類似のことが色々あがっており、参照していますが原因らしいものは見つけられ
ませんでした。
よろしくお願いします。


引用未解決
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

>しかし、この OnCtlColor がコールされません。
単にCColorStaticに通知されていないだけでは?
StaticにSS_NOTIFYスタイルを追加してください。
(プロパティで簡単に設定できるかも)


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

なんか勘違いっぽいです。

にたような質問があったので参考にしてください。

Staticオブジェクトの背景色、文字色の変更
http://forums.belution.com/ja/vc/000/058/55s.shtml


返信引用
かず
 かず
(@かず)
ゲスト
結合: 23年前
投稿: 62
Topic starter  

Blueさま、早々に返信していただきありがとうございます。
SS_NOTIFY は、CStaticプロパティのNotifyをTRUEにしてみました。
しかし、だめでした。

コントロールの作成は、次のようにしています。

・CStaticのコントロールをFORMに貼り付ける
・CStaticのコントロール変数(CStatic m_Static)を生成する
・作成した変数のクラスをCColorStaticに編集して変更する
・WM_CTLCOLORのメッセージのイベント関数OnCtlColorを生成

というような手順で作成していますが、これになにか根本的な間違いが
あるのでしょうか?

なにかお気づきの点がありましたら、お教えください。
よろしくお願いします。


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

いや
> http://forums.belution.com/ja/vc/000/058/55s.shtml
みてくれましたか?

>・WM_CTLCOLORのメッセージのイベント関数OnCtlColorを生成
では不味いということがでていますよ。


返信引用
かず
 かず
(@かず)
ゲスト
結合: 23年前
投稿: 62
Topic starter  

Blueさま、回答ありがとうございました。
前回の私の返事は、16:06に記入いただきましたメッセージを見落として投稿して
しまいました。行き違いになってしまい申し訳ありませんでした。

> http://forums.belution.com/ja/vc/000/058/55s.shtml
を見ました。間違いが解りました。

>・WM_CTLCOLORのメッセージのイベント関数OnCtlColorを生成
ではだめで、=WM_CTLCOLORのメッセージのイベント関数OnCtlColorを生成しなくては
いけないという事ですね。

この方法を試してうまく動作させることができました。

VC++の経験が浅いので、知らないことばかりに出くわす毎日です。
大変助かりました。
適切なご指導ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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