c++ - 如何使编辑控件具有 3D 外观?

标签 c++ winapi win32gui

我通过以下代码创建了一个编辑控件:

hWnd = CreateWindowExW( 0,      // extended styles
                        L"EDIT",
                        L"Text in edit.",
                        ES_LEFT | WS_VISIBLE | WS_CHILD,
                        10,     // x
                        50,     // y
                        30,     // width
                        100,    // height
                        hWndMainWindow,
                        NULL,
                        hInstance,
                        NULL);

我的编辑控件如下所示:
My edit control

但我在 Windows 中看到的大多数编辑控件都具有 3D 外观,如下图所示:
Normal edit controls

我尝试了几种扩展的和普通的窗口样式,但没有任何效果。如何使我的编辑控件看起来像第二张图片中的那样?

一些可以帮助您引用的快速链接:
Window Styles
Extended Window Styles
Edit Styles

最佳答案

您需要包含 WS_EX_CLIENTEDGE 扩展窗口样式。

您说您已经尝试包含 WS_EX_CLIENTEDGE 但没有成功。我将大胆猜测您一直在尝试将其包含在窗口样式中而不是扩展窗口样式中。您的代码应如下所示:

hWnd = CreateWindowExW( 
    WS_EX_CLIENTEDGE,  // extended styles
    L"EDIT",
    ...
);

关于c++ - 如何使编辑控件具有 3D 外观?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17890658/

相关文章:

c# - Rfc2898DeriveBytes 是否等同于 PKCS5_PBKDF2_HMAC_SHA1?

c++ - 两个不同的进程在同一地址上有 2 个 std::atomic 变量?

delphi - 使用 Windows AVIFile 函数提高 Delphi 6 应用程序的压缩率?

c++ - 如何使用windows api获取输入

C++在另一个内部创建窗口

c++ - 函数返回值如何工作

c++ - Eigen slerp 导致读取访问冲突 (C++/OpenGL)

c++ - 如何以编程方式更改非默认声音设备的音量?

windows - 如何在 Win32 应用程序中检测 Windows 10 亮/暗模式?

windows - 如何在不关闭主对话框(父)的情况下关闭对话框(子)