Главная страница
    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.004 c
15-1260435077
uniken1
2009-12-10 11:51
2010.02.14
Получено/Передано байт


8-1202830269
nuflin
2008-02-12 18:31
2010.02.14
OPENGL VBO


11-1211396216
Vinum
2008-05-21 22:56
2010.02.14
Форма на вообще весь экран


15-1260263433
Andjey
2009-12-08 12:10
2010.02.14
Проверка файла на вирус


1-1236676563
IGray
2009-03-10 12:16
2010.02.14
Очень странное срабатывание секции INITIALIZATION





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