Zone pour bouger fenetre

Zone pour bouger fenetre - C++ - Programmation

Marsh Posté le 09-04-2005 à 14:06:31    

Salut.
Je veux me créer une fenêtre personnelle pour mon programme.
Pour cela je dessine donc mon interface sous un logiciel de dessin, ensuite j'insère cette image sur ma Form.
Ensuite je met la propriété de BorderStyle à none (Borland 6).
J'aimerai définir une zone sur mon image sur laquelle on pourrait déplacer la fenêtre.
Quelqu'un aurait une solution?
 
Merci d'avance

Reply

Marsh Posté le 09-04-2005 à 14:06:31   

Reply

Marsh Posté le 09-04-2005 à 18:34:11    

Pas trop compris.
Sur une feuille du programme, il y a une image.
La fenêtre qui peut se déplacer que sur une zone de cette image, c'en est une autre ??
Il y a une API pour restreindre le mouvement de la souris, mais sais pas si utile ici.

Reply

Marsh Posté le 09-04-2005 à 23:30:26    

Quand je lance borland.
Une fiche est crée c'est à dire une fenetre windows normale.
Sur cette fenetre j'insere une Timage prenant tout la fenetre windows.
Ensuite j'enleve la bordure du haut de ma fenetre (celle de toute les fenêtres normales qui te permet de fermer reduire et)
Cette bordure étant enlevé je la simule par mon dessin.
Je voudrais que sur cette zone simulée par mon dessin je puisse effectuer ce que fait la bordure tradionnelle du haut de chaque fenetre (si je clic dessus la bordure je peux deplacer la fenetre)
 
Par exemple c'est le meme principe que shareaza voir winamp etc.
 
Leur bouton fermeture etc sont des images ou une action est associée.
 
C'est plus kler?
 
VOici un dessin explicatif http://leon.baz.free.fr/expli.jpg


Message édité par masseur le 09-04-2005 à 23:34:09
Reply

Marsh Posté le 10-04-2005 à 00:23:15    

Oui, bah c'est tout con à faire. Dans ta fenêtre, tu interceptes les événements "BoutonDown", "BoutonUp" et "MouseMove".  
 
Lorque l'utilisateur commence à appuyer avec la souris sur la zone qui va bien, tu notes les coordonnées, et tu mets le booléen "jeBougeMaFenetre" à vrai.
 
Lorsque l'utilisateur relache le bouton, tu mets le booleén à faux.
 
Et lorsque la souris se déplace, tu fais un bête:

Code :
  1. if (jeBougeMaFenetre)
  2.    MoveWindow(windows.posX + eventClick.X - positionDuClick.x,
  3.               windows.posY + eventClick.Y - positionDuClick.y);


Message édité par Lam's le 10-04-2005 à 00:23:56
Reply

Marsh Posté le 10-04-2005 à 00:44:14    

Lam's a écrit :

Oui, bah c'est tout con à faire. Dans ta fenêtre, tu interceptes les événements "BoutonDown", "BoutonUp" et "MouseMove".


MouseDown et MouseUp [:aloy]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 10-04-2005 à 00:47:18    

Ah, j'utilise la version Québéquoise. Voilà pourquoi, tabernacle.

Reply

Marsh Posté le 10-04-2005 à 10:23:18    

Merci.
J'ai trouvé plus simple (même si le code n'est pas parlant)

Code :
  1. ReleaseCapture();
  2. Form1->Perform(WM_SYSCOMMAND, 0xF012, 0);


Message édité par masseur le 10-04-2005 à 10:23:37
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed