>>>> 300分求解:如何把 SDI 的标题栏(Title bar)去掉 ,其他部分不变!

silver 2001-12-19 10:46:25
如何把 SDI 的标题栏(Title bar)去掉??

尝试在重载了 PreCreateWindow,添加代码:
cs.style &= ~WS_CAPTION;

……

无效!!

高分求解!!
...全文
124 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
a_kun 2001-12-26

if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs

cs.style = WS_POPUP;//WS_OVERLAPPED | WS_CAPTION | FWS_ADDTOTITLE;
cs.x = 0; cs.y = 0;
cs.cx = GetSystemMetrics(SM_CXSCREEN); cs.cy = GetSystemMetrics(SM_CYSCREEN);
cs.hMenu = NULL;

cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
cs.lpszClass = AfxRegisterWndClass(0);
return TRUE;

这段代码实现全屏无标题栏无菜单的窗口。
回复
xiaoxiaohan 2001-12-26
建立窗口以后就可以设置。
在那都可以,一般在初始化函数里。
回复
silver 2001-12-26
在哪里设置?
回复
dgb 2001-12-20
看看还有别的方法没有,我想应该有的,但是,我没找到
回复
zhuang094 2001-12-20
在哪里设置?
回复
hx 2001-12-20
同意XIAOXIAOHAN
回复
kamphkb 2001-12-19
不好意思,查了一下msdn才记得:
先create,然后改变风格,用xiaoxiaohan(萧晓寒)的方法或者直接用mfc的方法都可以。
然后在ShowWindow(),就可以了。
回复
kamphkb 2001-12-19
xiaoxiaohan(萧晓寒)的方法应该可以,但可能会闪一下。
最好动态生成。
回复
xiaoxiaohan 2001-12-19
改变窗口风格后必须刷新一下。
回复
xiaoxiaohan 2001-12-19
bRet = IsWindowVisible( hWnd );
if ( bRet )
{
longStyle = GetWindowLong( hWnd, GWL_STYLE );
if ( ( longStyle & WS_CAPTION ) == WS_CAPTION )
{
longStyle = longStyle ^ WS_CAPTION;
}
SetWindowLong( hWnd, GWL_STYLE, longStyle );
ShowWindow( hWnd, SW_SHOWMAXIMIZED );
break;
}
回复
silver 2001-12-19

请注意要去掉的是整个标题栏
回复
hg0001 2001-12-19
cs.style &=~FWS_ADDTOTITLE;
回复
xiaoxiaohan 2001-12-19
用SetWindowLong函数。
回复
相关推荐
发帖
非技术类
创建于2007-09-28

723

社区成员

VB 版八卦、闲侃,联络感情地盘,禁广告帖、作业帖
申请成为版主
帖子事件
创建了帖子
2001-12-19 10:46
社区公告
暂无公告