WinAPI wiadomość STM_SETIMAGE - nie działa

0

Witam! Dodałem do okna dialogowego w edytorze VS2013 kontrolkę "Picture control" i mam problem z ustawieniem w niej obrazka. Chciałem zrobić całość poprzez funkcję SendDlgItemMessage lub SendMessage (wiadomość STM_SETIMAGE) ale obie nie działają. Zamieszczam poniżej procedurę okna:

INT_PTR CALLBACK Coknodialog_sms::DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	static HBITMAP hImage = NULL;
	
	switch (uMsg)
	{
	case WM_INITDIALOG:
	{
		hImage = (HBITMAP)LoadImage(GetModuleHandle(NULL), L"obrazek.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
		SendDlgItemMessage(hWnd, IDC_STATIC8, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hImage);
		return TRUE;
	}
	case WM_CLOSE:
		DeleteObject(hImage);
		EndDialog(hWnd, 0);
		return TRUE;
	default:
		return FALSE;
	}
}

Jak wspomniałem to nie działa próbowałem różnych bitmap bezskutecznie. Rozmiar bitmapy ten sam co rozmiar kontrolki z pliku .rc.

0

To powinno działać. A może masz dwie kontrolki które mają id IDC_STATIC8 ? Innego powodu nie dostrzegam.

0

A zmieniłeś w Picture Control właściwość Type na Bitmap (inaczej chyba nie ma stylu SS_BITMAP i przez to nie załaduje).

0
kAzek napisał(a):

A zmieniłeś w Picture Control właściwość Type na Bitmap (inaczej chyba nie ma stylu SS_BITMAP i przez to nie załaduje).

Jesteś wielki faktycznie ta kontrolka ma taką właściwość, którą trzeba zmienić :) Dzięki!

1 użytkowników online, w tym zalogowanych: 0, gości: 1