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

API, COM et SDKs Delphi Discussion :

barre de tâche Windows


Sujet :

API, COM et SDKs Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 4
    Points : 5
    Points
    5
    Par défaut barre de tâche Windows
    comment accéder aux propriétés de la barre de tâches Windows?
    Je voudrais en connaître la hauteur.

  2. #2
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 25
    Points : 37
    Points
    37
    Par défaut
    salut,

    Voilà un exemple de code qui calcule la hauteur et la largeur de la barre des taches....

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    var
      Form1: TForm1;
      Mytaskbar:Tappbardata; // doit etre en global : ?
     
    implementation
     
    {$R *.DFM}
     
    procedure TForm1.Button1Click(Sender: TObject);
     
    var  h,w:integer;
     
    begin
         Mytaskbar.cbSize:=sizeof(Mytaskbar);
     
         SHAppBarMessage(ABM_GETTASKBARPOS, Mytaskbar);
     
         case Mytaskbar.uEdge of
         ABE_BOTTOM:
           begin
                h:=abs(Mytaskbar.rc.bottom-Mytaskbar.rc.top);
                w:=abs(Mytaskbar.rc.right-Mytaskbar.rc.left);
           end;
         ABE_TOP:
           begin
                h:=abs(Mytaskbar.rc.bottom-Mytaskbar.rc.top);
                w:=abs(Mytaskbar.rc.right-Mytaskbar.rc.left);
           end;
         ABE_RIGHT:
           begin
                h:=abs(Mytaskbar.rc.bottom-Mytaskbar.rc.top);
                w:=abs(Mytaskbar.rc.right-Mytaskbar.rc.left);
           end;
         ABE_LEFT:
           begin
                h:=abs(Mytaskbar.rc.bottom-Mytaskbar.rc.top);
                w:=abs(Mytaskbar.rc.right-Mytaskbar.rc.left);
           end;
         end;
         showmessage('Width='+inttostr(w)+'  height='+inttostr(h));
    end;
    A noter :

    * il faut inclure dans les uses l'unité ShellAPI
    * ici le calcul est le meme dans tous les cas, c'est juste pour montrer comment reperer la position de la barre ( gauche, droite ... )
    * Il faut mettre la variable Mytaskbar en global et non pas en local , sinon ca ne marche pas ( ??? )
    * ca ne marche pas sur Winnt 4

    @+
    ;-) phenix

  3. #3
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Autre solution...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function GetTaskBarSize: TPoint;
    var
      TaskBar: HWnd;
      R: TRect;
    begin
      TaskBar := FindWindow('Shell_TrayWnd', '');
      GetWindowRect(TaskBar, R);
      Result.X := Abs(R.Right - R.Left + 1);
      Result.Y := Abs(R.Bottom - R.Top + 1);
    end;

    A+
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  4. #4
    Futur Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Merci phenixauthor mais j'opte pour la solution d' Hdd34 qui est beaucoup plus simple.
    Merci à tous les deux.

  5. #5
    Membre du Club Avatar de DarkChamallo
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 113
    Points : 56
    Points
    56
    Par défaut merci phenixauthor
    Merci phenixauthor c'est exactement ce dont j'avais besoin


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

Discussions similaires

  1. [Source] VDM dans la barre des tâches Windows
    Par moithibault dans le forum Contribuez
    Réponses: 3
    Dernier message: 23/01/2011, 19h53
  2. Masquer nouveau shell dans barre des tâches Windows?
    Par pssst dans le forum SWT/JFace
    Réponses: 7
    Dernier message: 13/05/2009, 13h05
  3. [Window] Comment ne pas masquer la Barre de tâche Windows ?
    Par Archeone dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 11/10/2008, 15h52
  4. Barre des Tâches Windows
    Par bandit boy dans le forum C++Builder
    Réponses: 7
    Dernier message: 03/05/2006, 10h05

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