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

Вниз

Создание своих 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
14-70028
Новичок007
2002-03-18 17:18
2002.04.22
Помагите пож. очень важно...


1-69859
MCFire
2002-04-08 17:20
2002.04.22
Как закинуть меню в панель инструментов


4-70063
Casee
2002-02-18 11:38
2002.04.22
Обмен данными м/у 32 и 16 разрядными приложениями.


14-69979
Афоня
2002-03-07 10:23
2002.04.22
Помогите найти компонент


1-69839
QWest
2002-04-11 09:25
2002.04.22
Где достать?!





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