Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2009, 21:18   #1
AlexandЯ
Пользователь
 
Регистрация: 13.04.2009
Сообщений: 48
По умолчанию Delphi. Скриншот компонента

Люди добрые, подскажите, как сделать, чтобы по нажатию кнопки button сохранялся скриншот компонента Panel и всего его содержимого.
AlexandЯ вне форума Ответить с цитированием
Старый 13.04.2009, 21:24   #2
Niarb
Пользователь
 
Регистрация: 23.02.2009
Сообщений: 38
По умолчанию

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

Код:
procedure TForm1.Button1Click(Sender: TObject);
var bm: TBitMap;
    w, h: integer;
begin
   w:=panel1.Width;
   h:=panel1.Height;
   bm:=TBitMap.Create;
   bm.Width:=w;
   bm.Height:=h;
   BitBlt(bm.Canvas.Handle,0,0,w,h,GetDC(panel1.Handle),0,0,SrcCopy);
   bm.SaveToFile('c:\temp\1.bmp');
   bm.Free;
end;
разместил на панели несколько Лэйблов и Едит - все работает
Чем меньше вы знаете, тем больше я ценен как специалист...
Niarb вне форума Ответить с цитированием
Старый 13.04.2009, 23:37   #3
AlexandЯ
Пользователь
 
Регистрация: 13.04.2009
Сообщений: 48
По умолчанию

Огромное спасибо!!! А как сделать, чтобы открывалось окно сохранения, ну как в винде(сохранить как...)?
AlexandЯ вне форума Ответить с цитированием
Старый 13.04.2009, 23:59   #4
Niarb
Пользователь
 
Регистрация: 23.02.2009
Сообщений: 38
По умолчанию

кидаешь на форму SavePictureDialog с вкладки Dialogs
и далее
Код:
   if SavePictureDialog1.Execute then begin
      bm.SaveToFile(SavePictureDialog1.FileName);
   end;
вот только при выборе расширения Bmp, Jpg, Ico возникнут трудности поскольку все они сохраняются по разному (придется конвертировать из bmp в нужный формат). плюс надо еще делать проверку на "заменять ли уже существующий файл".
...
об этом сдесь много инфы - читай
Чем меньше вы знаете, тем больше я ценен как специалист...
Niarb вне форума Ответить с цитированием
Старый 14.04.2009, 00:06   #5
AlexandЯ
Пользователь
 
Регистрация: 13.04.2009
Сообщений: 48
По умолчанию

Благодарю, всё круто!!!
AlexandЯ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
hint компонента edit delphi Doget Помощь студентам 7 19.04.2009 10:02
получить значение Delphi компонента из asm fbus Общие вопросы Delphi 4 26.03.2009 13:00
Установка компонента в Delphi 2006 Dr.Badnezz Компоненты Delphi 3 03.12.2008 01:33
Понятие компонента в Delphi showman Помощь студентам 2 05.06.2007 23:26