Главная страница
    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.44 MB
Время: 0.007 c
1-1237493413
Fresh
2009-03-19 23:10
2010.02.14
Невыводимые символы в Memo, RichEdit


2-1260801136
serhiyiv
2009-12-14 17:32
2010.02.14
FREE TBITMAP


15-1260140497
KilkennyCat
2009-12-07 02:01
2010.02.14
ночная поэзия


2-1260811238
Human
2009-12-14 20:20
2010.02.14
Проверка введённого значения в MaskEdit


2-1260795346
DDD329
2009-12-14 15:55
2010.02.14
Access+Delphi перехват исключения





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский