スタティックテキストにうまく表示出来ないのは何故 – プログラミング – Home

スタティックテキストにうまく表示出来な...
 
通知
すべてクリア

[解決済] スタティックテキストにうまく表示出来ないのは何故


みのすけ
 みのすけ
(@みのすけ)
ゲスト
結合: 22年前
投稿: 64
Topic starter  

VC++6.0 でプロを作っています

エディットボックッス IDC_TE3 に1文字入力して( '0'か '7')スタティックテキスト
IDC_LB1 に表示させたいのですが一回目はうまくいくのに2回目はうまく表示しない
のは何故でしょうか。
どなたか教えてください。

void CGPS_16Dlg::OnChangeTE3()
{
p=(CEdit*)GetDlgItem(IDC_TE3);
p->GetWindowText(tmp);

if(strcmp(tmp,0)==0){
SetDlgItemText(IDC_LB1,0);
}
if(strcmp(tmp,7)==0){
SetDlgItemText(IDC_LB1,7);
}
}


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

2回目はどううまくいかないのか、どんな挙動になるのか、
もっと詳しい情報をお願いします。


返信引用
みのすけ
 みのすけ
(@みのすけ)
ゲスト
結合: 22年前
投稿: 64
Topic starter  

VC++ MFC ダイアログボックスでプログラムを作っています。

説明が不十分でした。
IDC_TE3 でカーソルが点滅している時、'0'を入力すると'0'を表示するのですが
続けて '7'を入力しても表示は '0'のままです。


返信引用
たみあ
 たみあ
(@たみあ)
ゲスト
結合: 22年前
投稿: 57
 

念のためにお聞きしますが

0 を入力したあと、 0 を削除(消して) 7 を入力していますよね?


返信引用
ナオーバ
 ナオーバ
(@ナオーバ)
ゲスト
結合: 23年前
投稿: 187
 

はずしていたら無視して下さい。

>IDC_TE3 でカーソルが点滅している時、'0'を入力すると'0'を表示するのですが
>続けて '7'を入力しても表示は '0'のままです。

「続けて '7'を入力しても」の時は'0'を削除しそれから'7'を入力していますか?
'0'を削除しないと tmp は'07'となり比較した時に違うのでIDC_LB1に反映しません。

あと「点滅している時」って何でしょう?
「点滅している時」のみ動作するようになっていませんか?

以上です


返信引用
みのすけ
 みのすけ
(@みのすけ)
ゲスト
結合: 22年前
投稿: 64
Topic starter  

IDC_TE3 のエディットボックスに入力した数字が表示されないので
'0'に続けて'7'を入力していました。

BACK SPACE で一文字消してから、入力するとうまくいきます。
この BACK SPACE で一文字消さずに、プログラムで消すことは出来ないでしょうか


返信引用
みのすけ
 みのすけ
(@みのすけ)
ゲスト
結合: 22年前
投稿: 64
Topic starter  

IDC_TE3 にメンバー変数を割り付け(m_TE3)
プログラムに以下の二行を追加で解決しました。
コメント有り難うございました。

void CGPS_16Dlg::OnChangeTE3()
{
p=(CEdit*)GetDlgItem(IDC_TE3);
p->GetWindowText(tmp);

if(strcmp(tmp,0)==0){
SetDlgItemText(IDC_LB1,0);
}
if(strcmp(tmp,7)==0){
SetDlgItemText(IDC_LB1,7);
}
==> m_TE3=";
==> UpdateData(FALSE);
}


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

メンバ変数でもいいですけど、
SetDlgItemText(IDC_TE3, ");
とか、
p->SetWindowText(");
でよいのでは?


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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