@anonymouss

Как получить ID кнопок созданных через CreateWindow() WinAPI?

Создаю кнопки в векторе(потому что разное количество в зависимости от условий)
static vector<HWND> hBut;
hBut.push_back((CreateWindow(L"BUTTON", buf, WS_CHILD | WS_VISIBLE | WS_TABSTOP, x, y, nWidth, nHeight, hDlg, NULL, hInst, NULL)));


Но незнаю как получить ID всех кнопок, так как созданы не графически(путем переноса) а кодом. Как их получить?

И раз уж задаю ворос, тогда может еще подскажите как делать push_back(), если у мены будет вектор с умным указателем:
static vector<std::shared_ptr<HWND>> hBut;
  • Вопрос задан
  • 761 просмотр
Решения вопроса 1
@none7
Полагаю вам нужен GetWindowLong(hButton, GWL_ID), но умолчанию там могут быть и нули. Для shared_ptr нужен класс обёртка CWnd, который в своём деструкторе уничтожит окно. Если не хотите использовать MFC, то пишите аналог сами.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы