Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1285 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Zone pour bouger fenetre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Zone pour bouger fenetre

n°1041191
masseur
Posté le 09-04-2005 à 14:06:31  profilanswer
 

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

mood
Publicité
Posté le 09-04-2005 à 14:06:31  profilanswer
 

n°1041464
Carbon_14
Posté le 09-04-2005 à 18:34:11  profilanswer
 

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.

n°1041596
masseur
Posté le 09-04-2005 à 23:30:26  profilanswer
 

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
n°1041631
Lam's
Profil: bas.
Posté le 10-04-2005 à 00:23:15  profilanswer
 

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
n°1041643
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 10-04-2005 à 00:44:14  profilanswer
 

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)
n°1041647
Lam's
Profil: bas.
Posté le 10-04-2005 à 00:47:18  profilanswer
 

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

n°1041737
masseur
Posté le 10-04-2005 à 10:23:18  profilanswer
 

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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Zone pour bouger fenetre

 

Sujets relatifs
redimensionnement fenetre flashC++ : Effacer une zone mémoire à une adresse donnée
ACCESS : zone de liste déroulante : ne plus pouvoir écrire ?Ouvrir une fenetre dans une IHM (sous VCC++)
Ne pas afficher la fenêtre de commande MSDOSinserer une zone de code dans une page web
Ouvrir une nouvelle fenêtreouverture d'une nouvelle fenêtre lors d'un clic sur un liens
zone reactive et publication site (frontpage)[HTML/JS] Ouvrir une fenêtre en pleine page (pas "plein écran" :o )
Plus de sujets relatifs à : Zone pour bouger fenetre


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)