Задать вопрос
@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;
  • Вопрос задан
  • 814 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Merion Academy
    Администрирование MS Windows Server
    1 месяц
    Далее
  • Нетология
    Инженер по автоматизации
    13 месяцев
    Далее
  • Skillbox
    Системный администратор с нуля
    6 месяцев
    Далее
Решения вопроса 1
@none7
Полагаю вам нужен GetWindowLong(hButton, GWL_ID), но умолчанию там могут быть и нули. Для shared_ptr нужен класс обёртка CWnd, который в своём деструкторе уничтожит окно. Если не хотите использовать MFC, то пишите аналог сами.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Монетка Екатеринбург
от 130 000 до 160 000 ₽
Гринатом Петрозаводск
До 80 000 ₽
Алабуга Екатеринбург
от 127 500 ₽