WinApi->;如何创建组合框(没有资源)

WinApi->;如何创建组合框(没有资源),winapi,Winapi,有谁能告诉我如何在没有资源和MFC的情况下创建带有DropDownList的ComboBox(比如带有DropDownStyle=DropDownList的C#ComboBox控件)?我在谷歌上搜索了大约20分钟,但我发现的所有代码示例都为我创建了奇怪的控件(例如,一个带有复选框的普通区域,无法选中…)。我的代码如下所示: WNDCLASSEX wcex; HWND hwnd; HWND button; HDC hDC; HGLRC hRC; MSG msg; BOOL bQuit = FALS

有谁能告诉我如何在没有资源和MFC的情况下创建带有DropDownList的ComboBox(比如带有DropDownStyle=DropDownList的C#ComboBox控件)?我在谷歌上搜索了大约20分钟,但我发现的所有代码示例都为我创建了奇怪的控件(例如,一个带有复选框的普通区域,无法选中…)。我的代码如下所示:

WNDCLASSEX wcex;
HWND hwnd;
HWND button;
HDC hDC;
HGLRC hRC;
MSG msg;
BOOL bQuit = FALSE;
float theta = 0.0f;

/* register window class */
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_OWNDC;
wcex.lpfnWndProc = WindowProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
wcex.lpszMenuName = NULL;
wcex.lpszClassName = "GLSample";
wcex.hIconSm = LoadIcon(NULL, IDI_APPLICATION);;


if (!RegisterClassEx(&wcex))
    return 0;

/* create main window */
hwnd = CreateWindowEx(0,
                      "GLSample",
                      "OpenGL Sample",
                      WS_OVERLAPPEDWINDOW,
                      CW_USEDEFAULT,
                      CW_USEDEFAULT,
                      256,
                      256,
                      NULL,
                      NULL,
                      hInstance,
                      NULL);
ShowWindow(hwnd, nCmdShow);

button = CreateWindow("GLSample", "knopf", WS_CHILD | WS_VISIBLE, 200, 200, 150, 60, hwnd, NULL, hInstance, NULL);

您必须再次调用
CreateWindow()
,指定
lpClassName=combobox
dwStyle=CBS\u DROPDOWNLIST


您可以通过使用

@BlackBear向其发送来编辑其内容:再次感谢,也许您可以告诉我如何获取当前选定的条目?那么今天我很高兴^^@Alex Kruger:WM_SETTEXT和WM_GETTEXT应该让你设置/获取我认为选中项目的文本(从未使用过它们:)