![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Bitmap [D5, Win2k]
sanci © (2002-07-26 15:59:00)Здрасте, мастера. Помогите разобраться:
на панельку Panel1:TPanel кидаю компоненты: button, edit, label.
Теперь хочу сохранить всю эту картину на панели в bitmap и передать в Image.
procedure TForm1.bbImageClick(Sender: TObject);
var
bitmap :TBitmap;
begin
Image1.Picture:=nil;
bitmap:=TBitmap.Create;
bitmap.Width:=Panel1.Width;
bitmap.Height:=Panel1.Height;
Panel1.PaintTo(bitmap.canvas.handle,0,0);
Image1.Picture.Bitmap.Assign(bitmap);
Bitmap.Free;
end;
На Image рисуется только Label - все, Edit - первый созданный, Button - ни одного. Что делать?
VEG (2002-07-30 17:46:00) [1]sanci
Не за что!
ЗЫ: Я имел ввиду "Есть за что":-)
sanci (2002-07-30 11:14:00) [2]Все работает. Огромное спасибо (хоть и с опозданием).
VEG (2002-07-28 01:15:00) [3]
procedure TForm1.ButtonClick(Sender: TObject);
var
bitmap : TBitmap;
ScreenDC : hDC;
PanelPoint: TPoint;
begin
bitmap:=TBitmap.Create;
bitmap.Width:=Panel1.Width;
bitmap.Height:=Panel1.Height;
ScreenDC := GetDC(0); //Получаем контекст экрана
PanelPoint:=ClientToScreen(Point(panel1.BoundsRect.Left,panel1.BoundsRect.Top));//Получаем координаты панели на экране
BitBlt(Bitmap.Canvas.Handle, 0, 0, Bitmap.Width, Bitmap.Height, ScreenDC, PanelPoint.X, PanelPoint.Y, SRCCOPY);//Копируем изображение панели
ReleaseDC(0,ScreenDC);//Освобождаем контекст
Image1.Picture.Bitmap.Assign(bitmap);
Bitmap.Free;
end; //©VEG, 28.07.2002 0:22
Уфф... Когда писал, немного запутался:-)
-<>-<>-<>-<>-<<<Фраза>>>-<>-<>-<>-<>-
Зверь, самый лютый, жалости не чужд.
Я чужд. Значит я не зверь.
VEG (2002-07-28 00:36:00) [4]Ща напишу пример...
VEG (2002-07-28 00:32:00) [5]Нужно копировать с anvas экрана функцией BitBlt! Написать пример?