![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Господа программисты!
Прошу помощи в следующей задаче: Мне нужно сделать так, чтоб при выборе пункта в Combobox, содержимое этого пункта заносилось в Label. Пытаюсь следующим образом: Код:
if (lParam = ComboBox1) and (HiWord(wParam) = BN_CLICKED) then
//OnClick компонента ComboBox1
begin
GetWindowText(ComboBox1, szBuf, 1024);
SetWindowText(Label1, szBuf);
end;где - szBuf :PChar; Но Label - просто очищается. Если задать в ручную - szBuf:='12345'; то Label так и становится - 12345. Видимо я не правильно пытаюсь получить текст из Combobox Последний раз редактировалось AllMaNi, 04.11.2009 в 23:23. |
|
#2
|
||||
|
||||
|
Немного теории...
http://www.firststeps.ru/mfc/winapi/win/r.php?81 http://www.firststeps.ru/mfc/steps/help/r.php?183 Попробуй сначала получить handle объектов...и работать с хендлом... |
|
#3
|
||||
|
||||
|
перепробовал все что можно:
для чтения Код:
SendMessage(Combobox1, WM_GETTEXT, 80, LongInt(szBuf)); GetWindowText(ComboBox1, szBuf, 1024); GetDlgItemText(ComboBox1, 0, szBuf , 100 ); для записи Код:
SendMessage(Label1, WM_SETTEXT, 80, LongInt(szBuf)); с хэндлами я и работаю - здесь в примере - Combobox1 и Label1 - и есть хэндлы этих элементов. Код:
Label1 : HWND; //TLabel ComboBox1 : HWND; //TComboBox Button1 : HWND; //TButton |
|
#4
|
||||
|
||||
|
Кое что исправил:
Код:
if (lParam = ComboBox1) and (HiWord(wParam) = CBN_SELCHANGE) then //OnClick компонента ComboBox1 begin setlength(szbuf, 80); GetWindowText(ComboBox1, pansichar(szBuf), 80); SendMessage(Label1 , WM_SETTEXT, 80, LongInt(szBuf)); end; Работает но немного не так - на лабел выводится предыдущая запись: если выбираю перую строку - то лабел пустой, вторую, выводится первый и т.д. Где-то видимо надо идекс указать...а где хз... |
|
#5
|
||||
|
||||
|
пробовал вот так:
Код:
idCombobox := GetDlgCtrlId(Combobox1); GetDlgItemText(ComboBox1, idCombobox, PAnsiChar(szBuf) , 100 ); тоже не получается... |
|
#6
|
||||
|
||||
|
Никто не подскажет???
|