用SDK做出来的EditBox为啥界面很丑

zswolf2000 2010-04-23 03:18:38
我用SDK弄了一个EditBox,代码如下


HWND hEdit=CreateWindowEx(WS_EX_LEFT|WS_EX_LTRREADING|WS_EX_RIGHTSCROLLBAR| WS_EX_NOPARENTNOTIFY, _T("edit"), _T("Edit Box 1#"),
WS_CHILD|WS_VISIBLE|WS_BORDER|ES_LEFT ,
point1.x, point1.y, EDIT_WIDTH, EDIT_HEIGHT,
m_hWnd, NULL, _Module.GetModuleInstance(), NULL);

显示出来的EditBox很丑,类似Windows3.1那个时代的EditBox。
我又在对话框直接加入EditBox,显示出来的很好看,边框是淡蓝色的。
这是怎么回事,我用spy++仔细比较了一下,ExStye都是WS_EX_LEFT|WS_EX_LTRREADING|WS_EX_RIGHTSCROLLBAR| WS_EX_NOPARENTNOTIFY。Style都是WS_CHILD|WS_VISIBLE|WS_BORDER|ES_LEFT 。
请高手解释
...全文
176 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zswolf2000 2010-04-26
  • 打赏
  • 举报
回复
基本算是解决了,ExStlye加上WS_EX_CLIENTEDGE就算OK了。
目前窗口式样为:0x50010000,和你的窗口式样为:0x50010080 差一点。最后那个0x80是什么啊?我在.h文件中没找到啊
z4none 2010-04-23
  • 打赏
  • 举报
回复
是 xp 样式问题么? 加个 manifest 文件试试?
柯本 2010-04-23
  • 打赏
  • 举报
回复
手边没有vs2005,用vs2008看了一下,窗口式样为:0x50010080,扩展式样为0x204
结果也是一样的
zswolf2000 2010-04-23
  • 打赏
  • 举报
回复
晕,楼上学啥了啊
柯本 2010-04-23
  • 打赏
  • 举报
回复
我是在BCB下做的(因为这里是BCB版),做的的效果与BCB6的一样,只是字体及背景色不同
zswolf2000 2010-04-23
  • 打赏
  • 举报
回复
字体也试了,改变的也是字体大小、颜色等。
默认EditBox边缘是淡蓝色的,那个咋弄出来的。是不是谁个hook了?
zswolf2000 2010-04-23
  • 打赏
  • 举报
回复
0x540100c0,效果就是没有边框,样子一样
柯本 2010-04-23
  • 打赏
  • 举报
回复
另外,我看了下,就应该是字体的问题了
柯本 2010-04-23
  • 打赏
  • 举报
回复
你试一下这个的效果,你的spy++没看错吧?
HWND hEdit=CreateWindowEx(0x200, _T("edit"), _T("Edit Box 1#"),
0x540100c0,
point1.x, point1.y, EDIT_WIDTH, EDIT_HEIGHT,
m_hWnd, NULL, _Module.GetModuleInstance(), NULL);
zswolf2000 2010-04-23
  • 打赏
  • 举报
回复
我用的是VC2005

1,222

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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