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

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

Поверхность TPanel в Bmp файл!? [D6, Win95/98, WinME, NT4, Win2k, WinXP]


SNV-Soft ©   (2004-08-22 13:02:00) 

Ув. знатоки, как у TPanel не имея канвас,
сохранить поверность TPanel в графический файл !?
Если не сложно киньте примерчик !?


Sapersky   (2004-08-25 13:08:00) [1]

Можно ещё Panel.PaintTo


Думкин   (2004-08-23 12:17:00) [2]

>  [3] SNV-Soft   (23.08.04 12:09)

Видимо потому, что у родителя она таки есть. Только с другими правами.


SNV-Soft   (2004-08-23 12:09:00) [3]

Mihey_temporary ©   (22.08.04 14:56) [2]
Спасибо большое...
а можно спросить
почему если наследуешь от родителя у которого нет канвы..
в потомке она появляется !?


Mihey_temporary   (2004-08-22 14:56:00) [4]

В разделе Interface создаёшь класс:

type
 THackedPanel = class(TPanel);


Теперь сам код получения изображения с панели Panel1 типа TPanel:


var Bitmap: TBitmap;
begin
 Bitmap := TBitmap.Create;
 try
   Bitmap.Width := Panel1.Width;
   Bitmap.Height := Panel1.Height;
   Bitmap.Canvas.CopyRect(Rect(0, 0, Bitmap.Width-1, Bitmap.Height-1),
     THackedPanel(Panel1).Canvas, Rect(0, 0, Bitmap.Width-1, Bitmap.Height-1));
   Bitmap.SaveToFile('C:\pic1.bmp');
 finally
   Bitmap.Free;
 end;
end;


Сохраняет в том числе и изображения компонентов на панели.


}{enon   (2004-08-22 14:17:00) [5]

Можно скопировать изображение на что-нибудь, имеющее Canvas. Использую BitBlt, где источник - GetDC(Panel.Handle)


Наверх

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