EditBoxに位置を指定して表示する

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
田中 宏
記事: 11
登録日時: 2008年3月31日(月) 19:04
お住まい: 東京都

EditBoxに位置を指定して表示する

#1 投稿記事 by 田中 宏 »

はじめまして
初めて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で位置を指定したつもりです。
最後に編集したユーザー 田中 宏 [ 2008年11月20日(木) 17:55 ], 累計 1 回
M.K
記事: 18
登録日時: 2005年6月07日(火) 22:06
お住まい: 長崎県

Re:EditBoxに位置を指定して表示する

#2 投稿記事 by M.K »

こんばんは、
そちらの目的に沿った返事かどうかわかりませんが...

まず、EditBox自体のフォントが可変ピッチフォント(MS Pゴシック・UIゴシックなど)だと文字によって幅が変化するためキレイに整列できません。「MS ゴシック」などの固定ピッチフォントを使用してみてください。

あと、項目ごとに整列表示する方法として「リストビューコントロール」を検討してみては
いかがでしょうか?
田中 宏
記事: 11
登録日時: 2008年3月31日(月) 19:04
お住まい: 東京都

#3 投稿記事 by 田中 宏 »

M.Kさん、返信ありがとうございます。
フォントはMSゴシックです。
リストビューコントロールについて、調べて検討してみます。
結果はあらためてご報告いたします。
田中 宏
記事: 11
登録日時: 2008年3月31日(月) 19:04
お住まい: 東京都

リストビューへ表示する

#4 投稿記事 by 田中 宏 »

リストビュー? RADツールの「コントロール」一覧に載っていたのですが使用方法等、
解説が無くどうしたものかと、いろいろ検索しているとabfanというサイトにたどり着き
そこに詳しい解説とコードまで表示されていました。
おかげさまでリストビューに表示することが出来る様になりました。
エディタと比べるとコードも増えかなり扱いにくい感じはありますが、表示位置を容易に
指定できるのが利点です。
ABユーザーの方、みなさん親切な方ばかりだなと痛感しました。
これからもよろしくお願いいたします。ありがとうございました。
返信する