[リストへもどる]
一括表示

投稿時間:2004/03/04(Thu) 13:48
投稿者名:春まだか
URL :
タイトル:
RichTextBoxのカーソルがある位置のX,Yの座標
RichTextBoxで入力文字の候補をリストで表示する為、
RichTextBoxのカーソルがある位置のX,Yの座標を知りたいのですが、
ご存知の方教えてください。

投稿時間:2004/03/04(Thu) 14:26
投稿者名:ねろ
URL :
タイトル:
Re: RichTextBoxのカーソルがある位置のX,Yの座標
> RichTextBoxで入力文字の候補をリストで表示する為、
> RichTextBoxのカーソルがある位置のX,Yの座標を知りたいのですが、
> ご存知の方教えてください。
APIの GetCaretPosを使って現在のキャレットの位置を取得し
ScaleModeがTwipsの場合、Screen.TwipsPerPixelXとScreen.TwipsPerPixelYで
ピクセルをTipsに変換する、たぶんこれで。

投稿時間:2004/03/04(Thu) 15:03
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: RichTextBoxのカーソルがある位置のX,Yの座標
ここの逆引きヘルプの[リッチ及びテキストボックス内の総行数・現在行・
現在桁の取得(076)]では参考になりませんか?

投稿時間:2004/03/04(Thu) 15:57
投稿者名:春まだか
URL :
タイトル:
APIで出来ました!
> ここの逆引きヘルプの[リッチ及びテキストボックス内の総行数・現在行・
> 現在桁の取得(076)]では参考になりませんか?
ねろさん、花ちゃんありがとうございました。
結局
Private Declare Function GetCaretPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
        x As Long
        y As Long
End Type
  
Dim lpPoint As POINTAPI
dim r
dim xx , yy
r = GetCaretPos(lpPoint)
xx = lpPoint.x * Screen.TwipsPerPixelX + RichTextBox1.Left
yy = lpPoint.y * Screen.TwipsPerPixelY + RichTextBox1.Top
Label1.Top = yy
Label1.Left = xx
となりました。