テキストを変更しないでそのまま表示させるには?

解決


ロム—  2006-04-24 12:09:58  No: 61370  IP: 192.*.*.*

http://tserve01.aid.design.kyushu-u.ac.jp/~fujiki/vc_lecture/c_7.htm
のサイトからの疑問です。
このサイトのプログラムをそのまま作ってみたのですが、参照ボタンをクリック→開くボタンをクリック→エディットボックスに開いたファイルのテキストが表示…したあとのことです。エディットボックスのテキストを自分で編集した後、参照ボタン(二つのうちどちらでもよい)をクリックすると編集前のファイルを開いた状態にテキストが戻ってしまいました。参照ボタンを押しても編集したままのテキストでいられるためにはあと何が必要かを教えてもらえないでしょうか?
私の環境はWindows2000pro,VC++6.0,MFCです。

編集 削除
回答ではない  2006-04-24 12:20:40  No: 61371  IP: 192.*.*.*

質問ごとに名前を変えろという決まりはないです。
むしろ、あの質問の続きなんだとわかったほうが回答がつきやすいと思いますよ。

編集 削除
KING・王  2006-04-24 12:39:48  No: 61372  IP: 192.*.*.*

> 参照ボタンを押しても編集したままのテキストでいられるためにはあと何が必要かを教えてもらえないでしょうか?

エディットボックス上で編集したデータを、テキストファイルに反映させていますか?

詳しくみていませんが、参照ボタンを押すと恐らく、テキストファイルからデータを読み込み、
それをエディットボックスに表示するようなプログラムだろうと思います。

で、いくらエディットボックス上で編集しても、それをもとのテキストファイルに反映していなければ、
再度、テキストファイルから読み込んで表示することになり、
編集前のデータが表示されるのではないでしょうか?

編集 削除
ロム—  2006-04-24 12:41:53  No: 61373  IP: 192.*.*.*

あの質問の続きとはなんですか?たぶん人違いです。
”VC++6.0について”を見てこのサイトが書いてあったのでサイトのプログラムを作ってみました。でも私はまだVC++をはじめて1ヶ月ぐらいなのでわからないことがたくさんありますんで上の質問に答えてはいただけないでしょうか?

編集 削除
ロム—  2006-04-24 12:44:02  No: 61374  IP: 192.*.*.*

テキストファイルに反映させるにはどのようにしたらよいのでしょうか?

編集 削除
KING・王  2006-04-24 12:44:04  No: 61375  IP: 192.*.*.*

http://tserve01.aid.design.kyushu-u.ac.jp/~fujiki/vc_lecture/c_7.htm

> 詳しくみていませんが、参照ボタンを押すと恐らく、テキストファイルからデータを読み込み、
> それをエディットボックスに表示するようなプログラムだろうと思います。

すいません、今見ましたら勘違いしていたようです。

間違ってどっかで、OnRead()が呼ばれていませんか?

編集 削除
ロム—  2006-04-24 12:46:42  No: 61376  IP: 192.*.*.*

まだあまり理解してないのではっきりはわかりませんが、OnRead()は呼ばれてないと思います。サイトのソースをそのままコピーして作りました。

編集 削除
KING・王  2006-04-24 12:48:13  No: 61377  IP: 192.*.*.*

> テキストファイルに反映させるにはどのようにしたらよいのでしょうか?

参照されているページのOnWrite()内の処理のことです。

#回答ではありませんが、適当な位置で改行しましょう。
#メールや掲示板等では、適当な位置で改行を入れたほうが見やすくなりますので。

編集 削除
回答ではないNo2  2006-04-24 12:51:27  No: 61378  IP: 192.*.*.*

「回答ではない」さんに同感...。
なんとなく文面のつくりとか、言葉の使い方が一緒ですよね。
少しは自分で考えて調べてみてはどうでしょうか?
人頼りしすぎです。
ネエ工藤さん。

編集 削除
ロム—  2006-04-24 12:55:10  No: 61379  IP: 192.*.*.*

見にくくてすみませんでした。
回答ではないNo2さんへ
人頼りしすぎかもしれませんが言語を生まれて初めてやってるので、
全然わからないんです。
あと私は工藤さんじゃありません。

編集 削除
回答ではないNo3  2006-04-24 12:59:52  No: 61380  IP: 192.*.*.*

マナーを守ればいいことなんだから他人になりすますのはそろそろやめたらどうでしょうか?

編集 削除
ロム—  2006-04-24 13:08:29  No: 61381  IP: 192.*.*.*

何度見てもわからないでした…
もう少し色々と勉強してからこのプログラムの解析に挑戦しようと思います。
KING・王さんすみませんでした。私の力不足で解決はまだ先のようです。
ありがとうございました。

回答ではないさん達へ
人違いなのに3人いっぺんにせめられたら正直へこみますのでやめてください。

編集 削除
REE  2006-04-24 13:40:11  No: 61382  IP: 192.*.*.*

参照ボタンにOnReadが割り当てられている気がします。
その辺りを確認してみてください。

編集 削除
通りすがり  2006-04-24 14:04:18  No: 61383  IP: 192.*.*.*

・参照をクリックすると
ではなく、
・ファイル選択ダイアログでOKをクリックすると
ではないですか?

テキストボックスにm_textを割り当てて
UpdateData(FALSE);
で表示してますが、ファイル名の表示時にも
UpdateData(FALSE);
が呼ばれるので、編集前の値に戻るのでしょう。

であれば、On〜Refの頭に
UpdateData(TRUE);
を入れればいいのでは?

編集 削除
ロム—  2006-04-24 14:21:17  No: 61384  IP: 192.*.*.*

自分の理想どおりのプログラムができました。
REEさん、通りすがりさん本当にありがとうございます。
いっぱい勉強して早くみなさんの役に立ちたいです。

編集 削除
通りすがり  2006-04-24 14:24:51  No: 61385  IP: 192.*.*.*

On〜Refの頭だとキャンセル時も無駄に実行するから
m_path_〜 = fdlg.GetPathName();
の直前のほうがいいかも

まぁ大差ないですが…

編集 削除
ロム—  2006-04-24 15:37:00  No: 61386  IP: 192.*.*.*

通りすがりさん最後までありがとうございます。

編集 削除