改行できません。間違いを直していただけませんか?

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
矢田裕康
記事: 13
登録日時: 2005年10月01日(土) 18:38

改行できません。間違いを直していただけませんか?

#1 投稿記事 by 矢田裕康 »

エディットボックスに改行して下の様に表示したいです。
 ABCD=10
 EFG =20

Sub MainWnd_CmdBtn1_Click()
Dim lpByte As BytePtr
Dim buf As String
Dim CRLF As String
Dim a As Long

CRLF=Ex"\r\n"
a=10
buf="ABCD="+Str$(a)+CRLF
buf=buf+"EFG ="+Str$(a*2)

lpByte=malloc(100)
lstrcpy(lpByte,buf)

SetDlgItemText(hMainWnd,EditBox1,buf)

free(lpByte)
End Sub
メッセージボックスには改行できます
CRLF=Chr$(13)+Chr$(10)にしても改行できません
N88で作ったプログラムを改良して、メニューとボタン付のウィンドウで、5行ほど表示する計算プログラムを作りたいです。よろしくお願いいたします。
Mario2
記事: 205
登録日時: 2005年5月31日(火) 13:31
お住まい: 大阪市
連絡する:

Re: 改行できません。間違いを直していただけませんか?

#2 投稿記事 by Mario2 »

ウィンドウプロパティでEditBox1の「複数行」・「改行を許可」にチェックは入っているでしょうか?まず、チェックが入っているか確認してみてください。
あと、この「lpByte」は何の目的で使っているのでしょうか?何も使っていない場合は、以下のようにできます。

コード: 全て選択

Sub MainWnd_CmdBtn1_Click()
Dim buf As String
Dim CRLF As String
Dim a As Long

CRLF=Ex"\r\n"  
a=10
buf="ABCD="+Str$(a)+CRLF
buf=buf+"EFG ="+Str$(a*2)

SetDlgItemText(hMainWnd,EditBox1,buf)

End Sub
あと、もう少しすっきりできます。

コード: 全て選択

Sub MainWnd_CmdBtn1_Click()
Dim buf As String
Dim a As Long

a=10
buf="ABCD="+Str$(a)+Ex"\r\n"+"EFG ="+Str$(a*2)

SetDlgItemText(hMainWnd,EditBox1,buf)

End Sub
見やすさで考えると、上のコードは見にくいですけど…。
hira
記事: 203
登録日時: 2005年5月31日(火) 20:14
お住まい: 兵庫県
連絡する:

Re: 改行できません。間違いを直していただけませんか?

#3 投稿記事 by hira »

見やすさで考えると、上のコードは見にくいですけど…。
こうすると少しは見やすくなるかもしれません。

コード: 全て選択

Sub MainWnd_CmdBtn1_Click()
Dim buf As String
Dim a As Long

a=10
buf=ZeroString(100)
wsprintf(buf,Ex"ABCD=%d\r\nEFG =%d",a,a*2)

SetDlgItemText(hMainWnd,EditBox1,buf)

End Sub
やっぱり見にくいか…(^^;
矢田裕康
記事: 13
登録日時: 2005年10月01日(土) 18:38

改行できません。間違いを直していただけませんか?

#4 投稿記事 by 矢田裕康 »

有難うございました。「複数行」にチェック 全く気が付きませんでした。
チェックしてコンパイル仕直したら改行できました。
メモリは確保しなくても良いということですね。
丸2日悩んでしまいました。うまく出来たら会社で材料計算に使ってもらおうと思っています。
返信する