文本宽度后的复选框大小

Chr*_*zon 4 c++ winapi

我有这个

CreateWindowA("BUTTON", "Testing!", WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX, 0, 0, 45, 20, hwnd, 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)

并且复选框文本不适合复选框大小.

CB测试!

我能以某种方式设置文本宽度后的复选框宽度吗?

Chr*_*zon 7

在一些MSDN浏览中发现了这个精彩的消息!

BCM_GETIDEALSIZE

HWND cbhwnd = CreateWindowA("BUTTON", "Testing!", WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX, 0, 0, 0, 0, hwnd, 0, 0, 0);
SIZE size;
SendMessage(cbhwnd, BCM_GETIDEALSIZE, 0, &size);
SendMessage(cbhwnd, WM_SIZE, 0, size);
Run Code Online (Sandbox Code Playgroud)

  • 请注意,"BCM_GETIDEALSIZE"仅适用于XP及更高版本,并且启用了ComCtrl v6视觉样式. (4认同)