Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.12.11;
Скачать: [xml.tar.bz2];

Вниз

Вызов событий Combobox созданных runtime   Найти похожие ветки 

 
dzmitry_li   (2005-11-14 16:32) [0]

Нда, споткнулся на простом коде...
создаю Combobox runtime, устанавливаю обработчик событий, но они как я не бьюсь - не вызываются,
Delphi2005 и Delphi7 проверено и неработоспособно... куда плясать?

код ниже


procedure TForm1.FormCreate(Sender: TObject);
begin
 Col.Combo:=TComboBox.Create(nil); // Form1, Application
 Col.Combo.ItemHeight:=13;
 Col.Combo.DropDownCount:=16;
 Col.Combo.Style:=csDropDownList;
 Col.Combo.Parent:=Form1;
 Col.Combo.OnChange:=ComboBox1Change;
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
ShowMessage("Ну вызовись этот грёбаный метод!")
end;


 
Reindeer Moss Eater ©   (2005-11-14 16:42) [1]

Прочитай Note к свойству OnChange в справке.


 
dzmitry_li   (2005-11-14 16:54) [2]

блин...

ну ладно... читаю хелп по OnClick (специально и внимательно), не нахожу крамолы
и пишу


Col.Combo.OnClick:=ComboBox1Click;
end;

procedure TForm1.ComboBox1Click(Sender: TObject);
begin
ShowMessage("Ну вызовись этот грёбаный метод!")
end;


результат тот же...

из всех перепробаванных методов рантайм ловятся только события клавиатуры
непорядок - как исправить


 
DesWind ©   (2005-11-14 17:01) [3]

Этот код полностью рабочий. А что такое Col ?


 
dzmitry_li   (2005-11-14 18:03) [4]

переволновался... прошёлся по улице (когда шёл домой с работы), и проблема решилась
отвечу сразу на вопрос что такое Col, а допустим это

type TCol=record
p: TPanel;
Combo: TComboBox;
end;
var
Col: TCol;

второе, хотел внедрить в StringGrid в некоторые ячейки выпадающий список ComboBox
соответственно делал вышеприведённый код.Забавно что когда Parent форма - события работают, когда парент StringGrid - снова не работает.
То что у меня проглотилось и заработало вот код

Col.p:=TPanel.Create(Application);
Col.p.Visible:=True;
Col.p.Parent:=StringGrid2;
Col.Combo:=TComboBox.Create(nil);
Col.Combo.Visible:=True;
Col.Combo.Tag:=i;
Col.Combo.Parent:=Col.p;
Col.Combo.OnClick:=ComboBox1Click;
Col.Combo.Items.Add("1");
Col.Combo.Items.Add("2");
Col.Combo.Items.Add("3");
Col.Combo.Height:=100;
Col.p.Width:=Col.Combo.Width;
Col.p.Height:=Col.Combo.Height;

конечно это черновой код, для теста, в реальности не так будет реализовано - не пугайтесь
спасибо тем кто пытался помочь



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.12.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.037 c
2-1132307783
oleggar
2005-11-18 12:56
2005.12.11
ICQ


4-1124891807
Dr.Nemo
2005-08-24 17:56
2005.12.11
Как подловить запуск приложения


1-1131810203
Nikos
2005-11-12 18:43
2005.12.11
Ошибка возведения числа в квадрат


4-1128418629
NightLord
2005-10-04 13:37
2005.12.11
InternetExplorer


4-1123885355
Германн
2005-08-13 02:22
2005.12.11
"Безопасное извлечение устойства"





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский