PDA

Просмотр полной версии : COMBOBOX



Rooff
05.10.2004, 11:08
Подскажите!
Мне нужно программно выбрать элемент из Combobox.
Но я не знаю какой функцией(ями) это сделать

Заранее благодарен

Romeo
05.10.2004, 12:07
Подробнее, пожалуйста. Постановку задачи и требуемые результаты в форум.

Rooff
05.10.2004, 12:15
Подробнее, пожалуйста. Постановку задачи и требуемые результаты в форум.

Есть виндовое окошко с различными компонентами включая и COMBOBOX. В этом Comboboxe есть перечень значений. Мне нужно выстваить конкретное значение - вот и все. В текстовые поля я вставляю без проблем, а вот как с комбобохом не знаю

Romeo
05.10.2004, 14:06
Если вставить значение в сам edit box, который является частью combo box'а, то просто


SetWindowText(hComboBox, _T("My new string"));

Если же вставить строчку в list box, который является частью combo box, то можно воспользоваться AddItem или что-то в этом роде.

P.S. А ещё было бы неплохо узнать какими вы библиотеками пользуетесь при приектировании, господин Rooff (ну там MFC, ATL или вообще библиотек нет - голый API).

Eugie
05.10.2004, 16:17
SendMessage(
hwndComboBox, // handle to destination window
CB_SETCURSEL, // message to send
(WPARAM) wParam, // item index
(LPARAM) lParam // not used; must be zero
);

Rooff
05.10.2004, 17:04
Если вставить значение в сам edit box, который является частью combo box'а, то просто


SetWindowText(hComboBox, _T("My new string"));

Если же вставить строчку в list box, который является частью combo box, то можно воспользоваться AddItem или что-то в этом роде.

P.S. А ещё было бы неплохо узнать какими вы библиотеками пользуетесь при приектировании, господин Rooff (ну там MFC, ATL или вообще библиотек нет - голый API).

Я вобще-то описался - мне нужно выбрать элемент из списка
Программка на Перле использует модуль винапи

Kolinus
05.10.2004, 17:19
SendMessage(
(HWND) hWnd, // handle to destination window
CB_GETLBTEXT, // message to send
(WPARAM) wParam, // item index
(LPARAM) lParam // receives string (LPCSTR)
);
Получает элемент из списка комбобокса по его индексу.
Еще можно как сказал Eugie только потом еще надо считать текст из окна -
int GetWindowText(
HWND hWnd, // handle to window or control
LPTSTR lpString, // text buffer
int nMaxCount // maximum number of characters to copy
);