お世話になります。現在MFCでTCP/IPパケットを受信したものをCEdtiViewクラスのViewに表示するプログラムを作成しました。
そこで、わからない事が出てきたので、わかる方々にご教示していただきたく投稿いたしました。
わからない事は、Viewに表示される文字色が現在Black(default??)なのですが、その色を変えたいのですが、どのようにしたらいいのでしょうか?
ちなみにViewへの表示はGetEditCtrl()という関数を使用していて、
CString Msg(_T("TEST"));
int nLen = GetWindowTextLength();
GetEdtiCtrl().SetSel(nLen,nLen);
GetEditCtrl().ReplaceSel(Msg);
このような記述をしています。
このGetEditCtrlを使って文字色の変更は出来ないのでしょうか?
あとタイトルにも記載したのですが、あるトリガーがあるとそのEditViewクラスの描画文字列をすべてクリアしたいと考えています。
トリガーは簡単にボタンが押されたときに~~~C***Viewの領域クリア
このような時はどのようにしたらいいのでしょうか?
初心者ですが、宜しくお願いいたします。
---------------------------開発環境--------------------------------
WinXP sp2 MFC SDI
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
CEditViewの派生クラスで色の変更をする場合は
CtlColor(CDC* pDC, UINT nCtlColor)を使うことになります
# Onが付かないほうです ...
Viewクラスのプロパティから メッセージを選択し
=WM_CTLCOLORの右側をクリックで追加できます
この場合最低でも CBrushクラスの変数を用意して、関数からの戻り値にしないといけないでしょう
Viewクラスの OnInitialUpdateメソッドの中などで ブラシを作成してください
ドキュメントの内容を削除したいのであればViewクラスの
DeleteContens()を呼び出せばいいような気がします ...
返答が遅れてしまいまして、本当に申し訳ありません。
>Viewクラスのプロパティから メッセージを選択し
=WM_CTLCOLORの右側をクリックで追加できます
この部分ですが、追加したところ、OnCtlColorが追加させましたけど、
それで宜しいのでしょうか?
>この場合最低でも CBrushクラスの変数を用意して、関数からの戻り値にしないといけないでしょう
これは、 CBrush 変数 としてCBrush変数を作成して、CtlColorの
return CBrush変数 としてあげればよいのでしょうか?
Viewクラスの中のOnInitialUpdateの中で、ブラシを作成しても上手く
行きませんでした。
>ドキュメントの内容を削除したいのであればViewクラスの
DeleteContens()を呼び出せばいいような気がします
MSDNなどで、DeleteContensを検索しても出てこなかったのですが、
どういう使い方をしたらいいのでしょうか?
返信遅くなってしまいましたが、宜しくお願いいたします。
No.1
- 回答日時:
デバイスコンテキストクラスの
背景色と文字色を変えることで実装できそうです。
あとはメッセージ云々の処理になりますが、
以下が参考になりそうです。
http://www.alpha-net.ne.jp/users2/uk413/vc/VCT_E …
aris-wiz様 ご回答ありがとうございます。
さっそくリンク先のサイトを見て実行したのですが、EditViewクラスにおいてOnCtlcolorがオーバーライド出来ませんでした。
ちなみに先ほど記述し忘れたのですが、Visual Studio 2005 MFCを使用して
います。
自分がやりたい事を簡単に書きますと、
1、C***Viewに描画される文字はすべて(青色)とする。アプリケーション
を作動させてる最中に文字色は変更しない!
2、トリガーが与えられると、描画していた文字が消える。
大きく言うと以上2点が出来ればよいのですが、先ほどの参考リンクで、
マネした所うまくいきませんでした。
自分のやり方がいけないのでしょうか?
アドバイス宜しくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
既定のコンストラクタがない?
-
正規表現 [^/]+ の意味を教えて
-
FriendとPublicの違い。。。
-
エディットコントロールでEnter...
-
C++ protectedにアクセス不可
-
OnInitDialog()の関数の組み込み方
-
手続き型言語からオブジェクト...
-
Serialize で困ってます!!
-
(UWSC) 「#32770」の意味わかり...
-
内部クラスの処理
-
名前空間について
-
Visual Basic 2005 クラスライ...
-
DataGridViewのセルに斜線を引...
-
Visual studio express 2013 ...
-
C++で継承元のクラスの代入演算...
-
オブジェクト指向 集約の実装...
-
CFrameWnd とCFormView2
-
C#とC++/CLIの連携について
-
DebugクラスとTraceクラスの違い
-
クラスのアドレスを引数として...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FriendとPublicの違い。。。
-
既定のコンストラクタがない?
-
(UWSC) 「#32770」の意味わかり...
-
クラスのアドレスを引数として...
-
ダイアログ表示時にチェックボ...
-
エディットコントロールでEnter...
-
イベントにAddHandlerされてい...
-
【ASP.NET】 独自で作成したク...
-
DebugクラスとTraceクラスの違い
-
MFCのCListCtrlでスクロールを検出
-
C++ protectedにアクセス不可
-
C++で継承元のクラスの代入演算...
-
継承したクラスを、継承元のク...
-
OnInitDialog()の関数の組み込み方
-
ダイアログクラスのコントロー...
-
MessageBoxを継承したい
-
DataGridViewのセルに斜線を引...
-
このコンパイルエラーの意味に...
-
MFCアプリのコマンドラインでパ...
-
C#のクラス設計について教えて...
おすすめ情報