【解决方案】让 工具条 支持设置 按钮 宽度。
本帖最后由 urenai 于 2024-1-10 23:19 编辑封装就应该整整齐齐。
劳烦 @飞扬工作室 动动小手给复制到库里。
<火山程序 类型 = "通常" 版本 = 1 />
方法 置按钮宽度 <公开 类型 = 逻辑型 @禁止流程检查 = 真>
参数 按钮索引 <类型 = 整数 注释 = "从0开始" @默认值 = 0>
参数 按钮宽度 <类型 = 整数 @默认值 = 200>
参数 按钮ID <类型 = 整数 @默认值 = 0>
参数 图标索引 <类型 = 整数 注释 = "从0开始" @默认值 = -1>
{
@ CVWnd_ToolBar* pWnd = (CVWnd_ToolBar*)GetMfcWndPtr ();
@ if (pWnd->m_hWnd != NULL)
@ {
@ TBBUTTONINFO tbi;
@ tbi.cbSize = sizeof(TBBUTTONINFO);
@ tbi.dwMask = TBIF_SIZE | TBIF_BYINDEX;
@ tbi.cx = @<按钮宽度>;
@ tbi.idCommand = @<按钮ID>;
@ tbi.iImage = @<图标索引>;
@ return (BOOL) SendMessage((HWND)pWnd->m_hWnd,TB_SETBUTTONINFO, @<按钮索引>, (LPARAM)&tbi);
@ }
}
<火山程序 类型 = "通常" 版本 = 1 />
方法 均分按钮宽度 <公开 类型 = 逻辑型 折叠 @禁止流程检查 = 真>
{
@ CVWnd_ToolBar* pWnd = (CVWnd_ToolBar*)GetMfcWndPtrWithValidHWnd ();
@ if (pWnd->m_hWnd != NULL)
@ {
@ RECT rt;
@ pWnd->GetWindowRect (&rt);
@ int ButtonCount = pWnd->GetButtonCount ();
@ int everywide = (rt.right - rt.left) / ButtonCount;
@ for (int _Index = 0; _Index < ButtonCount; _Index++)
@ {
@ TBBUTTONINFO tbi;
@ tbi.cbSize = sizeof(TBBUTTONINFO);
@ tbi.dwMask = TBIF_SIZE | TBIF_BYINDEX;
@ tbi.cx = everywide;
@ tbi.idCommand = _Index;
//@ tbi.iImage = _Index;//无效
@ SendMessage((HWND)pWnd->m_hWnd,TB_SETBUTTONINFO, _Index, (LPARAM)&tbi);
@ }
@ return true;
@ }
@ return false;
}
感谢支持火山! 本帖最后由 itismine 于 2024-1-11 15:56 编辑
学习一下。
你也可以自己封装一下嘛。
本帖最后由 1503123 于 2024-1-11 09:14 编辑
缩进很重要,设置工具条按钮也很重要.很次都需要字数去控制宽度.
如果能在工具条按钮设置窗口,增加按钮宽度,就更完美了.
1503123 发表于 2024-1-11 10:03
如果能在工具条按钮设置窗口,增加按钮宽度,就更完美了.
标题文本两端加空格 飞扬工作室 发表于 2024-1-11 15:16
标题文本两端加空格
这是加空格的状态
页:
[1]