去掉已有风格,为什么有的能行有的不行???

木黑神 2015-08-19 08:27:25
为什么边框没有消失?
是不是方法错了,可& ~WS_VISIBLE 就可以让编辑框看不见。
求指点!!!

case WM_CREATE:

hedit = CreateWindow("edit",NULL,WS_CHILD|WS_BORDER|WS_VISIBLE|ES_LEFT|ES_MULTILINE,100,100,400,400,hwnd,(HMENU)id_edit,hInst,NULL);
SetWindowLong(hedit,GWL_STYLE,GetWindowLong(hedit,GWL_STYLE) & ~WS_BORDER );
break;


...全文
84 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2015-08-20
  • 打赏
  • 举报
回复
引用 2 楼 shuo101 的回复:
[quote=引用 1 楼 VisualEleven 的回复:] SetWindowLong() 调用之后加一句:SetWindowPos(hedit, NULL, 0, 0, 0, 0, SWP_FRAMECHANGED);
你好像没有看清我的问题,你的方法和 & ~WS_VISIBLE 一样是有效果的。 我是想把编辑框的 边框去掉的,内容保留在客户区。 现在 & ~WS_BORDER 后 没有效果,刷新也没效果。(边框还再) 可是 & ~WS_VISIBLE 后 编辑框就隐藏了。 不知道为什么& ~WS_BORDER 会没效果呢?[/quote] 哪里没看清你的问题了,人家只是说让你多加一句,有的样式修改需要调用 SetWindowPos 的。不过有的样式创建之后便不能修改,有的样式虽然不能通过 SetWindowLong 之类的修改,但是可以通过消息来修改。
schlafenhamster 2015-08-20
  • 打赏
  • 举报
回复
edit 控件 创建后 不是 没个 Style 都可以 该的, 重新创建
木黑神 2015-08-20
  • 打赏
  • 举报
回复
引用 4 楼 SXJIAKE 的回复:
[quote=引用 3 楼 schlafenhamster 的回复:] [quote=引用 1 楼 VisualEleven 的回复:] 。
我明白了,,谢谢
木黑神 2015-08-19
  • 打赏
  • 举报
回复
引用 1 楼 VisualEleven 的回复:
SetWindowLong() 调用之后加一句:SetWindowPos(hedit, NULL, 0, 0, 0, 0, SWP_FRAMECHANGED);
你好像没有看清我的问题,你的方法和 & ~WS_VISIBLE 一样是有效果的。 我是想把编辑框的 边框去掉的,内容保留在客户区。 现在 & ~WS_BORDER 后 没有效果,刷新也没效果。(边框还再) 可是 & ~WS_VISIBLE 后 编辑框就隐藏了。 不知道为什么& ~WS_BORDER 会没效果呢?
Eleven 2015-08-19
  • 打赏
  • 举报
回复
SetWindowLong() 调用之后加一句:SetWindowPos(hedit, NULL, 0, 0, 0, 0, SWP_FRAMECHANGED);

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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