添加图像c++后,将文本发送到按钮
Sending text to button after adding image c++
我可以将图像添加到按钮作为背景,但后来我想将文本添加到按钮中作为"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;
}
您是否意识到必须创建一个窗口,然后将按钮放在窗口中?
程序可能在错误的目录中查找文件。使用完整路径名并进行错误检查以确保位图已加载。示例:
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);
}
相关文章:
- Win API对齐按钮上的文本
- 如何通过单击按钮在QTextEdit中显示文本?
- 动态使用多个按钮和文本框
- Qt - 右键单击时编辑按钮文本
- QTool按钮上的文本未绘制
- 当我将鼠标悬停在qt中的不同按钮上时,如何更改标签文本
- 使用"dear imgui"具有相同按钮文本的按钮
- 如何将只读动态设置为按钮和文本框
- 如何从第三方程序中通过鼠标悬停获取按钮文本
- 如何在RAD Studio XE中更改TMsgDlgButtons "Yes"和"No"按钮的文本?
- 在iOS中,如何从viewController以外的类更改按钮的文本
- 尝试在单击按钮时捕获编辑框中的文本,然后显示到另一个编辑框
- 问答游戏/单击按钮将文本添加到标签
- 我想在文本框中以值显示,而不单击按钮.只需更新值
- 在文本上方为 MFC 按钮制作图标
- C++窗体-单击按钮后如何显示/隐藏某个对象(如按钮或文本框)
- Qt:从QTableWidget中的按钮获取文本
- 在按钮文本中带下划线快捷键的工具栏
- 根据bool状态更改标签/按钮文本
- 如何从按钮文本qt中删除和安全