• ベストアンサー

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

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

  • keyguy
  • お礼率68% (895/1314)

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

  • ベストアンサー
  • 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

  • 改行を読み飛ばす

    以下のようなファイルを読み込みたいのですが…. -------------------------------------------------- あいうえを かきくけこ さしすせそ たちつてと -------------------------------------------------- のように1行文字列があって,1行空白行(改行のみ)があって…のような繰り返しのファイルなんですが,空白行を読み飛ばして続けて -------------------------------------------------- あいうえお かきくけこ さしすせそ たちつてと -------------------------------------------------- のように表示させる場合はどのように書いたらよいですか? -------------------------------------------------- while(fgets(str,256,fpin)){   if(strcmp(str,"\n")!=0){    printf("%s\n",str);   } } -------------------------------------------------- と書いたのですが,空白行も表示されてしまいます. 何か間違えているでしょうか? それとも実はファイルの空白行は改行じゃないとかでしょうか?

  • 改行コードだけの行が現れるまでを1行として取得

    PHPでインプットファイルから、 改行コードだけの行が現れるまでを1行として取得しようと思っています。 下記例のように、 fgetsで行を取得しようとしたら、 改行が現れた時点までを1行としてしまうので、 少し違った1行の取得となってしまいました。 どうすればPHPで実現できるのか教えて欲しいです。 【例】 this is a pen. good-bye. ↓ this is a pen.good-bye. を1行分として取得したい。 # PHP 5.3.9 # CentOS 5.8 ---- $inputpath = '/home/test/test.txt'; $file = fopen($inputpath,"r") or die("open error $inputpath"); flock($file,LOCK_SH); while (!feof($file)){ $string = fgets($file,10000); print "$string"; print "\n"; } //relese the lock flock($file, LOCK_UN); //close the file fclose($file); ----

    • ベストアンサー
    • PHP
  • fputで出力した文字列を改行するには?

    PHP初心者です。 いくつかの文字列変数をテキストファイルに書き出す処理を行いたいのですが、うまく動作してくれません。 文字列変数 $str_a, $str_b, $str_cをカンマで区切ってテキスト1行でファイルに書き出しています。 $str = $str_a . ',' . $str_b . ',' . $str_c . '\\r\\n'; fputs($fp, $str); 上の2行がループで数回呼ばれた後、ファイルをクローズしているのですが、実際に作成されたテキストファイルを見ると a1,b1,c1\r\na2,b2,c2\r\n....みたいに改行が入らず"\r\n"という文字列があるだけです。希望しているのは a1,b1,c1 <-ここで改行 a2,b2,c2 <-ここも改行 という結果なのですが.... よろしくご教授お願いいたします。

    • ベストアンサー
    • PHP
  • 正規表現で改行に置換するとき

    英文で、一文ずつ改行させたいと考えています。 それで、ピリオド+スペースで改行するように、次のような置換を行いました。 「 \.\s 」→「 \.\n 」 その結果、 This is a pen. That is a pencil. ↓↓ This is a pen. That is a pencil. のような場合はOKです。 しかし、「i.e. (つまり)」「e.g.(例えば)」が文中にあると困ったことになります。 I'm John, i.e. the president of the US.  ↓↓ I'm John, i.e. the president of the US. 質問) 「i.e.」と「e.g.」を除いて置換することはできるでしょうか?

  • csv内の改行を削除

    フォームから送られてきた文章の 改行を<br />へ変換したいのですが、 $comment_a = ereg_replace("\n","<br />",$comment); としても a<br /> b<br /> c となってしまいます。 a<br />b<br />c としたいのですが、どうしたらよいのでしょうか。 $comment_b = str_replace("\n", "", $comment_a); を追記したのですが、うまくいきませんでした。

    • ベストアンサー
    • PHP
  • ワード2003で改行を外す

    (Aさん)あいうえお。改行 改行 (Bさん)かきくけこ。改行 改行 (Cさん)さしすせそ。 ----------------------------------------------- 上記のような文章を、 ----------------------------------------------- (Aさん)あいうえお。改行 (Bさん)かきくけこ。改行 (Cさん)さしすせそ。 ----------------------------------------------- のように簡単に変更する方法はないでしょうか。 実は、2000行近い入力データで、仕様では2番目のようにしなければならなかったのに、冒頭のように1行ずつ改行してしまい、いま1行ずつ、ワードの文章の改行を抜いているところです。いつまでかかることやら・・・ なにか良い方法がありましたら、なにとぞご教授ください。

  • PHPでの単語の出現回数表示

    単語 回数  I   1 am 1 a 4 boy 2 . 4 This 1 is 3 pen 1 That 1 desk 1 He 1         ↑ ずれてしまいますが回数と同じ行です。 と上のように出したいのですが何をすればいいのかがわかりません参考書等を見てforeachを使うことがわかったのですが使い方がいまいちよくわかりませんどうかお願いします! 自分なりにやってみたのが下です <HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY> <?php $str ="I am a boy.This is a pen.That is a desk.He is a boy."; $data = split(" ",$str); foreach($data as $tango) $count[tango]++; foreach($count as $tango => $value){ print "<tr><td align='center'>$tango</td>"; print "<td align='right'>$value</td></tr>"; ?> </BODY> </HTML>

    • ベストアンサー
    • PHP
  • 親ウィンドウの領域外でも表示されるエディットボックスについて

    親ウィンドウの領域外でも表示されるエディットボックスについて VisualStudio2005でMFCアプリを作っています。 親ウィンドウに指定したコントロールの領域外でも 表示されるようなエディットボックスを作りたいのですが、方法はありますか? イメージとしては、ダイアログ上にボタンがあって、 そのボタンを押すとエディットコントロールが表示され、入力待ちとなるようなものです。 このエディットには改行を入力させるのですが、改行してウィンドウサイズを大きくしていくと、 ダイアログの下の端でエディットボックスが途切れてしまいます。 ダイアログの下より大きくなっても全体が表示されるようにしたいんです。 このエディットの生成は次のような感じで行っています。 DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_AUTOHSCROLL | ES_MULTILINE | ES_WANTRETURN; m_edit.Create(dwStyle, rect, this/*ダイアログ*/, -1); よろしくお願いします。

  • 改行

    改行 テキストファイルに書かれている文章にいくつパラグラフと行があるか調べたいのですが、 1行ずつ読み込んで、もし改行だけしか読み込まなかったらパラグラフカウンターを+1しようと思いプログラムを組んだのですが、 改行は"\n"でいいのでしょうか? テキストファイルの例 Laying Tile Requires Stick-to-itiveness. Today's topic for homeowners is: How to install a tile floor. Any home decorator will tell you that there is nothing quite like a tile floor for transforming an ordinary room into an orinary room that has tile on the floor. プログラム int line = 0; int paragraph = 1; String = temp; String fileName = "ファイルアドレス"; BufferedReader br = new BufferedReader(new FileReader(fileName)); while ((temp = br.readLine()) != null) { line++; if(temp.equals("\n")){ paragraph++; } } しかしこれだと、次のパラグラフに移ってもパラグラフカウンターが1のままになってしまいます。 テキストファイル中のパラグラフとパラグラフの間には改行がはさんであるので、1つのパラグラフの読み込みが終われば、次にtempには改行が読み込まれると思うのですが、 temp.equals("\n")ではダメなのでしょうか? 上のテキストファイルの例では、パラグラフ数は3、行数は7です。

    • ベストアンサー
    • Java
  • 秀丸で、1行目と2行目を入れ替える。

    秀丸で、1行目と2行目、3行目と4行目(以下、同様に5行目と6行目・・・と続く)を入れ替える方法を教えて頂けませんか。以前、同様の質問があったと思いますが、検索をかけても出てきません。 [データ例] これはペンです。 This is a pen. これもペンです。 This is also a pen. これはペンですか。 Is this a pen? 但し、奇数行は日本語とは限りませんし、偶数行も英語とは限りません。 お願いします。

専門家に質問してみよう