@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;
  • Вопрос задан
  • 798 просмотров
Решения вопроса 1
@none7
Полагаю вам нужен GetWindowLong(hButton, GWL_ID), но умолчанию там могут быть и нули. Для shared_ptr нужен класс обёртка CWnd, который в своём деструкторе уничтожит окно. Если не хотите использовать MFC, то пишите аналог сами.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы