
スタイルは
const DWORD dwStyle = WS_CHILD | WS_VISIBLE | ES_MULTILINE | ES_READONLY;
処理は
CEdit m_edit;
CString buf ;
m_edit.GetWindowTextW((LPTSTR)(LPCTSTR)buf, 0);
m_edit.SetWindowTextW( buf + mes + _T("\x0d\n"));
いろいろためしたのですが、どうしても1行目を書き換えて表示
してしまいます。
文字列を行でどんどん追加していくにはどうすればいいんでしょうか?
No.2ベストアンサー
- 回答日時:
CStringでやるならば
m_edit.GetWindowTextW( buf );
buf += mes;
buf += "\r\n";
m_edit.SetWindowTextW( buf );
といった具合でいいとおもいます
この場合テキストボックスの文字列を再設定しているので長くなるとちらつきが発生するかのせいがあります
別のやり方として
// 現在の選択文字列を位置を記憶
DWORD dwSel = m_edit.GetSel();
int n = m_edit.getWindowTextLength();
m_edit.SelSel( n, n );
m_edit.ReplaseSel( mes + "\r\n" );
// 選択位置を復元
m_edit.SetSel( dwSel );
といった具合の方がいいかもしれません
すごいやり方を教えていただきました。
感動しました。こんなのは考えても思いつくものではないですね。
大変勉強になりました。ありがとうございました。
No.1
- 回答日時:
MFCを使える環境がないので参考程度に。
GetWindowTextWの第二引数が0のため、bufに元テキストが入ってないように見えます。
あとCStringをLPCTSTR等にキャストして渡していいのは参照だけで中身を変更しない場合だけだったはずです。
GetWindowText()同様にCString &を直接渡すプロトタイプも持ってそうな気もしますが……
http://msdn.microsoft.com/ja-jp/library/db50wx7h …
持ってないようなら、GetWindowTextLength()で長さを取得、その分のTCHAR[]を確保してGetWindowTextW()、CStringに変換してSetWindowTextW()、という流れでしょうか。
((LPTSTR)(LPCTSTR)は何も考えずに動いたのでいつも使っていました。
型変換の勉強しなおします。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでアルファベットか数...
-
文字列からタブコードを取り除...
-
EXCELで=より左の文字を一括で...
-
VBの「As String * 128」とは?
-
VBAでの Replace関数で、ワイル...
-
エクセルで文字列の最大値を抽...
-
エクセルで文字列をtxtファイル...
-
OnTime 使用時のプロシージャへ...
-
エクセルでセル内の文字列の最...
-
Left関数とRight関数を合わせた...
-
VBA2005 16進を2桁で表示したい。
-
エクセル 数値データを桁をそ...
-
同一セル内に関数と文字列を同...
-
C#で年月を比較する
-
Msgboxの×が押されたとき
-
grepで検索行以外の行を抽出す...
-
Excelで3E8を3.00E+8にしない方...
-
文字列の最後の文字を置き換え...
-
アクセスでのインポート時の改...
-
StringGridで選択した箇所の文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
VBAでの Replace関数で、ワイル...
-
文字列からタブコードを取り除...
-
VBA2005 16進を2桁で表示したい。
-
エクセルで文字列をtxtファイル...
-
エクセルで文字列の最大値を抽...
-
Excelで3E8を3.00E+8にしない方...
-
Left関数とRight関数を合わせた...
-
アクセスで特定の数字以外(複...
-
Msgboxの×が押されたとき
-
MS SQLServer のSQLで文字列の...
-
Excelで指数表現しないようにす...
-
【Excel VBA】複数ある特定の文...
-
ORCLEでの小数の表示方法の変更...
-
エクセル 数値データを桁をそ...
-
SQL の Update文(?) と ...
-
VBの「As String * 128」とは?
-
aaa.bbb.ccc という、「ドット...
-
同一セル内に関数と文字列を同...
おすすめ情報