Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2010.02.14;
Скачать: [xml.tar.bz2];

Вниз

TWinControl.PaintTo() и т.п.   Найти похожие ветки 

 
StriderMan   (2009-03-25 14:58) [0]

Задача: Есть TWinControl , у которого нет парента, просто болтается в памяти. Нужно отрисовать его в нужной канве на нужном месте.

Пробовал тупо .PaintTo(). Получаю Control "" has no parent window, что вобщем-то логично.

Далее вместо WinControl"а заюзал невидимый TForm - ошибок нет, но рисует пустоту, пока форма невидима, а мне показывать ее никак не надо.

Далее пробовал решить проблему при помощи BitBlt:
 wdc := GetWindowDC(fLayer.Handle);
 try
   Canvas.Lock;
   try
     BitBlt(Canvas.Handle, 0, 0, Width, Height, wdc, 0, 0, SRCCOPY);
   finally
     Canvas.Unlock;
   end;
 finally
   ReleaseDC(fLayer.Handle, wdc);
 end;


опять же отрисовывается нормально только если форма видима, при этом в копируемый прямоугольник захватываются другие формы, частично или полностью перекрывающие нашу формочку. Т.е. получается снимок области экрана как его видит пользователь.

что можно еще попробовать?


 
Cobalt ©   (2009-03-25 22:37) [1]

А если на время отрисовки ему устанавливать parent - какой будет эффект?


 
ЮЮ ©   (2009-03-26 09:18) [2]


> А если на время отрисовки ему устанавливать parent - какой
> будет эффект?


Тогда он сам отрисуется, а автору это не нужно :)


 
StriderMan   (2009-03-26 15:08) [3]


> А если на время отрисовки ему устанавливать parent - какой будет эффект?

мигнет и пропадет, когда парента отберем.

решил проблему так: Нашел им парента в виде панельки, сныканой под всеми так, что ее не видно. Знатный бутерброд получился, но работает нормально :)

ЗЫ: не подумайте, что я извращенец, я редактор форм доделываю :)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2010.02.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
4-1228230166
Kirill
2008-12-02 18:02
2010.02.14
Windows-аутентификация в совей программе


2-1260997690
Aleks
2009-12-17 00:08
2010.02.14
как загрузить рисунок имеющий расширение .png в компонент Ima


15-1260031551
AntonioBanderas
2009-12-05 19:45
2010.02.14
Книги


15-1260264866
Гипербореец
2009-12-08 12:34
2010.02.14
Аналог Application.ProcessMessages для С#


2-1260851372
Делфиец
2009-12-15 07:29
2010.02.14
КАК в SQL создать пустое поле логического типа?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский