Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.062 c
15-1268991257
Дмитрий С
2010-03-19 12:34
2010.08.27
На чем писать для Windows Mobile 6.5?


15-1274874008
aka
2010-05-26 15:40
2010.08.27
видео с сайтов


2-1274676640
viktooor
2010-05-24 08:50
2010.08.27
Запрет редактирование в Grid


2-1268556679
Ыфь86
2010-03-14 11:51
2010.08.27
не работает запрос по TCP


2-1265977153
fford
2010-02-12 15:19
2010.08.27
получить узел по номеру в TVirtualStringTree





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский