Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как нарисовать фоновую картинку на TTabSheet [D7, Win2k, WinXP]


mr.Faga ©   (2004-10-23 09:49:00) 

Чего-то я не понимаю, нашел в инете пример того, как это сделать, но у меня почему-то не получается...
Делаю так ...

var
 HD: HDC;
...
begin
...
HD := TTabSheet.Handle;
HD := GetDC(HD);
rectangle(HD, 0, 0, 70, 50);
...


mr.Faga   (2004-10-23 12:36:00) [1]


> Чебуратор

эээ, и каким образом мне это поможет, все равно исчезает, не буду не я форму прятать и показывать по фиг знает скока раз...
Кста, OnPaint тоже не помогает, куда еще копать можно?


Чебуратор   (2004-10-23 12:02:00) [2]

...
Ммм да...   лажанулся....

Я просто пример [1] до конца не дочитал...
Сори ...


Gero   (2004-10-23 11:59:00) [3]


> Потому что (см. ниже)

И где в коде [1] используется этот Canvas?
В коде написано TTabSheet.Canvas.
От того, что мы создали левые Canvas, у TabSheet'а свойство не добавится.


Gero   (2004-10-23 11:59:00) [4]


> левые

левый


Чебуратор   (2004-10-23 11:55:00) [5]

>mr.Faga   (23.10.04 11:41) [6]

Рисуй в OnShow, тогда ничего не будет исчезать

>Gero ©   (23.10.04 11:44) [7]
> Нафиг создавать TCanvas, который не используется и оставлять его в памяти?
Потому что (см. ниже)
> У TTabSheet нет свойства Canvas.


Gero   (2004-10-23 11:44:00) [6]


> Кириешки ©   (23.10.04 11:41)

1. Лучше юзать TBitmap. Хотя это не критично.
2. Нафиг создавать TCanvas, который не используется и оставлять его в памяти?
3. У TTabSheet нет свойства Canvas.
4. Нафиг Application.ProcessMessages ?


Кириешки   (2004-10-23 11:41:00) [7]

>Gero ©   (23.10.04 11:31) [4]

Вот и поговорили...


mr.Faga   (2004-10-23 11:41:00) [8]

С небольшой переделкой получилось :) спасибо, вот только одна фигня, при работе с элементами, которые находтся над фоном он исчезает... :(


Gero   (2004-10-23 11:31:00) [9]


> Кириешки ©   (23.10.04 11:28)

В прямом.


Кириешки   (2004-10-23 11:28:00) [10]

>Gero ©   (23.10.04 10:54) [2]
>Какой ужас.

В смысле?


Gero   (2004-10-23 10:54:00) [11]


> [1] Кириешки ©   (23.10.04 10:18)

Какой ужас.


Кириешки   (2004-10-23 10:18:00) [12]

Попробуй так :


Var
P: TPicture;
ca : tcanvas;
begin

P := TPicture.Create;
ca:=tcanvas.create;
ca.handle:=GetDC(TTabSheet.Handle);
Try
 P.LoadFromFile('FONOVAYA_KARTINKA.bmp');
 TabSheet.Canvas.Draw(0,0,P.Graphic);
 Application.ProcessMessages();
Finally
 P.Free;
End;

end;


Код прямо тут писал, вроде бы все верно...


Наверх

Титульная страница Поиск, карта сайта Написать письмо