テキストボックスのカーソル位置の座標を取得するには?

解決


IOD  2005-12-22 02:45:25  No: 129164

テキストボックスの現在のカーソル位置の座標を取得することは可能でしょうか。カーソルの横に、ラベルを表示したいのですが分かりません。
知っている方アドバイスお願いします。


我龍院忠太  2005-12-22 03:20:11  No: 129165

GetCaretPos


我龍院忠太  2005-12-22 18:49:35  No: 129166

よく考えたら。LabelはTextの前面に出ないジャン。(^^;
LabelをFrameの上に乗っけて置いて、

Option Explicit
Private Declare Function GetCaretPos Lib "user32" _
    (lpPoint As POINTAPI) As Long
Private Type POINTAPI
        X As Long
        Y As Long
End Type
Private Declare Function SendMessage Lib "user32" _
    Alias "SendMessageA" _
    (ByVal hWnd As Long, ByVal wMsg As Long, _
    ByVal wParam As Long, lParam As Any) As Long
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    Dim lpPoint As POINTAPI
    GetCaretPos lpPoint
    Frame1.Top = lpPoint.Y * Screen.TwipsPerPixelY
    If Frame1.Top > Text1.Top + Text1.Height Then
        Frame1.Top = Text1.Top + Text1.Height - Frame1.Height
    End If
    Frame1.Left = lpPoint.X * Screen.TwipsPerPixelX + Text1.Left + 150
End Sub

細かい調整など何もしてない概略です。


我龍院忠太  2005-12-22 18:56:31  No: 129167

追伸:
SendMessageの宣言はいりません。
チョンボ多いな。(^^;


IOD  2005-12-23 02:17:07  No: 129168

我龍院忠太様、返信ありがとうございます。
上記のコードで、うまく出来そうです。ありがとうございました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加