WinApi -> Как создать ComboBox (без ресурсов) - PullRequest
0 голосов
/ 13 апреля 2011

Может кто-нибудь сказать мне, как создать ComboBox с DropDownList (например, элемент управления C # ComboBox с DropDownStyle = DropDownList) без ресурсов и без MFC? Я погуглил около 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);

1 Ответ

2 голосов
/ 13 апреля 2011

Вам нужно снова позвонить CreateWindow(), указав lpClassName = combobox и dwStyle = CBS_DROPDOWNLIST.
. Вы можете редактировать его содержимое, отправив ему сообщений , используя SendMessage ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...