winapi 中的多行按钮

Multiline button in winapi

本文关键字:按钮 winapi      更新时间:2023-10-16

如何在winAPI中创建多行按钮(甚至\r都不起作用(。这是代码:

HWND hPrzyciskoff = CreateWindowEx( 0, "BUTTON", "Play offline", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 410, 550, 380, 25, hwnd, NULL, hInstance, NULL );

BS_MULTILINE添加到您在 CreateWindowEx() 的第 4参数中指定的样式中。

正如按钮样式的文档所解释的那样:

BS_MULTILINE

如果文本字符串太长而无法容纳在按钮矩形中的一行上,则将按钮文本换行为多行。

然后,按钮文本内的n字符将具有所需的效果。

检查"按钮类型"页面上的屏幕截图,看看它的外观。

大多行按钮的替代方法是命令链接按钮BS_COMMANDLINK。它有一个正文和额外的注释(通过BCM_SETNOTE消息或Button_SetNote宏设置(,以不同大小的字体显示。字体是预定义的,据我所知无法更改。还有一个默认的绿色箭头,可以用另一个图像替换(通过BM_SETIMAGE(,但不能完全删除。但是,按钮背景可以通过WM_CTLCOLORBTN消息更改(这不适用于任何其他按钮(,这有时非常方便,例如像在工具栏中一样与窗口背景混合。