EditBoxに位置を指定して表示する
Posted: 2008年4月01日(火) 14:34
はじめまして
初めてABでプログラミングしています。(Ver.4.24)
プログラムの経験はN88BASICのみです。
kadushi氏や皆様方のコードを参考にRS232Cの通信プログラムを作りました。
受信したデータは19項目有り、それをエディタに、1行に2項目ずつ揃えて表示
したいのですが思うようにいきません。1項目目はスペースを入れて揃えたの
ですが、2項目目は1項目目の文字数により位置がずれてしまいます。
そこで*印の2行を加えてみたのですが何も変わりません。
EditBoxに位置を指定して表示する方法をご教授願えないでしょうか。
よろしくお願いいたします。
---前略---
'エディタ表示
Sub AddStr(ByVal hWnd As HWND,ByVal hID As Long,ByVal lpStr As String)
SendMessage(GetDlgItem(hWnd,hID),EM_REPLACESEL,TRUE,lpStr)
End Sub
---中略---
If lstrcmp(DisN, "M1") = 0 Then '1
AddStr(hMainWnd, EditBox1, " 計 測 値")
AddStr(hMainWnd, EditBox1, Ex" "+Str$(Val(Data))+" ℃")
End If
If lstrcmp(DisN, "M2") = 0 Then '2
AddStr(hMainWnd, EditBox1,Ex"\r") '*1
SendMessage(GetDlgItem(hMainWnd,EditBox1),EM_LINESCROLL,50,0) '*2
AddStr(hMainWnd, EditBox1, " 電流検出器入力")
AddStr(hMainWnd, EditBox1, Ex" "+Str$(Val(Data)))
AddStr(hMainWnd, EditBox1, Ex"\r\n")
End If
If lstrcmp(DisN, "AA") = 0 Then '3
AddStr(hMainWnd, EditBox1, " 上 下 限 警 報")
If Val(Data) = 0 Then
AddStr(hMainWnd, EditBox1, " OFF")
Else
AddStr(hMainWnd, EditBox1, " ON")
End If
End If
---後略---
*1で行頭へ移動し、*2で位置を指定したつもりです。
初めてABでプログラミングしています。(Ver.4.24)
プログラムの経験はN88BASICのみです。
kadushi氏や皆様方のコードを参考にRS232Cの通信プログラムを作りました。
受信したデータは19項目有り、それをエディタに、1行に2項目ずつ揃えて表示
したいのですが思うようにいきません。1項目目はスペースを入れて揃えたの
ですが、2項目目は1項目目の文字数により位置がずれてしまいます。
そこで*印の2行を加えてみたのですが何も変わりません。
EditBoxに位置を指定して表示する方法をご教授願えないでしょうか。
よろしくお願いいたします。
---前略---
'エディタ表示
Sub AddStr(ByVal hWnd As HWND,ByVal hID As Long,ByVal lpStr As String)
SendMessage(GetDlgItem(hWnd,hID),EM_REPLACESEL,TRUE,lpStr)
End Sub
---中略---
If lstrcmp(DisN, "M1") = 0 Then '1
AddStr(hMainWnd, EditBox1, " 計 測 値")
AddStr(hMainWnd, EditBox1, Ex" "+Str$(Val(Data))+" ℃")
End If
If lstrcmp(DisN, "M2") = 0 Then '2
AddStr(hMainWnd, EditBox1,Ex"\r") '*1
SendMessage(GetDlgItem(hMainWnd,EditBox1),EM_LINESCROLL,50,0) '*2
AddStr(hMainWnd, EditBox1, " 電流検出器入力")
AddStr(hMainWnd, EditBox1, Ex" "+Str$(Val(Data)))
AddStr(hMainWnd, EditBox1, Ex"\r\n")
End If
If lstrcmp(DisN, "AA") = 0 Then '3
AddStr(hMainWnd, EditBox1, " 上 下 限 警 報")
If Val(Data) = 0 Then
AddStr(hMainWnd, EditBox1, " OFF")
Else
AddStr(hMainWnd, EditBox1, " ON")
End If
End If
---後略---
*1で行頭へ移動し、*2で位置を指定したつもりです。