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

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

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

……

无效!!

高分求解!!
...全文
155 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
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函数。

743

社区成员

发帖
与我相关
我的任务
社区描述
VB 版八卦、闲侃,联络感情地盘,禁广告帖、作业帖
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧