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

Вниз

стирается Canvas   Найти похожие ветки 

 
kirilllius   (2004-11-02 21:09) [0]

В чем проблема?
Я хочу рисовать на панели, но, как известно она не содержит Canvas. Я делаю следующее

var Pan: TControlCanvas;
begin
 Pan:=TControlCanvas.Create;
 Pan.Control := Panel1;
 Pan.StretchDraw(…);
end;

Все работает, НО, когда я минимизирую приложение и восстанавливаю обратно, все нарисованное на панели исчезает, т.е. стирается. Подскажите, как рисовать на панели (используя Canvas) чтобы ничего никуда не исчезало?


 
Юрий Зотов ©   (2004-11-02 21:28) [1]

У панели ЕСТЬ canvas, только он находится в секции protected. Получить к нему доступ можно так:

type
 TFriendPanel = class(TPanel);

with TFriendPanel(Panel1).Canvas do
begin
...
end;

И не надо создавать никаких своих canvas"ов. А чтобы ничего никуда не исчезало, рисунок нужно своевременно обновлять (то есть, перерисовывать).


 
kirilllius   (2004-11-03 00:56) [2]

Всё ясно, буду своевременно обновлять.


 
Stexen   (2004-11-03 02:17) [3]

ну там событие наверняка есть onPaint если у него нет то повесь на onPaint у формы перерисовку!
Вот и еще зачем нафиг использовать Canvas?? если он не Public

DC := GetDC(Panel.Handle);
получил дескриптор а там уже делай че хошь


 
Юрий Зотов ©   (2004-11-03 11:53) [4]

> Stexen   (03.11.04 02:17) [3]
> нафиг использовать Canvas?? если он не Public

Вот как раз затем, чтобы не надо было получать DC. Каждый GetDC - это захват ресурсов GDI, а они совсем не бесконечны.



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

Форум: "Основная";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.037 c
1-1099837483
snake1977
2004-11-07 17:24
2004.11.21
DropDown


1-1099828417
Эли
2004-11-07 14:53
2004.11.21
handle предыдущего окна


3-1098527932
Black
2004-10-23 14:38
2004.11.21
Как отобразить значение n ой записи m ого столбца?


1-1100012690
DimonNew
2004-11-09 18:04
2004.11.21
StringGrid & Rect


1-1099827525
alexa
2004-11-07 14:38
2004.11.21
ScrollBar в RichEdit





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