![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 17.03.2010
Сообщений: 44
|
![]()
Парни, функция пашет, но есть два но:
- заглавие окна не захватывает - сохраняет в указанное место, а не в каталог с программой как решить? спасибо function GetFormExImage(const AForm : TForm) : TBitmap; begin Result := nil; if AForm = nil then Exit; Result := TBitmap.Create; Result.Height := AForm.ClientHeight; Result.Width := AForm.ClientWidth; Result.Canvas.Brush := AForm.Brush; Result.Canvas.FillRect(AForm.Client Rect); Result.Canvas.Lock; try Result.Canvas.CopyRect(Rect(0,0,Res ult.Width,Resul t.Height), AForm.Canvas,AForm.ClientRect); finally Result.Canvas.UnLock; end; end; //------------------------- procedure TForm1.Button2Click(Sender: TObject); var ABitmap : TBitmap; begin ABitmap := GetFormExImage(Self); if ABitmap <> nil then begin ABitmap.SaveToFile("C:\Screen.bmp") ; ABitmap.Free; end; end; |
![]() |
![]() |
![]() |
#2 |
Сливочное масло
Участник клуба
Регистрация: 01.01.2011
Сообщений: 1,149
|
![]()
Учитывая чудность алгоритма чутка подкоректируй размер тут:
Код:
Сливочное масло Valio - компиляция как по маслу
Последний раз редактировалось Valio; 21.05.2012 в 10:09. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 17.03.2010
Сообщений: 44
|
![]()
разобрался, все пашет как нужно, спасибо!
может кому понадобится: var Bm : TBitmap; WinRect : TRect; hWinDC : THandle; begin Bm := TBitmap.Create; Bm.Width := Self.Width; Bm.Height := Self.Height; hWinDC := GetWindowDC(Self.Handle); BitBlt(Bm.Canvas.Handle,0,0,Bm.Widt h,Bm.Height,hWinDC,0,0,SRCCOPY); ReleaseDC(Self.Handle, hWinDC); Bm.SaveToFile('file1.bmp'); Bm.Free; end; |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
Код заключай в BB-тег CODE (кнопка на панели редактирования сообщения), пока модераторы по лбу не дали.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
WinAPI C++ заголовок активного окна (проблема со строками) | xDyPx | Помощь студентам | 0 | 18.12.2011 21:12 |
определение активного окна | DeDoK | Общие вопросы Delphi | 3 | 13.12.2010 19:07 |
Скрин окна приложения | Demien | Общие вопросы Delphi | 4 | 20.05.2010 11:11 |
Confirm при закрытии активного окна | Jensi | JavaScript, Ajax | 4 | 17.08.2009 19:06 |
Поиск активного окна | Arigato | Win Api | 5 | 22.11.2008 18:32 |