ab.com コミュニティ
https://www.activebasic.com/forum/

行番号付きエディットボックス
https://www.activebasic.com/forum/viewtopic.php?t=1284
ページ 11

作成者:  k2 [ 2006年8月04日(金) 21:41 ]
記事の件名:  行番号付きエディットボックス

作成してみたので投稿します。

RADツールでEditBox1という名前のエディットボックスを作成し、
以下のコードを貼り付けてください。

MainWnd.sbp:

作成者:  MML [ 2006年8月25日(金) 09:05 ]
記事の件名:  Re: 行番号付きエディットボックス

これすごいですね!
使わせていただきます!!

作成者:  konisi [ 2006年8月25日(金) 13:45 ]
記事の件名:  Re:行番号付きエディットボックス

DrawTextLine関数内の
コード:
    For i=topLine To cntLine 
        str=Str$(i+1) 
        pos=SendMessage(hWnd, EM_LINEINDEX, i, 0) 
        pos=SendMessage(hWnd, EM_POSFROMCHAR, pos, 0) 
        rc.top=HIWORD(pos) 

        If rc.top>=rc.bottom Then Exit For 

        DrawText(hdc, StrPtr(str), -1, rc, DT_RIGHT Or DT_TOP Or DT_SINGLELINE Or DT_NOCLIP) 
    Next
の部分を
コード:
	rc.top=-12
    For i=topLine To cntLine-1
        str=Str$(i+1)
        rc.top+=12
        If rc.top>=rc.bottom-12 Then Exit For
        DrawText(hdc, StrPtr(str), -1, rc, DT_RIGHT Or DT_TOP Or DT_SINGLELINE Or DT_NOCLIP)
    Next
と書き換えれば、AB4.2xのエディタのような現象が起こらなくなります。
また、そのように書き換えた場合、変数posはいらなくなるので宣言しなくても大丈夫です。

作成者:  SIZUYA [ 2006年8月29日(火) 17:39 ]
記事の件名:  ちょっとしたメモ

コード:
'-----------------------------------------------------------------------------
' ここから下は、イベントプロシージャを記述するための領域になります。

Sub MainWnd_Destroy()
    TextBoxSample_DestroyObjects()
    PostQuitMessage(0)
End Sub

 TestBoxSample_DestroyObjects() の、
 TestBoxSample を、
作成したプロジェクト名に変えるとバグが出なくなります。


メモ書き程度に報告しておきます。

作成者:  S/AL [ 2007年9月17日(月) 15:48 ]
記事の件名: 

これは使えますね!
いただいていきますw

作成者:  淡幻星 [ 2007年10月13日(土) 14:14 ]
記事の件名:  少々モジュール化してみました。

グローバル変数を無くしてみました。
Edit窓のフォントサイズで行数描画するようにしてあります。


以下の関数を定義しておき、 Edit窓が貼り付けられている親窓のメッセージプロシージャで、
WM_CTLCOLOREDITメッセージが送られたら、
コード:
DrawTextLine( lParam, 32 )
で呼び出してください。
  第一引数・・・描画中のEdit窓
  第二引数・・・行数表示領域の横幅

これで、Edit窓の左外側に行数が表示されます。

なお、WM_CTLCOLOREDITメッセージを捉まえて処理をした場合は、
メッセージプロシージャは
引用:
コントロールの背景を描画するときに
使われたブラシのハンドルを返すか 0を返さなければならない
らしいです。参考までに。


【追記】at 2015/09/06
読み取り専用属性の付いたEdit窓に対しては、
WM_CTLCOLORSTATICメッセージを捉まえて処理してください。

作成者:  三毛CAT [ 2008年11月15日(土) 19:59 ]
記事の件名:  淡幻星さんへ

ありがとうございます。
便利に使わせていただきます。

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/