c++标题栏 关闭按钮

来源:百度知道 编辑:UC知道 时间:2024/06/18 14:30:01
我创建了一个工程,单文档的。
创建的时候把标题栏上的最小最大关闭按钮点掉了,哦,还有标题栏标题前的图标,现在我想手动添加上这些,应该怎么做?
需要重载那些函数?
希望高手帮我解决。

编译器用的是 vc2005


CMainFrame::PreCreateWindow(CREATESTRUCT& cs)中把有关cs.style =的赋值去掉

需要Create Button,然后移动到指定的位置,通过MoveWindow。图标通过DrawIcon就可以。

有时候,我们需要包装窗口的标题栏,同时又不想让窗口的非客户区全部由自己来控制刷新,比如边框,菜单。

从WM_NCPAINT中的参数wParam可以得到需要刷新的区域:

hrgn = (HRGN) wParam; // handle of update region

因此,可以重载WndProc函数,对此区域中剔除标题栏所占的区域,代码如下:

case WM_NCPAINT:
{

HRGN hrgnSrc; // handle to Src WindowDC update region
HRGN hRgnCaption; // handle to Combine region
HRGN hRgnNew; // handle to New WindowDC update region
hrgnSrc = (HRGN) Msg.WParam;

TRect *winrect =new TRect();
GetWindowRect(ParentForm->Handle,winrect);
TRect rc;
rc= TRect(winrect->left,winrect->top,win