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

我试过这样的代码:
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。我想让它看起来像第二个。
发布于 2013-11-16 00:20:54
我一定错过了其中的一些风格。我希望
是的,您必须使用CreateWindowEx(),以便可以指定WS_EX_CLIENTEDGE而不是WS_BORDER。并使用WM_SETFONT设置一个像样的TrueType字体,而不是默认的终端。
发布于 2013-11-16 00:02:43
要创建这样的效果,您需要子类Editbox控件并重写WM_PAINT和WM_ERASEBKGND消息。
有关子类的信息,请参阅:window
https://stackoverflow.com/questions/20012677
复制相似问题