Masquer curseur de manière permanente ds RTFbox

cs_nightfever Messages postés 3 Date d'inscription vendredi 26 avril 2002 Statut Membre Dernière intervention 25 mai 2003 - 24 mai 2003 à 18:35
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 25 mai 2003 à 10:23
bonjour,

je n'arrive pas à masquer le curseur d'une richtextbox
pourtant j'utilise la conction hidecaret(rtfbox.hwnd) dans le form_activate, formesize de la manière suivante:
resultat = HideCaret(Channel.hwnd)

j ai bien declare la fonction de l'api

Merci d'avance pour vôtre aide

3 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 mai 2003 à 19:33
oui, tu met un timer pour detecter si tu es dessus ou pas....

et tu appelles l'API ShowCursor(1/0), c'est plutôt efficace !
-----------------------------------------------------------------------
By Renfield

thomas_reynald@msn.com

Aucune touche n'a été bléssée lors de la saisie de ce texte..........
0
cs_nightfever Messages postés 3 Date d'inscription vendredi 26 avril 2002 Statut Membre Dernière intervention 25 mai 2003
25 mai 2003 à 00:30
pourrais tu me dire ce que tu mets ds ce timer ?

merci d'avance
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 mai 2003 à 10:23
avec les declarations d'api suivantes :
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long 'OK
Public Declare Function ScreenToClient Lib "user32" (ByVal hWnd As Long, lpPoint As POINTAPI) As Long 'OK
Public Declare Function GetClientRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long 'OK
Public Declare Function ShowCursor Lib "user32" Alias "ShowCursor" (ByVal bShow As Long) As Long

public sub MasquerCurseur ( Masquer as Boolean )
if Masquer then
while showCursor ( 0 ) > 0 : Wend
else
while showCursor ( 1 ) < 0 : Wend
Endif
end sub


et ca pour ton timer
Private Sub Timer1_Timer()
    Dim R As RECT
    Dim Mouse As POINTAPI
    Call GetCursorPos(Mouse)
    Call GetClientRect(rtf.hWnd, R)
    Call ScreenToClient(rtf.hWnd, Mouse)
    
    If 0 = PtInRect(R, Mouse.x, Mouse.y) Then
        'on est pas au dessus du RTF
        If mOver Then Call MasquerCurseur ( False )
        mOver = False
    Else
        If Not mOver Then MasquerCurseur ( True )
        mOver = True
    End If
End Sub

-----------------------------------------------------------------------
By Renfield

thomas_reynald@msn.com

Aucune touche n'a été bléssée lors de la saisie de ce texte..........
0
Rejoignez-nous