|
本帖最后由 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;
- }
复制代码
|
|