Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.29;
Скачать: CL | DM;

Вниз

Создание Компонена на основе TCustomControl   Найти похожие ветки 

 
NewMan   (2006-07-11 14:54) [0]

Срочно надо написать компоненту Типа TStringGrid на основе TCustomControl... В C++ Builder...

А я не то, что на основе TCustomControl, я вообще компонентов не писал... А тут ещё C++ Builder...

В общем, дела мои обстоят не лучшим образом... Но пути обратно нет. Очень прошу оказать информативную помощь в поиске соотвествующего мануала, форумы хорошие по Билдеру, как с TCustomControl работать, как всё это тестить.

Заранее спасибо!


 
NewMan   (2006-07-11 14:55) [1]

Переопределяю метод TCustomControl->Paint():
class PACKAGE TInfoTable : public TCustomControl
{
private:
protected:
public:
      __fastcall TInfoTable(TComponent* Owner);
      void __fastcall Paint();
__published:
};

В *.cpp пишу:
void __fastcall TInfoTable::Paint()
{
Canvas->Brush->Color = clBlack;
Canvas->Pen->Color = clRed;

Canvas->Ellipse(0, 0, 100, 100);
}


ТЕСТИРОВАНИЕ:

Сам компонент у меня на палитру уже установлен.

1) просто перетаскиваю компонент на форму, запускаю приложение. Ничего не рисуется...
Я заметил: внесённые в *.cpp компонента изменения, никак не влияют на результат. Банально: ShowMessage() в конструкторе

2) поэтому я удалил компонент, заинклюдил его *.cpp, завёл глобальную переменную (мой компонент). Инициализирую по TFrom::OnCreate, удаляю по OnDestroy...

Но всё равно ничего не рисуется

Потом решил ещё потестить:
в Paint() добавил:

SetWindowText(ParentWindow, "Paint()");

Так вот при работе приложения, Caption так и не изменился

Решил "насильно" вызвать метод TInfoTable::Paint() по нажатию кнопки на форме... Нажал... И сразу получил:
Invalid Operation with message "Control has no parent window"



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

Текущий архив: 2007.04.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.034 c
15-1175567355
Slider007
2007-04-03 06:29
2007.04.29
С днем рождения ! 3 апреля


4-1164386044
LexusU
2006-11-24 19:34
2007.04.29
Как получить статус процесса на удаленном компьютере


15-1175616972
И. Павел
2007-04-03 20:16
2007.04.29
Документация и бета тестирование


3-1170756092
iviom
2007-02-06 13:01
2007.04.29
Как копировать в буфер обмена содержимое DBGridEh?


15-1175535198
Nic (ro)
2007-04-02 21:33
2007.04.29
Как сделать меню как в IE 6.0?