几何尺寸与公差论坛

 找回密码
 注册
查看: 1248|回复: 0

【转帖】如何在属性对话框标题栏加图标和最小化按钮?

[复制链接]
发表于 2008-12-18 10:28:27 | 显示全部楼层 |阅读模式
一\在OninitDialg增加以下代码
CPropSheet::OnInitDialog()
{
  ...........

// 最小化按钮
  ModifyStyle(0, WS_MINIMIZEBOX | WS_MAXIMIZEBOX);

// 标题栏加图标
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

// 修改了Style虽然能添加按钮,但不能响应,故需要在SysMenu上添加按钮
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL) {
    pSysMenu->InsertMenu(0,MF_BYPOSITION | MF_STRING, SC_MINIMIZE, _T("最小化(&N)"));
     pSysMenu->InsertMenu(0,MF_BYPOSITION | MF_STRING, SC_RESTORE, _T("还原(&R)"));
  }
  ..........
}

二\ 所以需要重载如下OnSysCommand消息;
void CPropSheet::OnSysCommand(UINT nID, LPARAM lParam)
{
     switch(nID)
     {
      case SC_MINIMIZE:
         ShowWindow(SW_SHOWMINIMIZED);
          return;
     }
     CPropertySheet::OnSysCommand(nID, lParam);
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-5-9 16:01 , Processed in 0.035597 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表