エディットボックス内のカーソル行を取得          <TOP>


SendMessage ウィンドウにメッセージを送信
EM_GETLINECOUNT(&HBA) MLE(複数行編集)内の行数を取得
 

 

'================================================================
'= エディットボックス内のカーソル行を取得
'=    (SendMessage10.bas)
'================================================================
#include "Windows.bi"

' ウィンドウにメッセージを送信
Declare Function Api_SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, lParam As Any)

#define EM_GETLINECOUNT &HBA            'MLE(複数行編集)内の行数を取得

Var Shared Edit1 As Object

Edit1.Attach GetDlgItem("Edit1") : Edit1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub Edit1_Change edecl ()
Sub Edit1_Change()
    Var lineCount As Long

    lineCount = Api_SendMessage(Edit1.GethWnd, EM_GETLINECOUNT, 0, ByVal 0)
    SetWindowText Format$(lineCount, "##,###行目")
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End