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

Вниз

Объясните, пожалуйста, как пользоваться SaveDC и RestoreDC.   Найти похожие ветки 

 
Unknown user ©   (2003-05-19 16:12) [0]

Я использую следующий код:
DC:=GetDC(MyControl.Handle);
SavedDC:=SaveDC(DC);
здесь меняю параметры Brush, Pen -MyControl.Canvas
и теперь хочу их восстановить
RestoreDC(DC,SavedDC);
но не получается, может я не понимаю назначения этих функций, или неверный контекст устройства?


 
MBo ©   (2003-05-19 16:21) [1]

Надо разобраться - судя по MyControl.Handle, ты используешь VCL.
При этом можно VCL-ными средствами и сохранять атрибуты - TPen, TBrush. Если же ты используешь SelectObject - то эта функция возвращает дескриптор старого объекта - HPen и т.д., и в конце таким же макаром надо их и восстановить. Save/RestoreDC - довольно накладная операция, сохраняет некоторые атрибуты контекста, но VCL их все равно сбрасывает.


 
Unknown user ©   (2003-05-19 16:51) [2]

To MBo. Да я использую VCL. Про какие VCL-ные средства для сохранения объектов TCanvas ты говорил? Я знаю, что SaveDC сохраняет много лишнего...


 
MBo ©   (2003-05-19 17:02) [3]

>Да я использую VCL
Тогда какие причины использования низкоуровневых операций GetDC и т.д.?


 
Unknown user ©   (2003-05-19 20:47) [4]

To MBo. Потому что не знаю функций аналогичных SaveDC в VCL, можно( и скорее всего придется) конечно пользоваться Brush.Assign, Pen.Assign, но хотелось разобраться с SaveDC и RestoreDC -так на будущее...



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
3-67723
APTEMKA
2003-06-27 16:22
2003.07.21
плз нужно запустить приложение на компе без BDE


7-68099
reticon
2003-05-09 18:15
2003.07.21
блокировка клавиатуры


3-67712
sndanil
2003-06-27 12:38
2003.07.21
IBX X.07


6-67953
LedWorm
2003-05-13 21:53
2003.07.21
Открытие Браузера по событию.


7-68091
Dion
2003-05-13 07:33
2003.07.21
Подскажите, Плз, как можно программно определить имя пользователя