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

Вниз

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

 
Andre V.   (2002-04-08 10:24) [0]

Различие в design и run-time режимах
Свой визуальный компонент (от TRadioButton, TBitBtn и т.д.) в режиме design отображается нормально, в режиме run-time:
1. не отображается
2. отображается неправильно
3. наследуемые методы не вызываются
4. свои собственные методы (public) не вызываются
ЧТО ЭТО ТАКОЕ, С ЧЕМ ЕГО ЕДЯТ
P.S. Некоторые классы из того же файла работают корректно


 
MBo ©   (2002-04-08 13:33) [1]

вопросы неконкретные.


 
Andre V.   (2002-04-09 10:42) [2]

Уточняю: класс, наследник TBitBtn. Вставляю ейный компонент в форму. Ну его естественно видно, проперты разные у него есть,
установить их можно, поменять и т. д.
Компилирую, линкую, запускаю. Нет моего компонента. Его вооще
не видно. ГДЕ WMPaint?
Аналогично - наследник TRadioButton. Вызывается WMPaint для
TRadioButton.
КОНКРЕТНО:
написано:


private
{ Private declarations }
...
procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
...

далее

procedure TSSRadioButton.WMPaint( Var Message : TWMPaint );
Var
AControlState : TControlState;
begin
AControlState := ControlState;
Include( AControlState, csCustomPaint );
ControlState := AControlState;
inherited;
Exclude( AControlState, csCustomPaint );
ControlState := AControlState;
end;

procedure TSSRadioButton.PaintWindow( DC : HDC );
begin
FCanvas.Lock;
try
FCanvas.Handle := DC;
try
TControlCanvas(FCanvas).UpdateTextFlags;
Paint;
finally
FCanvas.Handle := 0;
end;
finally
FCanvas.Unlock;
end;
end;

procedure TSSRadioButton.Paint;
begin
... рисуются феньки...
end;


Вот этих самых фенек и не видно в режиме run-time


 
Игорь Шевченко ©   (2002-04-09 10:48) [3]

День добрый,

Отладчик в руки - и вперед!

С уважением,


 
Andre V.   (2002-04-09 11:15) [4]

Г-ну Шевченко!
Че отлаживать то?
На мой код не выходит. А отлаживать саму Винду???

С уважением,


 
Игорь Шевченко ©   (2002-04-09 11:20) [5]

День добрый, Andre V,

Отлаживать, начиная с TSSRadioButton.WMPaint, TWinControl.WMDrawItem, TWinControl.WMMeasureItem
Для этого создавать свой компонент динамически в run-time и поэтапно смотреть, какие сообщения он вообще обрабатывает.
Кстати, CNDrawItem компоненту от TBitBtn приходит ?

С уважением,



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
3-69687
KonuhovSegey
2002-03-10 18:41
2002.04.22
Исключения в Interbase


3-69661
Canny
2002-04-02 00:00
2002.04.22
Как подключиться к базе MySQL?


1-69891
kserg@ukr.net
2002-04-09 13:12
2002.04.22
Как преобразовать множество к целому типу и обратно?


6-69943
Brand
2002-01-28 21:16
2002.04.22
Непонятный момент с NMHTTP1.Post под WinXP


1-69924
Alexander Vasjuk
2002-04-09 19:48
2002.04.22
Как отключить Help по CLX