Мне нужно сделать снимок панели.
Проблема, с которой я сталкиваюсь, заключается в том, что если на панели содержится TCombobox, текст не отображается.
procedure AssignPanelImageToPicture(Panel : TPanel;Image : TImage);
var
B : TBitmap;
begin
B := TBitmap.Create;
try
B.Width := Panel.Width;
B.Height := Panel.Height;
B.Canvas.Lock;
Panel.PaintTo(B.Canvas.Handle,0,0);
B.Canvas.Unlock;
Image1.Picture.Assign(B);
finally
B.Free;
end;
end;
Используя этот код, я опускаю панель с надписью TCombobox. Затем введите значение в текстовое свойство. Я также бросаю TImage Следующие два. Затем я добавляю кнопку для вызова выше
Код.
Вот результат:
![Imaging of Panel Painting Problem](https://i.stack.imgur.com/HkgiL.jpg)
Есть ли лучший способ получить истинное изображение панели.