• ベストアンサー

エディットコントロールの改行

hEをエディットコントロールハンドルとして str="This is a pen.\nThat is a notebook.\n"; SetWindowText(hE,str.c_str()); として エディットコントロールhEに2行の文章を書こうとしたのですが改行しないで1行の文章になってしまいました。 どうしたら改行してくれるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

改行は \r\n ですね。

keyguy
質問者

お礼

ありがとうございます。 今\r\nでうまくいくことが分かりました。 最後の手段として1語づつSendしようと思っていましたが処理時間が長くなりすぎるので躊躇していました。

その他の回答 (2)

noname#4564
noname#4564
回答No.3

改行コードは環境依存です。 UNIX / Linux では \n MS-DOS / Windows では \r\n MacOS では \r

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

ES_MULTILINEを スタイルに追加してください。

keyguy
質問者

補足

ありがとうございます。 それはすでにしています。 ちなみにスタイルは 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のパラメータをどのように設定したらいいのか分かりません。 またこれが有効なのかも分かりません。 よろしくお願いします。

関連するQ&A