Вам необходим оконный элемент управления (то есть элемент управления с дескриптором окна или «правильный» элемент управления) для отображения вашего сообщения, поскольку не оконный элемент управления не может быть виден над оконным элементом управления,Самое простое решение - поместить TImage
в TPanel
и установить Image1.Align := alClient
и Panel1.BorderStyle := bsNone
.
Если вы хотите нарисовать полупрозрачное растровое изображение поверх ваших обычных элементов управления, вы можетеделай как я всегда:
procedure TForm1.Button1Click(Sender: TObject);
var
bm: TBitmap;
png: TPngImage;
begin
// The form contains a hidden TPanel (somewhere on the form)
// with a TImage (alClient).
// png is a PNG image with an alpha channel
png := TPngImage.Create;
try
png.LoadFromFile('C:\Users\Andreas Rejbrand\Pictures\alpha.png');
// Create bitmap of form and blend PNG on it
bm := GetFormImage;
try
bm.Canvas.Draw(0, 0, png);
Image1.Picture.Bitmap := bm;
finally
bm.Free;
end;
Panel1.Align := alClient;
Panel1.BringToFront;
Panel1.Show;
finally
png.Free;
end;
end;
Пример результата http://privat.rejbrand.se/formdraw.png