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

 Delphi Discussion :

Accéder aux propriétés du scollBar d'un DbGrid ?


Sujet :

Delphi

  1. #1
    Membre éclairé Avatar de peter27x
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut Accéder aux propriétés du scollBar d'un DbGrid ?
    Hello,

    ayant utilisé un objet TScrollBar, je pouvais manipuler les paramètres de la scrollBar.

    Mais avec un contrôle graphique comme par exemple un DbGrid, comment accéder à ces sacro-saintes informations afin de lui inoculer le comportement désiré ?

    Merci.

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 421
    Points : 5 820
    Points
    5 820
    Par défaut
    salut

    ce n'est pas bien précis comme question que veut tu faire exactement.
    en premier lieu recherche sur le forum je me souvient avoir déjà répondu plus d'un fois sur différente question concernant le scroll

    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  3. #3
    Membre éclairé Avatar de peter27x
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut
    Citation Envoyé par anapurna Voir le message
    salut

    ce n'est pas bien précis comme question que veut tu faire exactement.
    en premier lieu recherche sur le forum je me souvient avoir déjà répondu plus d'un fois sur différente question concernant le scroll

    @+ Phil

    Déjà cherché y'a pas ce que je cherche.

    Avec un TScrollBar qu'on colle dans une frame, on peut ensuite accéder à ces propriétés propre à TScrollBar:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	Kind
    	LargeChange
    	Max
    	Min
    	Position
    	SmallChange
    	Track
    Mais depuis un objet type DBGrid, comment y accéder ?

    C'est ça ma question.

    Sinon ben c'est afin de pouvoir faire ce que l'on veut avec.

  4. #4
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 421
    Points : 5 820
    Points
    5 820
    Par défaut
    salut

    le seul moyen pour accéder a ces éléments cet à partir des message windows
    ce n'est pas un sous composant TScollbar

    pour le positionnement tu as lefcol et toprow qui te permette de déplacer la grille

    le reste il faut utiliser les message pour obtenir le même résultat
    voir
    SetScrollRange
    SetScrollInfo
    SetScrollPos

    par exemple j'ai un peu cacher le scrolbar verticale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      SetScrollRange(mydbgrid.Handle, SB_VERT, 0, 0, False);
    pour récupérer les infos, tu peut utiliser GetScrollInfo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     SI: TScrollInfo;
    ...
       SI.cbSize := sizeof(SI);
       SI.fMask := SIF_ALL;
       GetScrollInfo(mydbgrid.Handle, SB_VERT, SI);
    a toi de jouer

    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 426
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 426
    Points : 1 326
    Points
    1 326
    Par défaut Utilisez les messages Windows
    @ Peter27x, l'Expert anapurna a raison, voici un exemple pour un scroll.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    private
      OldGridProc: TWndMethod;
      procedure GridWindowProc(var Message: TMessage);
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      OldGridProc        := DBGrid1.WindowProc;
      DBGrid1.WindowProc := GridWindowProc;
    end;
     
    procedure TForm1.GridWindowProc(var Message: TMessage);
    var
      Pos: SmallInt;
    begin
      OldGridProc(Message);
      if Message.Msg = WM_VSCROLL then  //or WM_HSCROLL
      begin
        Pos          := Message.WParamHi;  //Scrollbox position
        Table1.RecNo := Pos;
      end;
    end;
    @+,

    Cincap

  6. #6
    Membre éclairé Avatar de peter27x
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 029
    Points : 757
    Points
    757
    Par défaut
    OK, merci les gars.

    C'est ma collègue qui va être contente...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/01/2007, 14h09
  2. Accéder aux propriétés d'un objet créé au runtime
    Par zarbouine dans le forum Delphi
    Réponses: 6
    Dernier message: 14/12/2006, 17h03
  3. Réponses: 6
    Dernier message: 25/09/2006, 17h08
  4. Accéder aux propriétés d'une feuille de style liée
    Par b Oo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/05/2006, 08h34
  5. [C#]Accéder aux propriétés d'un User Control
    Par djoao dans le forum Windows Forms
    Réponses: 6
    Dernier message: 10/03/2006, 09h54

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