нажать кнопочку
Есть диалог с кнопочкой. Получил hwnd кнопки и хочу сэмитировать нажатие этой кнопки посланием соответствующего сообщения. Подскажите че посылать?
HWND hwnd;
hwnd = ::GetDlgItem(GetParent()->GetParent()->m_hWnd, IDOK);
::SetWindowText(hwnd, "click");
Этот код работает! Теперь нужно вызвать
::SendMessage(hwnd, BN_CLICKED, NULL, NULL);
с соответствующими параметрами... по моему тут WM_COMMAND?
Цитата: GHopper
Приветствую.
Есть диалог с кнопочкой. Получил hwnd кнопки и хочу сэмитировать нажатие этой кнопки посланием соответствующего сообщения. Подскажите че посылать?
HWND hwnd;
hwnd = ::GetDlgItem(GetParent()->GetParent()->m_hWnd, IDOK);
::SetWindowText(hwnd, "click");
Этот код работает! Теперь нужно вызвать
::SendMessage(hwnd, BN_CLICKED, NULL, NULL);
с соответствующими параметрами... по моему тут WM_COMMAND?
Есть диалог с кнопочкой. Получил hwnd кнопки и хочу сэмитировать нажатие этой кнопки посланием соответствующего сообщения. Подскажите че посылать?
HWND hwnd;
hwnd = ::GetDlgItem(GetParent()->GetParent()->m_hWnd, IDOK);
::SetWindowText(hwnd, "click");
Этот код работает! Теперь нужно вызвать
::SendMessage(hwnd, BN_CLICKED, NULL, NULL);
с соответствующими параметрами... по моему тут WM_COMMAND?
BN_CLICKED кидается уже после нажатия кнопки самой кнопкой её паренту. В данном случае могу предположить, что кнопочке нужно слать что-то типа WM_LBUTTONDOWN
xPos = LOWORD(lParam);
yPos = HIWORD(lParam);
как в lParam вставить в верхнее и нижнее слова значения, чтобы с операторами сдвига не парить и не приводить к ворду. Короче как правильно?
::SendMessage(hwnd, WM_LBUTTONDOWN, MK_LBUTTON, 0);
результата нету(
hwnd = ::GetDlgItem(GetParent()->GetParent()->m_hWnd, IDOK);
lParam = 10;
lParam>>16;
lParam = 10;
::SendMessage(hwnd, WM_LBUTTONDOWN, MK_LBUTTON, lParam);
::SendMessage(hwnd, WM_LBUTTONUP, MK_LBUTTON, lParam);
если есть замечания - пишите.
спасибо за ответы