Déplacement d'une fiche

Résolu
neosystemsteam Messages postés 23 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 28 juillet 2006 - 21 juin 2006 à 23:01
ThWilliam Messages postés 418 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 26 novembre 2013 - 23 juin 2006 à 13:00
salut tout le monde


pour que je puisse déplacer une forme sans barre de titre j'ai mis un shape mais j'ai oublier un simple code


************


releasecapture;


shape1.perform(wm_systemcommand,xxx,xxx);


************


qq'1 peut m'aider à trouver les xxx,xxx

7 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
22 juin 2006 à 10:14
Salut à tous,

Alors oui pour la recherche mais une petite précision toute fois :

Perform (WM_SYSCOMMAND, $F012, 0);  ne veut rien dire

La commande exacte est :
Procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
Begin
  ReleaseCapture;
  Perform (WM_SYSCOMMAND, SC_MOVE or HTCAPTION, 0);
End;

Et c'est pas la peine de faire un controle sur le bouton enfoncé (gauche où droit) il est effectué juste avant l'execution de la commande

@+
Cirec
3
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
21 juin 2006 à 23:18
Au secours Google !
voir la réponse ici (réponse numéro 3)

May Delphi be with you ! (and Google too)
<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
0
Matt 261 Messages postés 1173 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 10 septembre 2011 3
22 juin 2006 à 09:29
Dans le réglement il est bien écrit Faire un recherche avant de poster
. Si tu en avais fait une, tu aurais tout de suite trouvé.

@+
 Matt

<hr size="2" width="100%" />La paresse est la mère du génie...
0
ThWilliam Messages postés 418 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 26 novembre 2013 4
22 juin 2006 à 13:19
Salut Cirec,

J'ai toujours fait un déplacement (Form, Panel...) avec une constante = $F012.
Pourquoi dis-tu : "cela ne veut rien dire" ?
Et petite explication sur la constante HTCAPTION ?

A +
Thierry
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
22 juin 2006 à 23:09
Cirec, les constantes que tu utilises n'étaient toujours pas déclarées avec Delphi 5 si ma mémoire est bonne.
Je suis d'accord avec toi sur le fait qu'il faut privilégier l'utilisation de constantes ne serait-ce que pour rendre le code plus lisible.

May Delphi be with you !
<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
23 juin 2006 à 10:22
@Delphiprog, je viens de faire une recherche dans mon D4 et les deux constantes (plus d'autres ) y sont déclarés (Unit Windows)

@ThWilliam, oui tu utilises cette constante "$F012" mais cette valeur n'existe pas dans les sources  c'est une association de deux constantes qui te donne cette valeur:

  {$EXTERNALSYM SC_MOVE}
  SC_MOVE = 61456;

  {$EXTERNALSYM HTCAPTION}
  HTCAPTION = 2;

et SC_MOVE + HTCAPTION := 61458 ce qui donne en hex $F012

HTCaption indique un Hit Test sur la barre de titre de l'application qui est utilisé dans les messages Windows :  If (message.Msg WM_NCLBUTTONDOWN) <gras>and (Message.WParamLo</gras> htCaption) Then ...

Voilà, en esperant que soit un peut plus claire pour vous

@+
Cirec
0
ThWilliam Messages postés 418 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 26 novembre 2013 4
23 juin 2006 à 13:00
Salut Cirec,

C'est parfaitement clair.
Merci.

Thierry
0
Rejoignez-nous