Picture Control не отображает изображение - PullRequest
1 голос
/ 15 октября 2011

В настоящее время я делаю диалог, в котором содержится элемент управления изображением.Я установил тип на BITMAP и установил изображение на изображение, которое я тоже хочу.Это изображение также находится в файле ресурса .rc.Когда я устанавливаю это как растровое изображение для элемента управления изображением, я прекрасно вижу его в редакторе, когда я запускаю свое приложение, но оно не работает, я ничего не вижу в элементе управления изображением.

Я пробовал следующее:

Call Initcommoncontrols ();(эта функция устарела, поэтому я попробовал InitCommonControlsEx () с требуемым аргументом) Результат: все еще нет изображения

Я использовал следующий фрагмент кода при инициализации формы:

SendMessage( GetDlgItem( aHWND, HEADERLOGO), STM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hBitmap );

hBitmapобъявляется как:

HBITMAP hBitmap = LoadBitmap( hInstance, MAKEINTRESOURCE(BITMAP_LOGO) );

Когда я сделал getlasterror после LoadBitmap (), код ошибки был: 1814 (0x716), что тоже переводит ERROR_RESOURCE_NAME_NOT_FOUND. Я понятия не имею, почему изображение не может быть найдено, я вижуВсе просто отлично в редакторе, никаких претензий к нему нет.hInstance получен из WinMain (), я также пытался получить его, используя этот фрагмент:

(HINSTANCE)GetWindowLong( aHWND, GWL_HINSTANCE);

Я предполагаю, что WinMain HINSTANCE будет правильным, но просто чтобы убедиться, что я попробовал это, ничего не получилось.

После этого я подумал, что это может быть какая-то ошибка в IDE, поэтому я выбросил диалог, воссоздал его, добавил новый элемент управления изображением, снова добавил изображение.Тем не менее, в редакторе все выглядит хорошо, но не отображается при запуске проекта.

Я предполагаю, что мне здесь не хватает чего-то очень простого, пожалуйста, просветите меня.

1 Ответ

1 голос
/ 20 декабря 2011

Оказалось, что получить HINSTANCE внутри диалога не получится.Это не будет действительным для памяти приложения.Если вы возьмете HINSTANCE, которую вы получите от WinMain, это сработает.Мой движок теперь захватывает этот, и теперь ручка HBITMAP заполнена просто отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...