LineNo=SendMessage(TextHwnd,EM_LINEFROMCHAR,j,0)
LineNo=LineNo 1
'向文本框傳遞EM_LINEINDEX消息以獲取所在列數
k=SendMessage(TextHwnd,EM_LINEINDEX,-1,0)
ColNo=j-k 1
EndSub
PrivateSubForm_Load()
DimLineNoAsLong,ColNoAsLong
CallGetCaretPos(Text1.hwnd,LineNo,ColNo)
Label1.Caption=LineNo
Label2.Caption=ColNo
EndSub
PrivateSubForm_Resize()
Text1.Width=Me.ScaleWidth
EndSub
PrivateSubText1_KeyUp(KeyCodeAsInteger,ShiftAsInteger)
DimLineNoAsLong,ColNoAsLong
CallGetCaretPos(Text1.hwnd,LineNo,ColNo)
Label1.Caption=LineNo
Label2.Caption=ColNo
EndSub
PrivateSubText1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
DimLineNoAsLong,ColNoAsLong
CallGetCaretPos(Text1.hwnd,LineNo,ColNo)
Label1.Caption=LineNo
Label2.Caption=ColNo
EndSub
(程序)
運行上面的程序,在TextBox中輸入字符或者按控制鍵來移動光標時,你可以看到屏幕下面的Label中就能顯示出的光標所在的位置。以上程序在Win95,VB5.0下運行通過。
->