您的位置:程序门 -> vc/mfc -> 界面



问个文档/视图结构框架的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


问个文档/视图结构框架的问题[已结贴,结贴人:skypu]
发表于:2007-06-20 10:02:15 楼主
随便点击一个按钮,让关闭按钮失效
点击另外一个按钮,让关闭按钮可用
怎么实现?
我获得了主窗口框架的指针
cwnd*   pwnd   =   afxgetapp()-> getmainwnd();
谢谢了
发表于:2007-06-20 10:10:571楼 得分:50

//使最小化按钮无效
void   cmainframe::ondisableminbox()  
{
//获得窗口风格
long   style   =   ::getwindowlong(m_hwnd,gwl_style);

//设置新的风格
style   &=     ~(ws_minimizebox);
::setwindowlong(m_hwnd,gwl_style,style);

//重化窗口边框
crect   rc;
getwindowrect(&rc);
::setwindowpos(m_hwnd,hwnd_notopmost,rc.left,rc.top,rc.width(),rc.height(),swp_drawframe);
}
//使最大化按钮无效
void   cmainframe::ondisablemaxbox()  
{
//获得窗口风格
long   style   =   ::getwindowlong(m_hwnd,gwl_style);

//设置新的风格
style   &=     ~(ws_maximizebox);
::setwindowlong(m_hwnd,gwl_style,style);

//重化窗口边框
crect   rc;
getwindowrect(&rc);
::setwindowpos(m_hwnd,hwnd_notopmost,rc.left,rc.top,rc.width(),rc.height(),swp_drawframe);
}
//使关闭按钮无效
void   cmainframe::ondisableclose()  
{
//获得系统菜单
cmenu   *pmenu=getsystemmenu(false);

//获得关闭按钮的id
int   x=pmenu-> getmenuitemcount();
uint   pid=pmenu-> getmenuitemid(x-1);

//使关闭按钮无效
pmenu-> enablemenuitem(pid,   mf_disabled);
}
//使最小化按钮有效
void   cmainframe::onableminbox()  
{
//获得窗口风格
long   style   =   ::getwindowlong(m_hwnd,gwl_style);

//设置新的风格
style   ¦=   ws_minimizebox;
::setwindowlong(m_hwnd,gwl_style,style);
//重化窗口边框
crect   rc;
getwindowrect(&rc);
::setwindowpos(m_hwnd,hwnd_notopmost,rc.left,rc.top,rc.width(),rc.height(),swp_drawframe);
}
//使最大化按钮有效
void   cmainframe::onablemaxbox()  
{
//获得窗口风格
long   style   =   ::getwindowlong(m_hwnd,gwl_style);

//设置新的风格
style   ¦=   ws_maximizebox;
::setwindowlong(m_hwnd,gwl_style,style);

//重化窗口边框
crect   rc;
getwindowrect(&rc);
::setwindowpos(m_hwnd,hwnd_notopmost,rc.left,rc.top,rc.width(),rc.height(),swp_drawframe);
}
//使关闭按钮有效
void   cmainframe::onableclose()  
{
//获得系统菜单
cmenu   *pmenu=getsystemmenu(false);

//获得关闭按钮的id
int   x=pmenu-> getmenuitemcount();
uint   pid=pmenu-> getmenuitemid(x-1);

//使关闭按钮有效
pmenu-> enablemenuitem(pid,   mf_enabled);
}
发表于:2007-06-20 10:31:132楼 得分:0
50分感谢:)


快速检索

最新资讯
热门点击