IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Scrollbar vertical non visible d'un scrollbox synchrone avec Richedit


Sujet :

Composants VCL Delphi

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 321
    Points : 88
    Points
    88
    Par défaut Scrollbar vertical non visible d'un scrollbox synchrone avec Richedit
    Bonjour,
    J'ai un richedit et du coté droit j'ai mis le composant scrollbox avec un Panel à l'interieur. (dont je mets à côté de la ligne du richedit sur le panel une petite image!)
    Le panel à la même haute que le texte du richedit. Le but est quand je déplace le scrollbar vertical du richedit la scrollbox se déplace aussi synchrone.
    Voici comment j'ai fait et ça fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     scrollbox1.VertScrollBar.Position := GetScrollPos(RichEdit1.Handle, SB_VERT);
    Mais je ne voudrais pas que les scrollbars du scrollbox sois visible ainsi j'ai mis «.visible a false»
    En mettant la propriété à false le scrollbox ne réagi plus.

    Que pouvez-vous me proposer à résoudre ce problème, merci beaucoup.
    Salutation

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 321
    Points : 88
    Points
    88
    Par défaut
    Bonjour,
    Je viens de trouver une procédure pour capturer le mouvement du scrollbar avec WM_VSCROLL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    procedure TForm1.EdWndProc(var Msg: TMessage);
    begin
      Msg.Result := CallWindowProc(POldWndProc, RichEdit1.Handle, Msg.Msg, Msg.WParam,
        Msg.LParam);
     
      if (Msg.Msg = WM_VSCROLL)  then
      begin
        Label3.Caption :=  'Pos ' + IntToStr(HIWORD(Msg.Wparam));
      end;
    end;
    Est-ce possible de capture la touche flêche Bas/Haut (et Mouse Weel) dans cette procedure
    par example :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (Msg.Msg = WM_FLECHE_BAS ???? ) then
    Si c'est possible je vous remerci d'un petit example.
    Salutation.

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 812
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 812
    Points : 13 527
    Points
    13 527
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if Msg.Msg = WM_KEYDOWN then
      case Msg.WParam of
        VK_UP   : //Up
        VK_DOWN : //Down
      end;
    WM_KEYDOWN est aussi appelé en cas de répétition (touche maintenue enfoncée)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if Msg.Msg = WM_MOUSEWHEEL then
      if HiWord(Msg.WParam) > 0 
      then //Up
      else //Down

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 321
    Points : 88
    Points
    88
    Par défaut
    Super, c'est exactement les paramètres que je cherchais, Merci beaucoup car maintenant je peux mieux avancer.
    Je viens juste de constater que la valeur HiWord(Msg.WParam) est toujour superieur a 0
    pour que sa fonctionne et qui prend l'autre condition j'ai du changer la valeur de 0 à 120

    Puis-je l'aissez la valeur 120*???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if HiWord(Msg.WParam) > 120 then // UP
    else // Down

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/07/2005, 11h58
  2. [ClassLoader]icones non visibles
    Par phil_ma dans le forum Général Java
    Réponses: 4
    Dernier message: 19/01/2005, 20h09
  3. Capture d'une form non visible
    Par Linkin dans le forum Composants VCL
    Réponses: 3
    Dernier message: 14/04/2004, 14h58
  4. Réponses: 4
    Dernier message: 07/12/2002, 15h24
  5. Form principale non visible au demarrage!!!!
    Par toufou dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/07/2002, 21h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo