Accueil > Forum > > > > tunning
tunning
jeudi 17 août 2006 à 11:42:07 |
tunning

couranrjet
|
Bonjour, Voilà mon environnement de travail est visual C++ 7 ou 8. Je cherche un moyen de modifier la forme d'un pushbuton. Je souhaite modifer sa forme rectangulaire en forme d'ellipse. Je cherche au ssi un moyen pour pouvoir y faire des dégradés et des bordures. Est ce que quelqu'un pourrait éclairer ma lanterne?Merci. Bruno
|
|
jeudi 17 août 2006 à 16:56:18 |
Re : tunning

racpp
|
Salut, Le bouton doit être de style BS_OWNERDRAW. Tu peux utiliser la fonction CreateEllipticRgn() pour créer une région sous forme d'ellipse. Tu appliques ensuite cette région à ton bouton avec la fonction SetWindowRgn(). Pour les contours, tu dois les dessiner toi-même dans la fonction de dessin du bouton. Tu peux aussi utiliser des images BITMAP pour les contours et les dégradés.
|
|
jeudi 17 août 2006 à 21:02:25 |
Re : tunning

couranrjet
|
Salut Racpp, Merci pour ton aide. Pourrait on me préciser l'endroit ou je dois placer les fonctions CreateEllipticRgn() et SetWindowRgn()? J'ai essayé dans Resource.h... bo Y a t il une bibliothèque à activée ( # include ... .h) . On parle de wingdi.h et de "dlls/gdi/region.c". C'est pas encore évident pour moi donc si vous pouvez m'aider, merci Bruno
|
|
jeudi 17 août 2006 à 21:39:36 |
Re : tunning

racpp
|
Rien de spécial à activer. Seul "#include <windows.h>" suffit. Ces fonctions doivent être utilisées juste après la création du bouton avec CreateWindow().
|
|
vendredi 18 août 2006 à 01:16:52 |
Re : tunning

couranrjet
|
Racpp, merci pour ton aide.
Mais je patine.
IDC_ELLIPSE identifie le bouton sur lequel je travaille.
Voici un bout de code( en gras ce que j'ai rajouté) :
...
#define IDC_ELLIPSE
1000 HWND hwnd;
CreateWindow("button"," ",BS_OWNERDRAW,112,40, 18,18, hwnd,
(HMENU)111,GetModuleHandle(NULL),NULL);
// Next default values for new objects
#ifdef APSTUDIO_INVOKED
..
Aurais-tu peut-être un exemple simple qui illustre CreateWindow et l'emplacement exacte des ligne de code à placer?
Car je ne comprends pas toutes les explications de MSDN et les exemples
sur le net parlent de fonctions Callback et WinMain, propres aux
applications WIN32 je suppose.
Merci.
Bruno
Merci.
...
|
|
vendredi 18 août 2006 à 10:09:52 |
Re : tunning

mogwai93
|
HWND hCtrl;
HRGN MyRgn;
hCtrl = CreateWindowEx(0, "button", "test",
WS_CHILD|WS_VISIBLE|WS_CLIPCHILDREN, 100, 100, 100, 100,
hwnd, (HMENU)1000, GetModuleHandle(NULL), NULL);
MyRgn=CreateEllipticRgn(0, 0, 100, 100);
SetWindowRgn(hCtrl, MyRgn, TRUE);
et là tu as un bouton en forme de cercle !
|
|
vendredi 18 août 2006 à 11:08:39 |
Re : tunning

couranrjet
|
Mogwai, Merci pour ton aide. Pourrais tu me préciser où je dois mettre ces lignes de code dans le programme.
Là j' ai mis tes qq lignes en lieu et place du code en gras (mail précédent) dans mon programme (MFC application sur VC++ 7.) dans Resource.h. Mais j'ai des erreurs du type: error C2040: 'hCtrl' : 'int' differs in levels of indirection from 'HWND' . Peut-être faut il placer tes lignes de code à un endroit particulier où ajouter une librairie quelque part ou y a un truc qui m'échappe encore... bo Ne me laissez pas me morfondre. Merci. Bruno
...
|
|
vendredi 18 août 2006 à 11:24:25 |
Re : tunning

mogwai93
|
en MFC, je ne sais plus (ca fait trop longtemps que je ne touche plus aux MFC.....)
en API, tu peux le mettre ici :
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HWND hCtrl;
HRGN MyRgn;
switch
(message)
/* handle the messages */
{
case WM_CREATE :
// mettre le code ici
break;
...
}
}
|
|
vendredi 18 août 2006 à 16:26:17 |
Re : tunning

racpp
|
Salut, mogwai93 >> Ton exemple ne suffit pas pour avoir un bouton rond. Comme j'ai précisé plus haut, le bouton doit être de style BS_OWNERDRAW. On doit dessiner les contours pendant le traitement du message WM_DRAWITEM. Il faut penser à tous les cas: normal, enfoncé, grisé etc.
couranrjet >> Moi non plus je n'aime pas les MFC. Mais le principe reste le même. Je pense que tu peux récupérer le HWND du bouton avec la fonction GetDlgItem(). Les deux autres fonctions viendront juste après. Tout cela pendant l'initialisation de la boite de dialogue (On_InitDialog). Le dessin des contours se fait dans (On_DrawItem) grâce aux fonctions comme Ellipse(). Le bouton doit avoir le style BS_OWNERDRAW. Si l'éditeur de ressources ne permet ce style, tu peux utiliser la fonction SetWindowLong() suivie de SetWindowPos().
|
|
lundi 21 août 2006 à 13:32:07 |
Re : tunning

couranrjet
|
Hello, Merci Racpp. Le GetDlgItem donne un CWnd* et pas un HWND. Donc je cherche une fonction qui donne l'HWND de l'IDC_ ou une autre qui convertit un CWnd* en HWND... Si qq s'y connait pour ce problème, son aide est la bienvenue. Je suis en train de voir que sont CWnd et HWND exactement ds les MFC... peut-être aurais je une idée et si oui je vous en ferai part...
Là je replonge dans le Mordor des MFC.
Couranrjet
...
|
|
Cette discussion est classée dans : cherche, moyen, forme, tunning
Répondre à ce message
Sujets en rapport avec ce message
#if et #include [ par Xilofeon ]
salutvoila je cherche le moyen d'inclure une ressource externe que si c'est celle si est présente et installé.En gros ma ressource n'est pas indispens
je cherche un convertiseur graphique de temps (sous la forme d'un cercle) Une heure = 100 centièmes d'heure [ par guydu27 ]
J'ai déja eu l'occasion de voir ce graphique, il a la forme d'un cercle et un peu comme une montre, il est divisé en 60 minutes notées sur le contour
Forme quelconque [ par repial ]
Bonjour à tous,je cherche à modéliser un objet (par exemple une patate) par sa surface de contour (contour fermé donc). Disons que j'ai un tableau dan
Je cherche un moyen de contrôler les pixels en C/C++ [ par EnjeeDenton ]
J'aimerai bien pouvoir contrôler l'affichage pixel par pixel sous console (enfin si c'est possible !).Merci.Enjee Denton
Cherche codeur motivé [ par Delirium ]
Cherche un codeur avec pas mal d'expériance en C/C++ pour creer quelques code pour un serveur IRC (place d'admin) ainsi pour créer de nouveau services
étudiant cherche un developpeur à interviewer ! [ par o00zeus00o ]
Salut@tous, je suis étudiant en informatique et je dois interviewer une personne exercant le metier qui m'interesse, je cherche donc un developpeur pr
cherche projet vc++6 [ par xbabilone ]
Salut a tous je cherche un projet simple pour visual c++6 comportantun bouton "parcourir" qui ouvre un explorateur pour choisir un fichier ou un reper
Cherche intephace graphique simple [ par yggy ]
Salut tlmje cherche une intephace graphique simple avec des bouttons des textbox etc...en C ou Cpp pour dev cpp si quelqu'unpeut m'aider ça serait coo
Afficher la table ARP [ par recha ]
Bonjour à tous ^^ Je cherche depuis un moment à pouvoir afficher la table ARP en C sans y parvenir... Je sais pas quels fonctions utilisé ni comment l
Cherche projet c++ [ par akira65 ]
Bonjour, je développe dans le cadre de mes études mais les cours ne vont pas assez vite pour moi javascript:Insert_Emoticon('/imgs2/smile_wink.gif');
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
|