Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Design de fenêtre et autre.

30 réponses
Avatar
Maxime
Bonjour =E0 tous,

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 ;).

10 réponses

1 2 3
Avatar
Maxime
On 25 nov, 18:46, Christian ASTOR wrote:
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 a u
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éé (da ns
un resource.h ou autre)



Dans un autre code source, j'ai trouvé un #define ID_LISTVIEW 1001;
mon programme ne bug plus à la compilation lorsque je fais ce define,
mais rien ne s'affiche, et je vois mal devoir créer quelle que
ressource que ce soit pour créer une listview.

De plus, j'ai fais - à force d'échec - des #define _WIN32_WINNT 0x0600
un peu partout dans mon code source, mais il me dit toujours que
BS_SPLITBUTTON n'est pas défini.

Une idée?
Avatar
Christian ASTOR
On 25 nov, 20:39, Maxime wrote:

Dans un autre code source, j'ai trouvé un #define ID_LISTVIEW 1001;
mon programme ne bug plus à la compilation lorsque je fais ce define,
mais rien ne s'affiche, et je vois mal devoir créer quelle que
ressource que ce soit pour créer une listview.



Tu appelles bien InitCommonControls() ?

De plus, j'ai fais - à force d'échec - des #define _WIN32_WINNT 0x060 0
un peu partout dans mon code source, mais il me dit toujours que
BS_SPLITBUTTON n'est pas défini.
Une idée?-



Es-tu bien sûr que BS_SPLITBUTTON est défini dans ta version de
commctrl.h ?
(#define BS_SPLITBUTTON 0x0000000CL)
Avatar
Maxime
On 25 nov, 21:41, Christian ASTOR wrote:
On 25 nov, 20:39, Maxime wrote:

> Dans un autre code source, j'ai trouvé un #define ID_LISTVIEW 1001;
> mon programme ne bug plus à la compilation lorsque je fais ce define,
> mais rien ne s'affiche, et je vois mal devoir créer quelle que
> ressource que ce soit pour créer une listview.

Tu appelles bien InitCommonControls() ?

> De plus, j'ai fais - à force d'échec - des #define _WIN32_WINNT 0x0 600
> un peu partout dans mon code source, mais il me dit toujours que
> BS_SPLITBUTTON n'est pas défini.
> Une idée?-

Es-tu bien sûr que BS_SPLITBUTTON est défini dans ta version de
commctrl.h ?
(#define BS_SPLITBUTTON          0x0000000CL)



Il me dit que InitCommonControls() est une fonction inconnue, de même
que InitCommonControlsEx. Par ailleurs, SPLITBUTTON n'est pas défini
dans commctrl.h. Dois-je l'y inclure ou dans mon fichier source? Est-
ce normal qu'il n'y soit pas?
Avatar
Christian ASTOR
On 25 nov, 22:14, Maxime wrote:

Il me dit que InitCommonControls() est une fonction inconnue, de même
que InitCommonControlsEx.



MSDN =>
Header commctrl.h
Import library comctl32.lib
Donc, il faut inclure commctrl.h et linker avec comctl32.lib

Par ailleurs, SPLITBUTTON n'est pas défini
dans commctrl.h.



C'est qu'il est trop vieux.
Il faut mettre à jour le SDK Windows
Avatar
Maxime
On 27 nov, 08:40, Christian ASTOR wrote:
On 25 nov, 22:14, Maxime wrote:

> Il me dit que InitCommonControls() est une fonction inconnue, de même
> que InitCommonControlsEx.

MSDN  =>
Header  commctrl.h
Import library  comctl32.lib
Donc, il faut inclure commctrl.h et linker avec comctl32.lib

> Par ailleurs, SPLITBUTTON n'est pas défini
> dans commctrl.h.

C'est qu'il est trop vieux.
Il faut mettre à jour le SDK Windows



Comment faire? J'ai cherché sur internet mais n'ai rien trouvé pour
une maj... de plus, j'ai copié les headers de visual c++ express, et
il manque plein de header (BS_SPLITBUTTON est bien défini ici, mais la
compilation plante, manque de headers).
Avatar
Alain
"Maxime" a écrit dans le message de news:

On 27 nov, 08:40, Christian ASTOR wrote:
C'est qu'il est trop vieux.
Il faut mettre à jour le SDK Windows



Comment faire? J'ai cherché sur internet mais n'ai rien trouvé pour
une maj...



Chez Microsoft, forcément :
http://msdn.microsoft.com/en-us/windows/dd146047.aspx
Avatar
Maxime
On 29 nov, 07:18, "Alain" wrote:
"Maxime" a écrit dans le message de news:

On 27 nov, 08:40, Christian ASTOR wrote:

> C'est qu'il est trop vieux.
> Il faut mettre à jour le SDK Windows
>Comment faire? J'ai cherché sur internet mais n'ai rien trouvé pour
>une maj...

Chez Microsoft, forcément :http://msdn.microsoft.com/en-us/windows/dd14 6047.aspx



Cela me donne les mêmes fichiers que ceux que j'avais pris dans Visual
C++ Express... et ils datent au plus jeune de 2007. De plus,
specstrings.h inclue un fichier header "sal.h" que le compilateur ne
trouve pas (le fichiers n'est effectivement nul part), et dans le
premier header, il me dit qu'il y a des syntax errors avant les
définitions des tyoes char, unsigned short, ... :

typedef __$compname_props char* ValidCompNameA;
typedef __$compname_props unsigned short* ValidCompNameW;
typedef __$compname_props const unsigned short* ConstValidCompNameW;
typedef __$compname_props __$TCHAR* SAL_ValidCompNameT;
typedef __$compname_props const __$TCHAR* SAL_ConstValidCompNameT;
Avatar
Maxime
On 29 nov, 16:17, Maxime wrote:
On 29 nov, 07:18, "Alain" wrote:

> "Maxime" a écrit dans le message de news:
>
> On 27 nov, 08:40, Christian ASTOR wrote:

> > C'est qu'il est trop vieux.
> > Il faut mettre à jour le SDK Windows
> >Comment faire? J'ai cherché sur internet mais n'ai rien trouvé pou r
> >une maj...

> Chez Microsoft, forcément :http://msdn.microsoft.com/en-us/windows/dd 146047.aspx

Cela me donne les mêmes fichiers que ceux que j'avais pris dans Visual
C++ Express... et ils datent au plus jeune de 2007. De plus,
specstrings.h inclue un fichier header "sal.h" que le compilateur ne
trouve pas (le fichiers n'est effectivement nul part), et dans le
premier header, il me dit qu'il y a des syntax errors avant les
définitions des tyoes char, unsigned short, ... :

typedef __$compname_props char* ValidCompNameA;
typedef __$compname_props unsigned short* ValidCompNameW;
typedef __$compname_props const unsigned short* ConstValidCompNameW;
typedef __$compname_props  __$TCHAR* SAL_ValidCompNameT;
typedef __$compname_props const  __$TCHAR* SAL_ConstValidCompNameT;



Up?
Avatar
Maxime
On 29 nov, 16:17, Maxime wrote:
On 29 nov, 07:18, "Alain" wrote:

> "Maxime" a écrit dans le message de news:
>
> On 27 nov, 08:40, Christian ASTOR wrote:

> > C'est qu'il est trop vieux.
> > Il faut mettre à jour le SDK Windows
> >Comment faire? J'ai cherché sur internet mais n'ai rien trouvé pou r
> >une maj...

> Chez Microsoft, forcément :http://msdn.microsoft.com/en-us/windows/dd 146047.aspx

Cela me donne les mêmes fichiers que ceux que j'avais pris dans Visual
C++ Express... et ils datent au plus jeune de 2007. De plus,
specstrings.h inclue un fichier header "sal.h" que le compilateur ne
trouve pas (le fichiers n'est effectivement nul part), et dans le
premier header, il me dit qu'il y a des syntax errors avant les
définitions des tyoes char, unsigned short, ... :

typedef __$compname_props char* ValidCompNameA;
typedef __$compname_props unsigned short* ValidCompNameW;
typedef __$compname_props const unsigned short* ConstValidCompNameW;
typedef __$compname_props  __$TCHAR* SAL_ValidCompNameT;
typedef __$compname_props const  __$TCHAR* SAL_ConstValidCompNameT;



Up?
Avatar
nico
Maxime wrote:

Cela me donne les mêmes fichiers que ceux que j'avais pris dans Visual
C++ Express... et ils datent au plus jeune de 2007. De plus,
specstrings.h inclue un fichier header "sal.h" que le compilateur ne
trouve pas (le fichiers n'est effectivement nul part), et dans le
premier header, il me dit qu'il y a des syntax errors avant les
définitions des tyoes char, unsigned short, ... :





Ca ne peut pas être les mêmes fichiers, sinon ça veut dire que tes
anciens fichiers étaient bons or tu disais que BS_SPLITBUTTON n'y était
pas dans commctrl.h (c'est celui-là l'essentiel)
(Sous VS, il faut aussi changer les répertoires au niveau ds options
pour lib et include)
sal.h, tu peux le mettre en commentaire ou alors n'inclus pas specstrings.h
1 2 3