banane_rose
Messages postés302Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention22 avril 2006
-
22 mai 2005 à 11:17
banane_rose
Messages postés302Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention22 avril 2006
-
24 mai 2005 à 20:12
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 22 mai 2005 à 11:39
Tu as oublié un return 0; dans ta procédure ( WM_CREATE )
Et si tu le rajoutes, tu as la surprise d'avoir 2 fenêtres, une avec le bouton, et l'autre toute noire...
WS_CHILD pour ton bouton ;)
en gros ça donne :
switch (messages)
{
case WM_CREATE :
hwndBtnQuit = CreateWindowEx(
0,
"BUTTON",
"Quitter",
WS_VISIBLE | WS_CHILD,
5,
5,
100,
50,
hWnd,
NULL,
hThisInstance,
NULL);
return 0;
N'hésite pas à utiliser les return 0 dans tes switch.
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 22 mai 2005 à 17:38
Bé t'imagines bien que j'l' avais compiler ton programme lol.
Quand tu le réduit, le texte que tu à écrit sur le DC, a repris une police normale.
C'est pour ça, si dans le message WM_PAINT, tu enlèves le DeleteObject( Police )
et que tu le met seulement à la fermeture de ta fenêtre, le DC aura toujours la police allouée.
Et pour WM_SETFONT, on s'en sert avec le SendMessage( );
le HWND c'est le contrôle à qui tu veux changer la police ( bouton, edit, mais pas de DC j'pense)
le Msg c'est WM_SETFONT, logique
le wParam c'est un handle sur ta police, donc tu passes ta police en paramètre, et si LOWORD(lParam) == true; alors ça se redessine tout de suite.
banane_rose
Messages postés302Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention22 avril 2006 22 mai 2005 à 15:33
merci , sinon j'essaye de faire un bouton
quand on clique dessus ça reduit la fenêtre ... mais je ne trouve pas
le bon WM_XX (c'est bien ça ?) pour SendMessage (c'est bien ça aussi ??)
banane_rose
Messages postés302Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention22 avril 2006 22 mai 2005 à 15:52
ah....
c'est parce que j'avait vu que pour fermer on utilisait SendMessage ...
enfin bref le bouton marche mais y'a un autre problème (bin oui ...)
je réduit puis je fait réapparaitre la fenêtre et là ... surprise la
texte au milieu à changé de police ... nom de nom ! le texte à pris la
police des contrôles ... (gras , arial mais pas la couleur > résté
blanc) donc ma font "Police" s'est désactivé ... c'est à n'y rien à
comprendre !!! ( je n'ai pas encore essayé WM_SETFONT )
banane_rose
Messages postés302Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention22 avril 2006 22 mai 2005 à 17:30
heu.... t'a pas dû bien comprendre , essaye de compiler le programme (LIENsans manifest) puis click sur réduire puis réactive la fenêtre , tu vera le problème ...
sinon j'arrive pas à utiliser WM_SETFONT , tu m'explique ?
banane_rose
Messages postés302Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention22 avril 2006 22 mai 2005 à 17:45
ahhhhhhhhhhh............................
tu parlais de ça .... ok c'est capich ! enregistré !! ^^
bon sinon , j'ai fait : SendMessage(hwndBtnQuit,WM_SETFONT,PoliceBtn,??) mais le 4e argument j'ai pas compris ... et j'ai un doute pour
PoliceBtn car il me semble qu'il faut mettre quelque chose entre
parenthèses ... mais je sait plus quoi ...
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 22 mai 2005 à 17:58
Il faut caster PoliceBtn
(WPARAM)PoliceBtn
et le 4eme arguement
Donc tu as un LPARAM
dans un LPARAM, tu as 2 valeur, une haute valeur et une ptite lol
HIWORD(lParam) << récupere la haute valeur ( en plus tu la utilisée )
LOWORD(lParam) << récupe la ptite
Donc tu passes un 1 comme 4eme argument ca marchera certainement
banane_rose
Messages postés302Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention22 avril 2006 22 mai 2005 à 18:03
puré ! que t'es fort ça marche !
respect !
bon je met reponse accepté mais c'est pas fini je vais surement revenir ...
au fait ... on peut faire quoi comme type d'aplication en apprenant
l'API Windows ? (je sais pas trop pourquoi j'apprend ça ... peut-etre
pour la plaisir . bah ! )
cs_Joky
Messages postés1787Date d'inscriptionlundi 22 novembre 2004StatutMembreDernière intervention31 janvier 20092 22 mai 2005 à 18:07
On peut faire des choses tellement magnifique, qu'on continue à apprendre tout ce qu'on peut... Parce que ici, on en apprend tout les jours lol
Et perso jsuis pas fort mdr
Va voir les sources API, tu comprendras vite :)
banane_rose
Messages postés302Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention22 avril 2006 22 mai 2005 à 19:02
c'est nouveau ça ... j'ai utilisé _itoa()
pour convertir mon int en char , je compile ... tout va bien ... je
lance : "Boutons.exe à rencontré un problème et doit fermer"
mais qu'est ce que c'est que ce bordel ??
t'a une solution ?
mon hypothèse : ça ne converti pas en char* mais juste en char ...