Pour que la form ne se cache pas sous barre de tache [Résolu]

cocowz 89 Messages postés lundi 28 novembre 2005Date d'inscription 25 février 2007 Dernière intervention - 11 févr. 2007 à 20:59 - Dernière réponse : ThWilliam 424 Messages postés mardi 3 janvier 2006Date d'inscription 26 novembre 2013 Dernière intervention
- 12 févr. 2007 à 13:05
Bonsoir,
J'ai un truc c'est que quand je lance le projet... puis dans la form je peux choisir la position de ma form (en bas a gauche ou droite ou en haut a gauche ou droite)
Mais quand je met ma form en bas (gauche ou droite), la form se cache un peu. sous la barre de tache...
Comment c'est possible pour faire que la form ne se cache pas... ??
Merci

Le code:
    Case Tag of {et on change la position}
      0 : Begin  // Bottom Right
            Self.Left := Left + (Width - Self.Width);
            Self.Top  := Top + (Height - Self.Height);
      End;
      1 : Begin  // Bottom Left
            Self.Left := Left;
            Self.Top  := Top + (Height - Self.Height);
      End;
      2 : Begin   // Top Right
            Self.Left := Left + (Width - Self.Width);
            Self.Top  := Top;
      End;
      3 : Begin  // Top Left
            Self.Left := Left;
            Self.Top  := Top;
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
ThWilliam 424 Messages postés mardi 3 janvier 2006Date d'inscription 26 novembre 2013 Dernière intervention - 11 févr. 2007 à 22:03
3
Merci
Salut,

Screen.Height renvoie la hauteur de l'écran en pixels, de laquelle tu décomptes les pixels pris par la barre des tâches (+- 30)
Cette valeur moins la hauteur de ta form te donne le point Top à ne pas dépasser.
Form1.Top:= Screen.Height - Form1.Height - 30;
Idéalement, il faudrait une fonction Windows pour connaître la hauteur de la barre des tâches, mais là je ne peux pas t'aider.

A +
Thierry

Merci ThWilliam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de ThWilliam
cocowz 89 Messages postés lundi 28 novembre 2005Date d'inscription 25 février 2007 Dernière intervention - 11 févr. 2007 à 22:25
0
Merci
Merci beaucoup
Commenter la réponse de cocowz
WhiteHippo 1270 Messages postés samedi 14 août 2004Date d'inscription 5 avril 2012 Dernière intervention - 11 févr. 2007 à 22:56
0
Merci
Bonsoir,

Pour récupérer la hauteur de la barre des tâches, rien de bien compliqué :

function HauteurBarreDeTache : integer ;
var
  hBarreDeTache : HWND  ;
  R             : TRect ;
begin
  Result := -1 ;
  // Recherche de la fenêtre dont le nom de classe est "Shell_TrayWnd"
  //  qui n'est autre que le nom de la barre des tâches.
  hBarreDeTache := FindWindow( 'Shell_TrayWnd', '' ) ;
  if ( hBarreDeTache <> 0 ) then
  begin
    // Récupération du rectangle représentant la totalité de la barre des tâches
    GetWindowRect( hBarreDeTache, R ) ;
    // Bottom - Top car le 0 se trouve en haut de l'écran
    Result := R.Bottom - R.Top;
  end ;
end ;

Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
Commenter la réponse de WhiteHippo
cs_Loda 900 Messages postés vendredi 3 novembre 2000Date d'inscription 30 juillet 2009 Dernière intervention - 12 févr. 2007 à 09:38
0
Merci
salut,

je viens juste mettre mon grain de sel:

Delphi help:
Screen.WorkAreaRect

Use WorkAreaRect to determine the coordinates of the usable space on the primary monitor. The usable work space is the surface of the primary monitor with the space occupied by the task bar and any tool bars subtracted off.

cad, partie utile de l'écran princicpal. (sans task bar et autres.)

bon code,

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
Commenter la réponse de cs_Loda
JulioDelphi 2354 Messages postés dimanche 5 octobre 2003Date d'inscription 18 novembre 2010 Dernière intervention - 12 févr. 2007 à 11:43
0
Merci
Loda, trop rapide pour moi, j'allais le dire !
Commenter la réponse de JulioDelphi
ThWilliam 424 Messages postés mardi 3 janvier 2006Date d'inscription 26 novembre 2013 Dernière intervention - 12 févr. 2007 à 12:18
0
Merci
Comme quoi, répondre à quelqu'un permet d'enrichir ses propres connaissances !
Merci WhiteHippo, Loda... et JulioDelphi (malgré sa lenteur...lol).

A +
Thierry
Commenter la réponse de ThWilliam
cs_Loda 900 Messages postés vendredi 3 novembre 2000Date d'inscription 30 juillet 2009 Dernière intervention - 12 févr. 2007 à 12:26
0
Merci
hehe, lundi matin. fatigué ;o)

A+

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
Commenter la réponse de cs_Loda
cs_Loda 900 Messages postés vendredi 3 novembre 2000Date d'inscription 30 juillet 2009 Dernière intervention - 12 févr. 2007 à 12:29
0
Merci
PS:

je sais pas si ça vas t'aider, mais regarde aussi TCustomForm.ScreenSnap et SnapBuffer (j'ai "découvert" ça un jour que je lisais le forum)

bon code,

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
Commenter la réponse de cs_Loda
ThWilliam 424 Messages postés mardi 3 janvier 2006Date d'inscription 26 novembre 2013 Dernière intervention - 12 févr. 2007 à 13:05
0
Merci
@ Loda : je viens de tester ScreenSnap, cela donne un effet "aimant" un peu comme les prog de mise en page, mais cela n'interdit pas de "sortir de l'écran" si tu continues le déplacement de la form.

A +
Thierry 
Commenter la réponse de ThWilliam

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.