La fenêtre est "attirée" par le bord de l'écran (comme WinAmp) [C++] - C++ - Programmation
Marsh Posté le 31-01-2006 à 11:59:49
Salut,
Ca doit etre simple, genre quand l'utilisateur a fini de deplacer la fenetre, tu verifie a quelle distance du bord elle est, et si elle est pret du bord, tu la bouge programmatiquement.
Marsh Posté le 31-01-2006 à 19:32:55
Salut,
Programmatiquement... ^^ C'est bô. C'est dans le dico ? Non justement ca n'est pas quand il a fini de la déplacer, j'ai oublié de préciser ce point. L'utilisateur est bien en train de déplacer la fenêtre lorsque celle-ci vient d'un coup se coller contre le bord de l'écran lorsqu'elle est à, par exemple 10 ou 15 pixels du bord.
J'espère m'être suffisament bien exprimé. En tout cas merci de ta réponse, ca fait plaisir.
@+ breizhbugs.
Si quelqu'un a la réponse, n'hésitez pas. J'ai grand besion de savoir
Marsh Posté le 31-01-2006 à 20:43:47
Nukjin a écrit : Salut, |
C'est la meme reponse, c'est juste l'evennement qui change: WM_SIZING au lieu de WM_SIZE
Marsh Posté le 01-02-2006 à 02:13:27
salut breizhbugs,
Ah ok, j'avais mal compris excuse moi . Je vais essayer. Ca me surprend que ce soit aussi simple, mais si c'est ca c'est cool.
Merci beaucoup
@+
Marsh Posté le 01-02-2006 à 08:14:58
Attention quand même de ne pas boucler sur le WM_SIZE à cause de ton futur appel à SetWindowPos ou MoveWindow.
Marsh Posté le 01-02-2006 à 13:35:27
Salut slash33,
Mais il y a quand meme un truc que je trouve bizarre. Bon j'ai pas encore pu tester depuis hier soir, mais la commande WM_SIZE ou WM_RESIZE... c'est pour le redimensionnement de la fenêtre, non ? Ou est-ce que ca marche aussi pour ce que je veux faire ?
Marsh Posté le 01-02-2006 à 13:41:27
bah alors deja c'est pas une commande, mais un message
ensuite pour ce genre de question y'a la MSDN
http://msdn.microsoft.com/library/ [...] m_size.asp
The WM_SIZE message is sent to a window after its size has changed.
j'aurais donc tendance a dire non, pas si la fenetre a été juste déplacé
pour ca il faut .... WM_MOVE !
http://msdn.microsoft.com/library/ [...] m_move.asp
its teh tabass0r
Marsh Posté le 01-02-2006 à 20:18:03
Salut,
Heu déjà slash33 excuse moi mais j'ai vu que j'ai oublié de te remercier pour ta réponse. J'étais pressé entre midi et deux mais bon c'est pas une excuse.
Alors merci beaucoup pour ta réponse
Salut chrisbk,
Citation : bah alors deja c'est pas une commande, mais un message |
Oui c'est exact erreur de ma part. Merci pour cette précision ^^. Je sous débutant en interface graphique lol. J'étais jusqu'à il y a très peu de temps programmeur en C pur uniquement...
Citation : ensuite pour ce genre de question y'a la MSDN |
Heu c'est très juste. Je n'y avais tout simplement pas pensé. C'est vrai que j'aurais du passer par là avant de poster. En meme temps, je n'aurais vraiment pas su comment formuler ma requête. Rien qu'en français j'ai déjà du mal lol. C'est pour ça que j'ai préciser dans le sujet "comme WinAmp". J'ai tellement mal formulé tout ça que sans un exemple, personne n'aurait compris de quoi je parle.
Citation : The WM_SIZE message is sent to a window after its size has changed. |
Et tu as en fait tout a fait raison. A première vue je dirais que c'est bien ce que je recherche. En fait curieusement je pensais que ce que je voulais faire était réaliser par une des nombreuses fonctions d'une obscure classe ésotérique ^^. Je ne pensais pas que ca pouvait être réalisé avec un simple message et aussi facilement !
Bon en ce qui concerne la définition de la distance par rapport au bord (genre 10 pixels) je vais me débrouiller.
Bah merci à toi pour ton aide, c'est toujours un plaisir. @+
Marsh Posté le 01-02-2006 à 21:17:28
pour la msdn, la strategie de recherche qui marche bien, c'est google
site:msdn.microsoft.fr + ta requete
donc si tu veux des infos sur WM_SIZE "site:msdn.microsoft.fr WM_SIZE" marche au poil
Marsh Posté le 01-02-2006 à 21:33:08
ah ouais dans ce cas je vais pas m'en priver ^^. Merci du tuyau !
Marsh Posté le 01-02-2006 à 21:44:41
Si c'est du MFC (chose que tu n'as pas précisé mais comme tu es dans la rubrique C++... ), tu disposes de méthodes spécifiques pour l'interception des messages windows (voir la doc MFC sur le fonctionnement de la table d'interception des messages). En Win32 classique, tu traites le message dans la fonction callback de la fenêtre.
Avec WM_MOVE, ma remarque sur le risque de redondance tient toujours.
Marsh Posté le 01-02-2006 à 21:49:09
Oui je n'ai pas précisé c'est vrai Comme j'ai dit plus haut à chrisbk je débute en interface graphique, j'ai commencé hier. Mais non, je n'utilise pas MFC. J'avais pris note de ta remarque concernant les redondances.
Marsh Posté le 02-02-2006 à 00:57:32
Quelqu'un connais une application open-source qui pourrais m'aider ? Je suis en pleine recherche actuellement mais c'est pas évident
Marsh Posté le 05-02-2006 à 20:30:10
Nukjin a écrit : Quelqu'un connais une application open-source qui pourrais m'aider ? Je suis en pleine recherche actuellement mais c'est pas évident |
Demande sur les Newsgroups de pros : (et ça a déjà été posé x fois cette quaestion classique : google) :
fr.comp.os.ms-windows.programmation
comp.os.ms-windows.programmer.win32
microsoft.*
Marsh Posté le 07-02-2006 à 01:08:21
salut,
Tiens, encore toi? J'ai résolu ce problème merci.
Marsh Posté le 30-01-2006 à 21:30:00
Salut tout le monde,
J'aimerais savoir comment faire pour que les fenêtres de mon application soient "attirées" par le bord de l'écran, qu'elle se collent au bord à partir du moment où elles se trouvent à 10 pixels par exemple. Quelqu'un sait faire ça ?
L'exemple parfait est WinAmp. C'est exactement ces fenêtres que je souhaite faire.
Bien sur si quelqu'un a une adresse, ou trop mieux un morceau de code... alors là
J'espère recevoir de l'aide
@+ les geeks !
Message édité par Nukjin le 31-01-2006 à 19:37:09