Accueil > Forum > > > > SetWindowRgn() sur boutons
SetWindowRgn() sur boutons
mercredi 14 septembre 2005 à 20:55:40 |
SetWindowRgn() sur boutons

AlexMAN
|
Bonsoir, Voila, j'ai un petit souci : j'aimerais créer un bouton avec les 'coins arrondis', pour cela, je crée une region (CreateRoundRectRgn()), puis l'applique au bouton par le biais de SetWindowRgn(). Mais voila, ca ne fonctionne pas, les 2 fonctions ne renvoient aucune erreur ("Operation reussie"), et lorsque je teste sur une fenetre, ca fonctionne parfaitement. Me faut-il obligatoirement passer par un bouton ownerdraw ? Mon code : hRgn = CreateEllipticRgn(0, 0, 70, 30); for (i = 0; i < 3; ++i) { hBtnAtout[i] = CreateWindowEx(0, "BUTTON", 0, WS_CHILD | WS_VISIBLE, x, rcTour.bottom - 40, 70, 30, hwnd, (HMENU)IDBT_BTNATOUTFIRST + i, hInstance, 0); SetWindowRgn(hBtnAtout[i], hRgn, 1); x += 76; } //DeleteObject(hRgn); MSDN conseille de ne pas "supprimer" l'objet etant donné qu'aucune copie n'est conservée.Merci d'avance, Cordialement, Alex +2(p - n)
|
|
mercredi 14 septembre 2005 à 21:56:27 |
Re : SetWindowRgn() sur boutons

BruNews
|
coordonnées de la région correspondent au rectangle bouton ?
ciao... BruNews, MVP VC++
|
|
mercredi 14 septembre 2005 à 22:39:23 |
Re : SetWindowRgn() sur boutons

AlexMAN
|
Oui ca correspond, enfin je pense : je dois utiliser le "ClientRect" ou le "WindowRect" ? Avec le "WindowRect", ca ne marche pas, mes boutons ne sont plus repeints (certainement parce que la region que je crée n'est pas visible) alors qu'avec le "ClientRect", les boutons "fonctionnent"...
+2(p - n)
|
|
mercredi 14 septembre 2005 à 22:47:04 |
Re : SetWindowRgn() sur boutons

BruNews
|
Passe les en ownerdraw, va falloir une routine de dessin.
ciao... BruNews, MVP VC++
|
|
mercredi 14 septembre 2005 à 23:06:34 |
Re : SetWindowRgn() sur boutons

AlexMAN
|
CircleObj = CreateRoundRectRgn(0, 0, (Objet.Width / Screen.TwipsPerPixelY), (Objet.Height / Screen.TwipsPerPixelX), 20, 20) SetWindowRgn Objet.hwnd, CircleObj, True
http://vbfrance.com/code.aspx?ID=18395
Une vieille source a moi, pourquoi ca fonctionne en VB ?
+2(p - n)
|
|
mercredi 14 septembre 2005 à 23:14:17 |
Re : SetWindowRgn() sur boutons

BruNews
|
Réponse acceptée !
parce que tout est deja hooké, ownerdraw, premaché et prédigéré en vb, le prix de tout cela est une virtual machine à installer et une lenteur abominable qui font qu'on n'a jamais fait un logiciel en vb.
ciao... BruNews, MVP VC++
|
|
mercredi 14 septembre 2005 à 23:16:20 |
Re : SetWindowRgn() sur boutons

AlexMAN
|
Ok. Donc merci a toi Brunews.
+2(p - n)
|
|
jeudi 15 septembre 2005 à 09:34:37 |
Re : SetWindowRgn() sur boutons

julienbj
|
Réponse acceptée !
J'ai eu un probleme similaire. Le bouton était cliquable seulement sur la région que j'avais défini, mais était dessiné entierement. J'avais résolu le problème en mettant le style WS_CLIPCHILDREN, et là, plus de problème.Vive le C Tchao Savon
|
|
jeudi 15 septembre 2005 à 19:03:39 |
Re : SetWindowRgn() sur boutons

AlexMAN
|
Ca marche parfaitement, c'est bon a savoir mais tout de meme etonnant, je ne vois pas pourquoi en ajoutant ce style au bouton (et non pas a la fenetre), ca marche... Merci a toi julienbj !
+2(p - n)
|
|
Cette discussion est classée dans : bouton, boutons, fonctionne, setwindowrgn, hrgn
Répondre à ce message
Sujets en rapport avec ce message
bouton personnalise [ par MrKribou ]
Comment creer des boutons personnalises (les boutons ok et companie) je veux dire, tout simplement ajouter une image par exemple au bouton. Ya t'il un
Boutons visibles et invisibles [ par arb ]
BonjourDébutant en C++ (Visual C++ 6.0), j'ai posé 2 boutons sur une form. Je cherche à rendre un bouton invible en cliquant sur l'autre ou a changer
Probleme C++Builder, gestion de boutons etc. [ par FXL ]
Bonjour a tous, je vous écris car j'ai un projet de licence a réaliser qui consiste a faire une interface graphique, créer un petit logiciel simple et
Retrouver un bouton [ par kazimir34 ]
Bien le bonsoir.J'ai créé une pitite interface .net dans laquelle j'ajoute des boutons dynamiquement.Le truc c'est qu'à un moment j'aimerais bien que
super urgent :probleme de creation d'un nombre indefini de boutons [ par chriscrepin1 ]
je dois crée un nombre indefini de bouton dans un dialog j'ai reussi mais je n'arrive pas a gerer les evenement dessus j'ai defini un evenement pour l
Api >> les Régions ( HRGN ) [ par elflink ]
Bonjour à tous,Je vous expose très brièvement mon probleme :HRGN hRgn2 = hRgn;SetWindowRgn( hWnd , hRgn2 , TRUE); >> ne fonctionne pas à l'inverse de
bitmap sur un bouton [ par leprov ]
salut a tousbon voila mon probleme. j'ai plusieurs boutons sur lesquels sont mis des bitmaps, cependant, au fur et a mesure de l'execution, ces bitmpa
Comment changer le texte d'un bouton dans une toolbar [ par dvt_robo ]
Salut, je créer une toolbar (en Win32) pour pouvoir utiliser des dropdown boutons, J'affiche du texte sur ces boutons que j'aimerai modifier lorsque j
Bouton- - Barre d'outil [ par esquiule ]
Bonjour,je voudrais juste un petit renseignement, j'ai créé une application MFC contenant une barre d'outil dont les boutons lancent différentes fenêt
redimensionnement d'une dialogue et déplacement des boutons [ par cosmobob ]
j'ai une boite de dialogue avec un bouton en bas a droite, et quand le boite de dialogue est maximisée, j'aimerai que le bouton se trouve a nouveau en
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|