Отправка текста на кнопку после добавления изображения Переполнение стека

Я могу добавить изображение к кнопке в качестве фона, но позже я хочу добавить текст к кнопке как «Weclome», я пробовал все возможные способы, используя Settext, SendmessageA.
пожалуйста помоги

#include <Windows.h>

int main()
{
MSG msg;
HWND hWnd = CreateWindow(TEXT("button"), TEXT("START"), WS_VISIBLE | WS_POPUP | WS_CHILD | WS_TABSTOP | BS_BITMAP,
250, 250, 500, 500, NULL, NULL, NULL, NULL);
HANDLE hImg = LoadImageW(NULL, L"Untitled.bmp", IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR | LR_DEFAULTSIZE | LR_LOADFROMFILE);
SendMessageW(hWnd, BM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hImg);

SendMessageA(hWnd, WM_SETTEXT, 0, (LPARAM)"Welcome");
//SendMessageW(hWnd, WM_SETTEXT, (WPARAM) 256,NULL);while (GetMessage(&msg, NULL, 0, 0))
{
ShowWindow(hWnd, SW_SHOW);
UpdateWindow(hWnd);
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return (int)msg.wParam;
}

-2

Решение

Вы понимаете, что должны создать окно, а затем поместить кнопку внутри окна?

Скорее всего, программа ищет файл в неправильном каталоге. Используйте полные пути и проверьте ошибки, чтобы убедиться, что битмап загружен. Пример:

HANDLE hImg = LoadImageW(NULL, L"c:\\fullpath\\Untitled.bmp", IMAGE_BITMAP, 0, 0,
LR_DEFAULTCOLOR | LR_DEFAULTSIZE | LR_LOADFROMFILE);

if (!hImg)
report error...

Не ставь ShowWindow а также UpdateWindow в цикле сообщений. Просто покажите окно и затем вызовите цикл обработки сообщений. Пример:

ShowWindow(hWnd, SW_SHOW);
UpdateWindow(hWnd);

while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector