Мне нужно захватить изображение панели.Как получить изображение панели с combobox
Проблема, с которой я сталкиваюсь, заключается в том, что если панель содержит TCombobox, текст не отображается.
Используя этот код, я бросаю на него панель с TCombobox. Затем введите значение в текстовое свойство. Я также бросаю TImage. Затем я добавляю кнопку для вызова вышеуказанного кода .
Вот результат:
Есть ли лучший способ, чтобы захватить истинное изображение панели.
ComboBoxes окрашены Windows, и поэтому ваша техника перенаправления (Panel.PaintTo, которая сообщает элементам управления, чтобы рисовать себя в другом месте) не будет работать. Вы можете захватить всю ФОРМУ как растровое изображение, но я не знаю пригодного метода для одной панели. Возможно, это помогает: http://www.bitwisemag.com/copy/delphi/delphi1.html –
TForm.GetFormImage сталкивается с той же проблемой, это почти тот же код. Он работает, если я захватил весь экран, а затем скопировал нужный прямоугольник, но это похоже на слишком много накладных расходов. Код захвата экрана находится здесь: http://code.google.com/p/robstechcorner/source/browse/trunk/Delphi/utils/SCapture.pas –