テキストボックスの文字変更 – プログラミング – Home

テキストボックスの文字変更
 
通知
すべてクリア

[解決済] テキストボックスの文字変更

固定ページ 1 / 2

しんた
 しんた
(@しんた)
ゲスト
結合: 22年前
投稿: 48
Topic starter  

ダイアログボックス内にあるテキストボックスの文字を変更したいのですが、

実行しようとしているプログラムは、
指定したPCにPingを発行し、その実行結果をテキストボックスに表示したいのですが、

ダイアログボックスの更新ではなくて、テキストボックスだけを更新する方法はどうすればよい
のでしょうか??


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

ダイアログボックスの更新というのがよくわかりませんが、
単にテキストボックスに文字列を設定したいなら、CWnd::SetWindowText()が使えます。

ところでPingの実行結果は取得できてるんでしょうか?
これをテキストボックスに表示する方法がわからないということ…?


返信引用
しんた
 しんた
(@しんた)
ゲスト
結合: 22年前
投稿: 48
Topic starter  

実行結果は取得できています。

文字を設定したあとに表示までしたいのです。

対象のアドレスを入力すると、同一のダイアログボックス内にある、
テキストボックスに”しばらくお待ちください”と表示されて、

実行結果を取得すると、
”OK”or”NG”と表示するプログラムを考えています。


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

>文字を設定したあとに表示までしたいのです。
表示の部分だけでしたら、Sugerさんも仰っている
CWnd::SetWindowText()はどうですか?


返信引用
Wanderer
 Wanderer
(@Wanderer)
ゲスト
結合: 22年前
投稿: 35
 

テキストボックスへのアクセス方法がわからないのでしょうか?
そうであるなら、classwizardでテキストボックスにメンバ変数
を割り当てるか、ダイアログクラス内で GetDlgItem()を使用す
るとよいでしょう。あとは sugarさんのおっしゃるとおりです。


返信引用
しんた
 しんた
(@しんた)
ゲスト
結合: 22年前
投稿: 48
Topic starter  

テキストボックスにメンバ変数(m_kekka1)として追加し、
プログラムに

m_kekka1.SetWindowText(通信OK);

といった感じで、書いてみたのですが、

'SetWindowTextA' : 'CString' のメンバではありません。
とコンパイルエラーが出てしまいます。

メンバ変数の型は何に指定したらいいのでしょうか??

それとも、なにか足らない部分があるのでしょうか??


返信引用
FAY
 FAY
(@FAY)
ゲスト
結合: 22年前
投稿: 14
 

エディットボックスをCStringのメンバ変数と
結び付けてるようなんで

m_kekka1 = 通信OK;
UpdateData(FALSE);

でできませんか?

これでだめならWanderer さんが
おっしゃってるようにしてください。


返信引用
しんた
 しんた
(@しんた)
ゲスト
結合: 22年前
投稿: 48
Topic starter  

ありがとうございます。
FAYさんの方法でうまく動きました。

新年早々、たくさんのアドバイスあ、ほんとうにありがとうございます。

これからも、いろいろ質問することがあると思うので
よろしくおねがいします。


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

> 'SetWindowTextA' : 'CString' のメンバではありません。
> とコンパイルエラーが出てしまいます。
>
という件は解決していないと思うので、一応。
SetWindowText()はCWndクラスのメンバ関数だからです。
変数の追加で、エディットボックスに対してCString型を選んだようですが、
CEditを選べばよかったんです。

CEditはCWndから派生したクラスなので、CWnd::SetWindowText()を使うことができます。


返信引用
しんた
 しんた
(@しんた)
ゲスト
結合: 22年前
投稿: 48
Topic starter  

なるほど、参考になります。
ありがとうございます。

ちなみにエディットボックスに値を入力させたくないので、
”無効”にチェックを入れると、
表示の方法と、文字の色が変わりますよね。
あれは、仕方ないのですか??
できれば、色はそのままにしたいのですが、、、。


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

こんにちわ
「無効」チェックボックスをチェックするとそのコントロールの入力を受け付けない状態になっ
てしまいます。プログラムが別処理中で入力してほしくないときに設定したりします。

したがって、しんたさんが期待する動作になりません。
こういうときは、プロパティ>スタイルにある「読み取り専用」をチェックします。

どちらにしても色が変わりますが、色を変えずに・・・って方法もあると思いますが手間がかか
ると思います。

もしくは単に文字列を表示するだけであれば、スタティックコントロールを使うという手もある
と思います。


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

以前このような質問をしました。
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200211/02110075.txt


返信引用
しんた
 しんた
(@しんた)
ゲスト
結合: 22年前
投稿: 48
Topic starter  

ありがとうございます。

確かに”読取専用”にしたほうがいいです。

しかし、アイビーム(マウスのポインタでI←こんなやつ)
すら出させたくないのですが、、、。

スタティックにするしかないのですか??


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

そういう用件であれば、スタティックコントロールが手っ取り早いですね。

読取専用は確かに表示オンリーになりますが、
表示テキストをコピーすることができるので、
マウスポインタがIビームになるのでしょう。


返信引用
しんた
 しんた
(@しんた)
ゲスト
結合: 22年前
投稿: 48
Topic starter  

アドバイスありがとうございます。

スタティックコントロールの文字は、
キャプションに書き込みますよね。

それの変更は可能なのでしょうか??

いくつか上の自分の発言にある、”しばらくお待ちください”と”OK”or”NG”
の部分に関して、この機能を実現しようとしているので、文字の変換は必須なのです。。。


返信引用
固定ページ 1 / 2

返信する

投稿者名

投稿者メールアドレス

タイトル *

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