Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизОбновление компонента сендмеседжом Найти похожие ветки
← →
NoSilence (2010-05-10 18:42) [0]Задача: выбрать элемент в listbox и combobox на чужом окне.
SendMessage(hCB, CB_SETCURSEL, 7, 0);
выбирает нужный элемент, но не вызывает события
пробовал посылать нажатие энтера, но эффект тот же
← →
Игорь Шевченко © (2010-05-10 19:55) [1]
> но не вызывает события
а какое событие должно произойти ? армагеддон ?
← →
NoSilence (2010-05-10 20:02) [2]OnChange
← →
Юрий Зотов © (2010-05-10 20:02) [3]> NoSilence (10.05.10 18:42)
if SendMessage(hCB, CB_SETCURSEL, 7, 0) = 7 then
строка_выбрана_успешно
else
была_ошибка;
← →
Юрий Зотов © (2010-05-10 20:03) [4]> NoSilence (10.05.10 20:02) [2]
> OnChange
В чужой программе событие, может быть, и происходит - но с чего вдруг оно должно происходить в Вашей программе?
← →
NoSilence (2010-05-10 20:04) [5]Юрий Зотов, там же видно, что в другом окне строчка поменялась, но связанные с ее выбором действия не произошли.
if SendMessage(hCB, CB_SETCURSEL, 7, 0) = 7 then exit;
дальнейшие действия прервались
← →
Юрий Зотов © (2010-05-10 20:07) [6]> NoSilence (10.05.10 20:04) [5]
Еще раз - почему Вы решили, что изменения в чужой программе должны вдруг сами по себе отражаться в Вашей прграмме?
← →
NoSilence (2010-05-10 20:07) [7]Юрий Зотов, другая программа написана да делфи, не моя. Мне нужно выбрать из списка нужную строку, при этом должна произойти загрузка всего связанного с ним, но она не происходит.
← →
Юрий Зотов © (2010-05-10 20:11) [8]> NoSilence (10.05.10 20:07) [7]
Вы уже говорили, что она не Ваша. И я Вам о том же говорю. С чего вдруг в Вашей программе должны возникать чужие события?
← →
NoSilence (2010-05-10 20:17) [9]Да не в моей. Короче, есть программа, там есть дроп скисок, при выборе которого подгружается вся инфа.
Мне всего лишь нужно выбрать строку из этого дроп списка, так чтобы в том приложении загрузилась инфа, а не тупо поменялось значение элемента.
← →
sniknik © (2010-05-10 20:25) [10]OnChange это не событие, это метод компонента, который вызывается VCL (явный вызов процедуры) по какому то событию (последовательности событий/действий/х.з. неважно). посмотри в генофонде где вызывается и будешь знать, что за событие нужно послать...
← →
NoSilence (2010-05-10 20:25) [11]И так. Совсем другой вариант:
На форме имеется ComboBox1
С событием OnChange
Выбираем ручками нужну нам строку, что вызывает OnChange
Теперь делаемComboBox1.ItemIndex:= 3;
событие OnChange не вызывается, строка меняется.
Нужно далее вызвать его.
Но а если это другое приложение?SendMessage(hCB, CB_SETCURSEL, 3, 0);
SendMessage(hCB, CB_RESET, 0, 0); // Грубо говоря
← →
NoSilence (2010-05-10 21:26) [12]Извиняюсь за "неправильные" слова, ибо быдло кодер (т.е. не программист по образованию)
генофонд это Controls.pas, ComCtrls.pas и прочие? Не смог найти там нужного сообщения.
максимум до чего додумался:SendMessage(hCB, CB_SETCURSEL, 7, 0);
for i:= $B000 to $B000+69 do SendMessage(hCB, i, 0, 0);
и небольшие вариации с параметрами...
← →
Плохиш © (2010-05-10 21:34) [13]В исходниках TComboBox всё написано.
← →
Leonid Troyanovsky © (2010-05-11 08:14) [14]
> NoSilence (10.05.10 21:26) [12]
> for i:= $B000 to $B000+69 do SendMessage(hCB
SendMessage(hCB, CN_COMMAND, MakeWParam(0, CBN_EDITCHANGE), 0);
--
Regards, LVT.
← →
NoSilence (2010-05-11 18:01) [15]Спасибо. Данная функция не помогла, но я стал искать информацию по MakeWParam и нашел подобный проблемы :)
SendMessage(hWindow,WM_COMMAND,MakeWparam(0,CBN_SELCHANGE),hCB);
И другие ответы, по меседжам :)
← →
Leonid Troyanovsky © (2010-05-11 18:16) [16]
> NoSilence (11.05.10 18:01) [15]
> SendMessage(hWindow,WM_COMMAND,MakeWparam(0,CBN_SELCHANGE),
> hCB);
Абракадабра.
--
Regards, LVT.
← →
NoSilence (2010-05-11 18:50) [17]В смысле?
← →
Leonid Troyanovsky © (2010-05-11 19:08) [18]
> NoSilence (11.05.10 18:50) [17]
> В смысле?
http://ru.wikipedia.org/wiki/%D0%90%D0%B1%D1%80%D0%B0%D0%BA%D0%B0%D0%B4%D0%B0%D0%B1%D1%80%D0%B0_(%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F)
--
Regards, LVT.
← →
sniknik © (2010-05-11 19:30) [19]> и нашел подобный проблемы :)
зачем искать "подобный проблемы" если уже дан "готовый решений"?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.059 c