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

Вниз

Работа с Canvas   Найти похожие ветки 

 
shu_3d   (2003-01-14 15:31) [0]

Приветствую!
Вот такая вот проблемка:
имеется собственный компонент порожден от TCustomControl,
в его процедуре Paint настраивается mapping mode, а потом вызывается пользовательская обработка сообщения OnPaint;
все работает прекрасно, но вот если пользователь вызывает методы canvasa этого компонента не в процедуре OnPaint, а где-нить в другом месте, настройки canvasa опять сбиваются на mm_text. Почему такое происходит? Немного порылся в исходниках VCL, так ничего и не нашел.Спасибо за помощь.


 
shu_3d   (2003-01-15 11:36) [1]

Порылся еще немного, нашел я, что в процедуре TWinControl.MainWndProc вызывается FreeDeviceContexts, который как раз и сбрасывает мои настройки. Возникает вопрос: как бы попроще и главное корректно сделать так, чтобы в конце работы процедуры контекст не освобождался?


 
REA ©   (2003-01-15 11:41) [2]

Может попробовать наоборот? Перед вызовом рисования наверняка будет затребован контекст. Как то это отследить и подсунуть уже измененный. Можно сделать другой Canvas (не TControlCanvas). А вообще у меня получилось MM_TEXT сделать - в других режимах все точнее рисуется (в абсолютных величинах), но грубее - некрасиво на экране.



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
1-72226
pavel_ak
2003-01-10 21:52
2003.01.23
*.doc в *.txt, и снести форматирование!


7-72575
SeF
2002-11-11 01:05
2003.01.23
WM_CREATE


7-72550
MetalFan
2002-11-11 14:24
2003.01.23
USB to PS/2


3-72062
shel
2003-01-04 04:35
2003.01.23
Как отобразить в TDBImage blob поле(access)


1-72220
renat(programmer)
2003-01-14 11:45
2003.01.23
Как отследить клик по ячейке в Excele из delphi