Тема: Привязка обработчика события TStringGrid |
|
[ Из форума Вопросы программирования в C++Builder ]
|
| Автор: VilgelmKaizer - Дата: 13.07.2010, 18:53 - Ответов по теме: 1 |
добрый день уважаемые знатоки.
Вопрос у меня такой(по C++ Builder 6): Есть такой класс гридов TStringGrid и у него есть событие OnDrawCell - возникает при перерисовке ячеек(типа, это общеизвестно). Когда создаешь объект такого класса динамически - то возникает вопрос как привязать самодельный обработчик события к объекту.
создать нужно динамически в момент выполнения несколько штук, т.е. на этапе компиляции не известно кол-во обьектов.\ Поэтому сделать их элементами класса формы не получиться и использовать способ типа
| CODE | | StringGrid1->OnDblClick = MyFunc(); |
тоже не получиться т.к. MyFunc() не член класса формы.
Решение я нашел и оно работает - через TMethod т.е. есть функция обработчик
| CODE | | void __fastcall LexDraw(void* This, TObject* Sender, int ACol, int ARow, TRect& Rect, TGridDrawState State) | - самописный обработчик
далее создаем объект грид
| CODE | TStringGrid* GG = new TStringGrid(...)
//--- далее привязываем TMethod Method_OnDrawCell; //-- создаем объект тметод
Method_OnDrawCell.Data = GG; // привязываем к нему наш GG
Method_OnDrawCell.Code= LexDraw; // привязываем к нему функцию обработчик
GG->OnDrawCell = *(TDrawCellEvent*)&Method_OnDrawCell;
|
в последней строчке видно что объект тметод преобразуется в некоторый тип TDrawCellEvent.
Собственно вопросы: 1.как ЭТО(TDrawCellEvent) называется чтобы можно было про него почитать в хелпе. 2.какой тип аналогичный TDrawCellEvent нужно использовать чтобы можно было привязать самодельный обработчик событию OnDblClick того же грида.
Прошу прощения если написано коряво.
|
|
| ::
Читать далее/обсудить на форуме ... |
Тема: Макрос define - почему он не популярен? |
|
[ Из форума Программирование на С++ в Linux ]
|
| Автор: ertyuo - Дата: 11.01.2010, 20:10 - Ответов по теме: 0 |
| Возник вопрос в связи с прочтением очерка о define и include. В обычных программах под Windows макросы вещь вообще неиспользуемая, а вот в программирование под Linux еще используется, но очень редко. Вот и возник вопрос, почему макрос так непопулярен? Ведь программы с define более читабельные, да и кода нужно написать меньше, чем функцию. |
|
| ::
Читать далее/обсудить на форуме ... |
Тема: прикинуться Excel'ем |
|
[ Из форума Технологии COM/DCOM, ActiveX ]
|
| Автор: true25 - Дата: 11.01.2010, 14:41 - Ответов по теме: 0 |
Вообщем мне нужно написать программу на c++ builder, которая будет принимать из другой программы данные через dde. чтобы эт осуществить необходимо, чтобы программа на с++ builder прикидовалась Excel'ем. вроде написал, но там возникают ошибки, которые не могу решить(( помогите плиз(( очень надо
|
|
| ::
Читать далее/обсудить на форуме ... |
|
Из темы: Привязка обработчика события TStringGrid |
| Ответил: VilgelmKaizer - Дата:
27.07.2010, 20:49 |
|
| ::
Перейти к теме ... |
Из темы: Читать строку как HEX |
| Ответил: jenych - Дата:
08.02.2010, 16:36 |
|
| ::
Перейти к теме ... |
Из темы: проблема с dll, скомпилированной в Microsoft VS |
| Ответил: VilgelmKaizer - Дата:
10.01.2010, 16:48 |
| Net Framework установлен? |
|
| ::
Перейти к теме ... |
Из темы: C++ http протоколы. |
| Ответил: Sergey - Дата:
05.01.2010, 19:42 |
TIdHTTP - по ощущениям меньше глючит чем 2й.
TNMHTTP |
|
| ::
Перейти к теме ... |
Из темы: Создание формы в dll |
| Ответил: Alexey188 - Дата:
30.12.2009, 15:33 |
Ответ: После выполнения действий на форме необходимо написать код:
Закрывайте тему. |
|
| ::
Перейти к теме ... |
|