Форум: "Основная";
Текущий архив: 2003.03.20;
Скачать: [xml.tar.bz2];
ВнизBitmap на форме Найти похожие ветки
← →
ShurikM (2003-03-09 00:37) [0]Поскажите пожалуйста, что здесь не так.
в обработчике события FormCreate для формы, на которой есть Panel1:
var FCanvas : TCanvas;
...
begin
FCanvas:=TCanvas.Create;
try
FCanvas.Handle:=GetDC(Panel1.Handle);
try
FCanvas.Draw(0,0,BM);
finally
ReleaseDC(Panel1.Handle,FCanvas.Handle);
FCanvas.Handle:=0;
end;
finally
FCanvas.Free;
end;
...
При этом битмэп не появляется. Если тот же код напр. в обработчике нажатия кнопки, то все нормально.
← →
Anatoly Podgoretsky (2003-03-09 00:57) [1]Он появляется, только форма к этому моменту еще невидимая
← →
MAN-In-RED (2003-03-09 01:02) [2]А при появлении, канва панели перерисовывается и стает чистой...
← →
ShurikM (2003-03-09 15:53) [3]Как же тогда сделать, чтобы канва отрисовывалась с битмэпом ?
← →
Song (2003-03-09 17:40) [4]onShow
← →
ShurikM (2003-03-09 18:33) [5]2 Song ©
Не получается ни OnShow, ни OnPaint :-(
← →
Song (2003-03-09 19:54) [6]Значит в BM у тебя ничего нет.
Кроме того мне не понятна строчка FCanvas.Handle:=0;
← →
ShurikM (2003-03-09 21:07) [7]2 Song © (09.03.03 19:54)
Есть BM ! Ведь если тот же код напр. в обработчике нажатия кнопки (на этой форме), то все нормально. BM создан до работы с формой.
FCanvas.Handle:=0; - это естественно, артефакт. К сути вопроса не относится.
Очень прошу помочь ! Может такой способ в принципе не подходит ?
← →
Shadow (2003-03-09 21:56) [8]В таймер засунь
← →
Song (2003-03-10 10:13) [9]А на onActivate ?
← →
Набережных С. (2003-03-10 14:53) [10]
procedure TForm1.FormCreate(Sender: TObject);
begin
BM:=TBitmap.Create;
BM.LoadFromFile(...);
FOldPanelPrc:=Panel1.WindowProc;
Panel1.WindowProc:=PanelWndPrc;
end;
type
TXPanel = class(TPanel);
procedure TForm1.PanelWndPrc(var Message: TMessage);
begin
if Assigned(FOldPanelPrc) then FOldPanelPrc(Message);
if Message.Msg = WM_PAINT then TXPanel(Panel1).Canvas.Draw(0, 0, BM);
end;
← →
Anatoly Podgoretsky (2003-03-10 14:57) [11]ShurikM (09.03.03 21:07)
Пошли себе определенное сообщение и уже по нему отрисовывай
← →
ShurikM (2003-03-10 20:33) [12]Всем спасибо !
2 Song © (10.03.03 10:13) Нет.
2 Anatoly Podgoretsky © (10.03.03 14:57) Непонятно когда посылать.
2 Набережных С.
Большое спасибо ! Идея понравилась ! Работает !
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.03.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c