Форум: "Основная";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];
Вниз
Перерисовка окна Найти похожие ветки
← →
Tetragrammaton (2003-12-02 12:03) [0]Товарищи, помогите разобраться. У меня на форме рисуется определенный рисунок прямо на ее канве. Когда окно перекрывается любым другим окном, то рисунок теряется. Как быть чтобы его не терять?
← →
Семен Сорокин (2003-12-02 12:05) [1]повтори отрисовку в OnPaint
← →
Tetragrammaton (2003-12-02 12:07) [2]Т.е как?
← →
Amoeba (2003-12-02 12:07) [3]F1
← →
Tetragrammaton (2003-12-02 12:10) [4]Нет, я имел ввиду, мне что придетсяодно и тоже делать два раза? Просто функция рисования довольно долшая и если ее каждый раз вызывать, когда по моему окну ползает чужое - то это страх какой-то!
← →
Семен Сорокин (2003-12-02 12:13) [5]Нет, я имел ввиду, мне что придетсяодно и тоже делать два раза? Просто функция рисования довольно долшая и если ее каждый раз вызывать, когда по моему окну ползает чужое - то это страх какой-то!
отрисуй один раз на битмапе, а потом копируй его на экран
← →
Tetragrammaton (2003-12-02 12:14) [6]А на примере не покажешь?
← →
Romkin (2003-12-02 12:15) [7]Тебе же сказали - OnPaint. А если хочешь быстро, сделай себе TBitmap, нарисуй на нем, а на OnPaint просто копируй на канву
← →
Tetragrammaton (2003-12-02 12:16) [8]Спасибо...
← →
Семен Сорокин (2003-12-02 12:20) [9]ну может что-то типа этого:
TForm1 = class(TForm)
procedure Form1Paint(Sender: TObject);
procedure Form1Create(Sender: TObject);
procedure Form1Destroy(Sender: TObject);
private
FBmp: TBitmap
procedure MyDraw;
end;
...
procedure Form1.Form1Create(Sender: TObject);
begin
FBmp := TBitmap.Create;
MyDraw
end;
procedure Form1.Form1Destroy(Sender: TObject);
begin
FBmp.Free
end;
procedure Form1.Form1Paint(Sender: TObject);
begin
Canvas.StretchDraw(Canvas.ClipRect, FBmp)
end;
procedure Form1.MyDraw;
begin
// твоя отрисовка на канве битмапа
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.015 c