J'utilise Visual Studio 2008, j'ai le fichier PNG chargé dans la vue des ressources, lui assigné IDB_BANG_PNG.Définition par programme d'un fichier PNG dans un contrôle d'image dans les API Win32
Le contrôle d'image est appelé IDC_STATIC15.
J'ai des problèmes pour charger le PNG dans le contrôle d'image.
LRESULT CALLBACK DialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
// Way of loading a bmp with a mask perhaps? Or a PNG file programatically?
static HBRUSH hBrushStatic;
HBITMAP hBmp = LoadBitmap(hDlg,MAKEINTRESOURCE(IDB_BANG_PNG));
switch(message)
{
case WM_INITDIALOG:
CheckDlgButton(hDlg, IDC_CHECK, FALSE);
EnableWindow(GetDlgItem(hDlg, IDOK), FALSE);
// Bitmap version is IDB_BANG, PNG is at IDB_BANG_PNG
// IDC_STATIC15 is the picture frame
HWND item = GetDlgItem(hDlg,IDC_STATIC15);
SendMessage(item,STM_SETIMAGE,IMAGE_BITMAP,(LPARAM)hBmp);
return TRUE;
// .... snip
Je suis assez naïf en matière de développement Win32/GUI, faire un projet rapide et son resté coincé, toute aide est appréciée.
Vous avez besoin d'un fichier bitmap. Vous voulez convertir l'image PNG en image BMP. – anno
J'ai lu que vous pouvez supporter le format PNG mais vous devez le faire par programmation. Lorsque j'ajoute des images, en utilisant le filtre d'image hte, * .png est l'un des éléments listés. –
Problème, j'aime maintenir l'arrière-plan transparent, d'où la raison pour laquelle je veux utiliser le format PNG. Sauf, je peux créer un masque en utilisant BMP, ou permettre au fichier ICO d'utiliser l'icône de plus grande taille plutôt que 32x32. –