- ベストアンサー
エディットコントロールの改行
hEをエディットコントロールハンドルとして str="This is a pen.\nThat is a notebook.\n"; SetWindowText(hE,str.c_str()); として エディットコントロールhEに2行の文章を書こうとしたのですが改行しないで1行の文章になってしまいました。 どうしたら改行してくれるでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
改行は \r\n ですね。
その他の回答 (2)
noname#4564
回答No.3
改行コードは環境依存です。 UNIX / Linux では \n MS-DOS / Windows では \r\n MacOS では \r
- taka_tetsu
- ベストアンサー率65% (1020/1553)
回答No.1
ES_MULTILINEを スタイルに追加してください。
質問者
補足
ありがとうございます。 それはすでにしています。 ちなみにスタイルは hE=CreateWindow ("EDIT",NULL,WS_CHILD|WS_VISIBLE|ES_MULTILINE|ES_AUTOVSCROLL|WS_VSCROLL|WS_BORDER,0,0,0,0,hWmain,HMENU(IDE),hI,NULL); (後でサイズを画面いっぱいに変更しています。) ソフト改行のセットをすればいい中と思って SendMessage(hE,EM_FMTLINES,0,0); とか SendMessage(hE,EM_FMTLINES,1,0); とかしてみましたが全く変化がありません。 というよりEM_FMTLINESのパラメータをどのように設定したらいいのか分かりません。 またこれが有効なのかも分かりません。 よろしくお願いします。
お礼
ありがとうございます。 今\r\nでうまくいくことが分かりました。 最後の手段として1語づつSendしようと思っていましたが処理時間が長くなりすぎるので躊躇していました。