Показать диалоговое окно - PullRequest
0 голосов
/ 01 марта 2012

Привет, я новичок в том, чтобы выиграть API и использую C. Мне было интересно, как бы я отобразил баннер в своем диалоговом приложении. Мне удалось загрузить значок приложения со следующим кодом.

LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1));

Однако я немного не уверен, как это сделать в диалоге. Используя Visual Studio, я смог создать окно управления изображением, которое дает мне IDC_STATIC1, использовать ли sendmessage для загрузки файла растрового изображения?

Извините, если это глупый вопрос, у меня был хороший маршрут в Google сегодня утром, но безуспешно.

1 Ответ

0 голосов
/ 01 марта 2012

Если вы хотите загрузить изображение из ресурсов вашего приложения:

hBitmap = (HBITMAP) LoadImage (
    hInst, 
    MAKEINTRESOURCE(id), 
    IMAGE_BITMAP, 
    0, 0, 
    LR_CREATEDIBSECTION);

Если вы хотите загрузить изображение из внешнего файла:

hBitmap = (HBITMAP) LoadImage (
    0, 
    path, 
    IMAGE_BITMAP, 
    0, 0, 
    LR_LOADFROMFILE);

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

HDC hdcDst = CreateCompatibleDC(NULL);
BitBlt(hdcDst, x, y, width, height, sourceDc, xSource, ySource, mode);

Учтите, что вы делаете все это жестким / старым способом;после прямых вызовов SDK пришли Visual C ++ / MFC / .NET / WPF /...

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