Je suis actuellement en train de d=E9velopper une GUI =E0 base de l'API
WIN32. Et je suis confront=E9 =E0 plusieurs probl=E8mes :
1-Je n'arrive pas =E0 trouver une biblioth=E8que permettant d'afficher les
bmp ET les jpgs, tga, gif (=E9ventuellement les lire) et images de ce
genre;
2-Je n'arrive pas =E0 faire fonctionner l'impl=E9mentation des fonctions
de retournement d'images, ... en bref, de modifications d'images;
3-Je n'arrive pas =E0 trouver une fonction permettant de changer le
design d'une fen=EAtre, =E0 savoir par exemple son fond, actuellement elle
ressemble =E0 une fen=EAtre Windows95;
4-Je n'arrive pas non plus =E0 trouver de fonction permettant de changer
le design d'un bouton, ils font plus du type de Windows95
actuellement;
5-Dans mon switch qui analyse les messages provenant de l'utilisateur,
lorsque je fais plusieurs if pour savoir -via le lParam- de quel
bouton vient le message, il ne se passe rien;
6-Je n'arrive pas non plus =E0 faire fonctionner les TreeView, notamment
=E0 cause de ressources manquantes pour les images (plus, moins,
dossier...).
Je sais que je demande beaucoup et qu'une seule personne ne saura pas
n=E9cessairement r=E9pondre =E0 toutes mes questions, mais merci =E0 tous c=
eux
qui voudront bien apporter leur pierre ;).
Néanmoins, j'aurais besoin de changer la couleur de fond de la fenêtre. Sais-tu comment faire?
Il y a diverses méthodes. Le plus simple est dans le RegisterClassEx() : wcex.hbrBackground = .....
De plus, je n'ai pas bien compris ce que tu m'a dit au sujet des messages avec le HIWORD; comment saurais-je qui plus est de quel bouton vient le message?
Par exemple : if (HIWORD (wParam) == BN_CLICKED) { if (lParam == (LPARAM)hButton1) MessageBox(NULL, "Button 1", "Message", MB_OK); }
On 15 nov, 21:15, Maxime <maximeou...@laposte.net> wrote:
Néanmoins, j'aurais besoin de changer la couleur de fond de la
fenêtre. Sais-tu comment faire?
Il y a diverses méthodes.
Le plus simple est dans le RegisterClassEx() :
wcex.hbrBackground = .....
De plus, je n'ai pas bien compris ce que tu m'a dit au sujet des
messages avec le HIWORD; comment saurais-je qui plus est de quel
bouton vient le message?
Par exemple :
if (HIWORD (wParam) == BN_CLICKED)
{
if (lParam == (LPARAM)hButton1)
MessageBox(NULL, "Button 1", "Message", MB_OK);
}
Néanmoins, j'aurais besoin de changer la couleur de fond de la fenêtre. Sais-tu comment faire?
Il y a diverses méthodes. Le plus simple est dans le RegisterClassEx() : wcex.hbrBackground = .....
De plus, je n'ai pas bien compris ce que tu m'a dit au sujet des messages avec le HIWORD; comment saurais-je qui plus est de quel bouton vient le message?
Par exemple : if (HIWORD (wParam) == BN_CLICKED) { if (lParam == (LPARAM)hButton1) MessageBox(NULL, "Button 1", "Message", MB_OK); }
Maxime
On 15 nov, 21:31, Christian ASTOR wrote:
On 15 nov, 21:15, Maxime wrote:
> Néanmoins, j'aurais besoin de changer la couleur de fond de la > fenêtre. Sais-tu comment faire?
Il y a diverses méthodes. Le plus simple est dans le RegisterClassEx() : wcex.hbrBackground = .....
Merci beaucoup (les messages marchent aussi!) mais à présent j'ai le problème de changer la couleur de fond de la zone texte des groupbox... Il y a-t-il une fonction ou est-ce dans le manifest?
On 15 nov, 21:31, Christian ASTOR <casto...@club-internet.fr> wrote:
On 15 nov, 21:15, Maxime <maximeou...@laposte.net> wrote:
> Néanmoins, j'aurais besoin de changer la couleur de fond de la
> fenêtre. Sais-tu comment faire?
Il y a diverses méthodes.
Le plus simple est dans le RegisterClassEx() :
wcex.hbrBackground = .....
Merci beaucoup (les messages marchent aussi!) mais à présent j'ai le
problème de changer la couleur de fond de la zone texte des
groupbox... Il y a-t-il une fonction ou est-ce dans le manifest?
> Néanmoins, j'aurais besoin de changer la couleur de fond de la > fenêtre. Sais-tu comment faire?
Il y a diverses méthodes. Le plus simple est dans le RegisterClassEx() : wcex.hbrBackground = .....
Merci beaucoup (les messages marchent aussi!) mais à présent j'ai le problème de changer la couleur de fond de la zone texte des groupbox... Il y a-t-il une fonction ou est-ce dans le manifest?
Christian ASTOR
On 15 nov, 22:21, Maxime wrote:
Merci beaucoup (les messages marchent aussi!) mais à présent j'ai le problème de changer la couleur de fond de la zone texte des groupbox... Il y a-t-il une fonction ou est-ce dans le manifest?
Pour le background du texte, avec WM_CTLCOLORSTATIC (retourner un Brush handle)
On 15 nov, 22:21, Maxime <maximeou...@laposte.net> wrote:
Merci beaucoup (les messages marchent aussi!) mais à présent j'ai le
problème de changer la couleur de fond de la zone texte des
groupbox... Il y a-t-il une fonction ou est-ce dans le manifest?
Pour le background du texte, avec WM_CTLCOLORSTATIC (retourner un
Brush handle)
Merci beaucoup (les messages marchent aussi!) mais à présent j'ai le problème de changer la couleur de fond de la zone texte des groupbox... Il y a-t-il une fonction ou est-ce dans le manifest?
Pour le background du texte, avec WM_CTLCOLORSTATIC (retourner un Brush handle)
Maxime
On 16 nov, 12:03, Christian ASTOR wrote:
On 15 nov, 22:21, Maxime wrote:
> Merci beaucoup (les messages marchent aussi!) mais à présent j'ai l e > problème de changer la couleur de fond de la zone texte des > groupbox... Il y a-t-il une fonction ou est-ce dans le manifest?
Pour le background du texte, avec WM_CTLCOLORSTATIC (retourner un Brush handle)
Hum... je ne comprends pas trop comment on se sert de la fonction WM_COLORSTATIC... Je croyais qu'il n'y avait plus de HDC?
De plus, lorsque j'utilise les BS_SPLITBUTTON et son homonyme avec une flèche du type commandlink, il me dit que ces boutons sont inconnus...
Enfin, comment faire pour que mon interface actuelle ressemble plus à celle de Windoce :
On 16 nov, 12:03, Christian ASTOR <casto...@club-internet.fr> wrote:
On 15 nov, 22:21, Maxime <maximeou...@laposte.net> wrote:
> Merci beaucoup (les messages marchent aussi!) mais à présent j'ai l e
> problème de changer la couleur de fond de la zone texte des
> groupbox... Il y a-t-il une fonction ou est-ce dans le manifest?
Pour le background du texte, avec WM_CTLCOLORSTATIC (retourner un
Brush handle)
Hum... je ne comprends pas trop comment on se sert de la fonction
WM_COLORSTATIC... Je croyais qu'il n'y avait plus de HDC?
De plus, lorsque j'utilise les BS_SPLITBUTTON et son homonyme avec une
flèche du type commandlink, il me dit que ces boutons sont inconnus...
Enfin, comment faire pour que mon interface actuelle ressemble plus à
celle de Windoce :
> Merci beaucoup (les messages marchent aussi!) mais à présent j'ai l e > problème de changer la couleur de fond de la zone texte des > groupbox... Il y a-t-il une fonction ou est-ce dans le manifest?
Pour le background du texte, avec WM_CTLCOLORSTATIC (retourner un Brush handle)
Hum... je ne comprends pas trop comment on se sert de la fonction WM_COLORSTATIC... Je croyais qu'il n'y avait plus de HDC?
De plus, lorsque j'utilise les BS_SPLITBUTTON et son homonyme avec une flèche du type commandlink, il me dit que ces boutons sont inconnus...
Enfin, comment faire pour que mon interface actuelle ressemble plus à celle de Windoce :
Hum... je ne comprends pas trop comment on se sert de la fonction WM_COLORSTATIC... Je croyais qu'il n'y avait plus de HDC?
C'est WM_CTLCOLORSTATIC et c'est un message, pas une fonction Comme c'est écrit dans la doc, retourner un Brush handle, custom ou system (GetStockObject() par exemple)
De plus, lorsque j'utilise les BS_SPLITBUTTON et son homonyme avec une flèche du type commandlink, il me dit que ces boutons sont inconnus...
Voir le source pour BS_SPLITBUTTON : #if _WIN32_WINNT >= 0x0600 donc rajouter s'il n'y est pas un #define suffisant...
On 16 nov, 19:24, Maxime <maximeou...@laposte.net> wrote:
Hum... je ne comprends pas trop comment on se sert de la fonction
WM_COLORSTATIC... Je croyais qu'il n'y avait plus de HDC?
C'est WM_CTLCOLORSTATIC et c'est un message, pas une fonction
Comme c'est écrit dans la doc, retourner un Brush handle, custom ou
system (GetStockObject() par exemple)
De plus, lorsque j'utilise les BS_SPLITBUTTON et son homonyme avec une
flèche du type commandlink, il me dit que ces boutons sont inconnus...
Voir le source pour BS_SPLITBUTTON :
#if _WIN32_WINNT >= 0x0600
donc rajouter s'il n'y est pas un #define suffisant...
Hum... je ne comprends pas trop comment on se sert de la fonction WM_COLORSTATIC... Je croyais qu'il n'y avait plus de HDC?
C'est WM_CTLCOLORSTATIC et c'est un message, pas une fonction Comme c'est écrit dans la doc, retourner un Brush handle, custom ou system (GetStockObject() par exemple)
De plus, lorsque j'utilise les BS_SPLITBUTTON et son homonyme avec une flèche du type commandlink, il me dit que ces boutons sont inconnus...
Voir le source pour BS_SPLITBUTTON : #if _WIN32_WINNT >= 0x0600 donc rajouter s'il n'y est pas un #define suffisant...
Maxime
> > De plus, lorsque j'utilise les BS_SPLITBUTTON et son homonyme avec une > flèche du type commandlink, il me dit que ces boutons sont inconnus.. .
Voir le source pour BS_SPLITBUTTON : #if _WIN32_WINNT >= 0x0600 donc rajouter s'il n'y est pas un #define suffisant...
Dans quel header dois-je trouver celà?
De plus, pourrais-tu me donner un exemple de code pour la couleur de fond? J'ai du mal à trouver ces que nécessite chaque fonctions/ message...
> > De plus, lorsque j'utilise les BS_SPLITBUTTON et son homonyme avec une
> flèche du type commandlink, il me dit que ces boutons sont inconnus.. .
Voir le source pour BS_SPLITBUTTON :
#if _WIN32_WINNT >= 0x0600
donc rajouter s'il n'y est pas un #define suffisant...
Dans quel header dois-je trouver celà?
De plus, pourrais-tu me donner un exemple de code pour la couleur de
fond? J'ai du mal à trouver ces que nécessite chaque fonctions/
message...
> > De plus, lorsque j'utilise les BS_SPLITBUTTON et son homonyme avec une > flèche du type commandlink, il me dit que ces boutons sont inconnus.. .
Voir le source pour BS_SPLITBUTTON : #if _WIN32_WINNT >= 0x0600 donc rajouter s'il n'y est pas un #define suffisant...
Dans quel header dois-je trouver celà?
De plus, pourrais-tu me donner un exemple de code pour la couleur de fond? J'ai du mal à trouver ces que nécessite chaque fonctions/ message...
Maxime
On 18 nov, 23:59, Maxime wrote:
> > De plus, lorsque j'utilise les BS_SPLITBUTTON et son homonyme avec un e > > flèche du type commandlink, il me dit que ces boutons sont inconnus ...
> Voir le source pour BS_SPLITBUTTON : > #if _WIN32_WINNT >= 0x0600 > donc rajouter s'il n'y est pas un #define suffisant...
Dans quel header dois-je trouver celà?
De plus, pourrais-tu me donner un exemple de code pour la couleur de fond? J'ai du mal à trouver ces que nécessite chaque fonctions/ message...
Up?
On 18 nov, 23:59, Maxime <maximeou...@laposte.net> wrote:
> > De plus, lorsque j'utilise les BS_SPLITBUTTON et son homonyme avec un e
> > flèche du type commandlink, il me dit que ces boutons sont inconnus ...
> Voir le source pour BS_SPLITBUTTON :
> #if _WIN32_WINNT >= 0x0600
> donc rajouter s'il n'y est pas un #define suffisant...
Dans quel header dois-je trouver celà?
De plus, pourrais-tu me donner un exemple de code pour la couleur de
fond? J'ai du mal à trouver ces que nécessite chaque fonctions/
message...
> > De plus, lorsque j'utilise les BS_SPLITBUTTON et son homonyme avec un e > > flèche du type commandlink, il me dit que ces boutons sont inconnus ...
> Voir le source pour BS_SPLITBUTTON : > #if _WIN32_WINNT >= 0x0600 > donc rajouter s'il n'y est pas un #define suffisant...
Dans quel header dois-je trouver celà?
De plus, pourrais-tu me donner un exemple de code pour la couleur de fond? J'ai du mal à trouver ces que nécessite chaque fonctions/ message...
Up?
Christian ASTOR
On 23 nov, 17:57, Maxime wrote:
> Dans quel header dois-je trouver celà? > De plus, pourrais-tu me donner un exemple de code pour la couleur de > fond? J'ai du mal à trouver ces que nécessite chaque fonctions/ > message...
Up?
Si tu fais clic droit dans VS sur BS_SPLITBUTTON, ça donne commctrl.h
Et il n'y a rien à faire à part retourner un brush handle sur WM_CTLCOLORSTATIC. comme return (LRESULT) GetStockObject(DKGRAY_BRUSH);
On 23 nov, 17:57, Maxime <maximeou...@laposte.net> wrote:
> Dans quel header dois-je trouver celà?
> De plus, pourrais-tu me donner un exemple de code pour la couleur de
> fond? J'ai du mal à trouver ces que nécessite chaque fonctions/
> message...
Up?
Si tu fais clic droit dans VS sur BS_SPLITBUTTON, ça donne
commctrl.h
Et il n'y a rien à faire à part retourner un brush handle sur
WM_CTLCOLORSTATIC. comme
return (LRESULT) GetStockObject(DKGRAY_BRUSH);
> Dans quel header dois-je trouver celà? > De plus, pourrais-tu me donner un exemple de code pour la couleur de > fond? J'ai du mal à trouver ces que nécessite chaque fonctions/ > message...
Up?
Si tu fais clic droit dans VS sur BS_SPLITBUTTON, ça donne commctrl.h
Et il n'y a rien à faire à part retourner un brush handle sur WM_CTLCOLORSTATIC. comme return (LRESULT) GetStockObject(DKGRAY_BRUSH);
Maxime
On 23 nov, 23:37, Christian ASTOR wrote:
On 23 nov, 17:57, Maxime wrote:
> > Dans quel header dois-je trouver celà? > > De plus, pourrais-tu me donner un exemple de code pour la couleur de > > fond? J'ai du mal à trouver ces que nécessite chaque fonctions/ > > message... > Up?
Si tu fais clic droit dans VS sur BS_SPLITBUTTON, ça donne commctrl.h
Et il n'y a rien à faire à part retourner un brush handle sur WM_CTLCOLORSTATIC. comme return (LRESULT) GetStockObject(DKGRAY_BRUSH);
Merci beaucoup, j'arrive à changer le background, mais ne trouve pas comment changer la couleur du texte... Par ailleurs, je ne trouve l'endroit de la modification à apporter dans commctrl.h pour le SPLITBUTTON? De plus, saurais-tu où se trouve le ID_LISTVIEW? Mon compilateur me dit qu'il ne le connaît pas... Il s'agit de Code::Blocks.
Merci beaucoup ;)!
On 23 nov, 23:37, Christian ASTOR <casto...@club-internet.fr> wrote:
On 23 nov, 17:57, Maxime <maximeou...@laposte.net> wrote:
> > Dans quel header dois-je trouver celà?
> > De plus, pourrais-tu me donner un exemple de code pour la couleur de
> > fond? J'ai du mal à trouver ces que nécessite chaque fonctions/
> > message...
> Up?
Si tu fais clic droit dans VS sur BS_SPLITBUTTON, ça donne
commctrl.h
Et il n'y a rien à faire à part retourner un brush handle sur
WM_CTLCOLORSTATIC. comme
return (LRESULT) GetStockObject(DKGRAY_BRUSH);
Merci beaucoup, j'arrive à changer le background, mais ne trouve pas
comment changer la couleur du texte... Par ailleurs, je ne trouve
l'endroit de la modification à apporter dans commctrl.h pour le
SPLITBUTTON?
De plus, saurais-tu où se trouve le ID_LISTVIEW? Mon compilateur me
dit qu'il ne le connaît pas... Il s'agit de Code::Blocks.
> > Dans quel header dois-je trouver celà? > > De plus, pourrais-tu me donner un exemple de code pour la couleur de > > fond? J'ai du mal à trouver ces que nécessite chaque fonctions/ > > message... > Up?
Si tu fais clic droit dans VS sur BS_SPLITBUTTON, ça donne commctrl.h
Et il n'y a rien à faire à part retourner un brush handle sur WM_CTLCOLORSTATIC. comme return (LRESULT) GetStockObject(DKGRAY_BRUSH);
Merci beaucoup, j'arrive à changer le background, mais ne trouve pas comment changer la couleur du texte... Par ailleurs, je ne trouve l'endroit de la modification à apporter dans commctrl.h pour le SPLITBUTTON? De plus, saurais-tu où se trouve le ID_LISTVIEW? Mon compilateur me dit qu'il ne le connaît pas... Il s'agit de Code::Blocks.
Merci beaucoup ;)!
Christian ASTOR
On 24 nov, 19:14, Maxime wrote:
Merci beaucoup, j'arrive à changer le background, mais ne trouve pas comment changer la couleur du texte... Par ailleurs, je ne trouve l'endroit de la modification à apporter dans commctrl.h pour le SPLITBUTTON? De plus, saurais-tu où se trouve le ID_LISTVIEW? Mon compilateur me dit qu'il ne le connaît pas... Il s'agit de Code::Blocks.
Il ne faut pas modifier commctrl.h (!), mais comme il y a : #if _WIN32_WINNT >= 0x0600 il faut rajouter un #define _WIN32_WINNT qui doit être >= 0x0600 au début du programme. Pour le texte d'un Group Box avec Theme, une solution est de poster un WM_USER dans WM_CTLCOLORSTATIC, où l'on re-dessine par dessus (SetTextColor()-DrawText()) (sans Theme, SetTextColor() dans WM_CTLCOLORSTATIC suffit) ID_LISTVIEW n'existe pas par défaut, c'est un ID que tu as créé (dans un resource.h ou autre)
On 24 nov, 19:14, Maxime <maximeou...@laposte.net> wrote:
Merci beaucoup, j'arrive à changer le background, mais ne trouve pas
comment changer la couleur du texte... Par ailleurs, je ne trouve
l'endroit de la modification à apporter dans commctrl.h pour le
SPLITBUTTON?
De plus, saurais-tu où se trouve le ID_LISTVIEW? Mon compilateur me
dit qu'il ne le connaît pas... Il s'agit de Code::Blocks.
Il ne faut pas modifier commctrl.h (!), mais comme il y a :
#if _WIN32_WINNT >= 0x0600
il faut rajouter un #define _WIN32_WINNT qui doit être >= 0x0600 au
début du programme.
Pour le texte d'un Group Box avec Theme, une solution est de poster un
WM_USER dans WM_CTLCOLORSTATIC, où l'on re-dessine par dessus
(SetTextColor()-DrawText())
(sans Theme, SetTextColor() dans WM_CTLCOLORSTATIC suffit)
ID_LISTVIEW n'existe pas par défaut, c'est un ID que tu as créé (dans
un resource.h ou autre)
Merci beaucoup, j'arrive à changer le background, mais ne trouve pas comment changer la couleur du texte... Par ailleurs, je ne trouve l'endroit de la modification à apporter dans commctrl.h pour le SPLITBUTTON? De plus, saurais-tu où se trouve le ID_LISTVIEW? Mon compilateur me dit qu'il ne le connaît pas... Il s'agit de Code::Blocks.
Il ne faut pas modifier commctrl.h (!), mais comme il y a : #if _WIN32_WINNT >= 0x0600 il faut rajouter un #define _WIN32_WINNT qui doit être >= 0x0600 au début du programme. Pour le texte d'un Group Box avec Theme, une solution est de poster un WM_USER dans WM_CTLCOLORSTATIC, où l'on re-dessine par dessus (SetTextColor()-DrawText()) (sans Theme, SetTextColor() dans WM_CTLCOLORSTATIC suffit) ID_LISTVIEW n'existe pas par défaut, c'est un ID que tu as créé (dans un resource.h ou autre)