首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Win32 WinAPI EditBoX风格

Win32 WinAPI EditBoX风格
EN

Stack Overflow用户
提问于 2013-11-15 23:51:10
回答 2查看 1.2K关注 0票数 2

如何使用EditBox Win32 WinAPI创建一个WinAPI,使其看起来像在VS设计器中放置一个editBox,例如,VisualC#或VB (有一个漂亮的顶部边框等等)?下面是一张图片,展示了它的外观,以及当它被放置在设计器中时的样子:

我试过这样的代码:

代码语言:javascript
复制
hWndTextBox = CreateWindow(L"EDIT", L"My default text",
        WS_CHILD | WS_VISIBLE | WS_BORDER | ES_AUTOHSCROLL ,
        10,10,200,20,
        hWnd,
        (HMENU) ID_TEXTBOX,
        hInst,
        NULL);

但是这个看起来不像在某个.NET IDE设计器中创建的框。我在我的Win32应用程序中启用了可视化样式,并且在Win7下使用VS 2010。我想让它看起来像第二个。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-16 00:20:54

我一定错过了其中的一些风格。我希望

是的,您必须使用CreateWindowEx(),以便可以指定WS_EX_CLIENTEDGE而不是WS_BORDER。并使用WM_SETFONT设置一个像样的TrueType字体,而不是默认的终端。

票数 4
EN

Stack Overflow用户

发布于 2013-11-16 00:02:43

要创建这样的效果,您需要子类Editbox控件并重写WM_PAINT和WM_ERASEBKGND消息。

有关子类的信息,请参阅:window

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20012677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档