Ich habe es jetzt mittels zwei Varianten probiert, einen Hintergrund auf meine TabSheets zu kriegen (JvPageControl)
BG_CONTENT_LINE = selbst wenn man BorderWidth usw. ausstellt, hat man immernoch einen 2px hohen Rand oben bei der PageControl
BG_CONTENT = ein einfaches Hintergrundbild
1.) per Button - funktioniert aber
die Objekte werden übermalt
2.) per OwnerDraw - funktioniert erst gar nicht
(OwnerDraw ist aktiviert)
Delphi-Quellcode:
procedure Tf_USBLOCK.jvPagesDrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
var jpeg : TJpegImage;
sFile : String;
begin
// PaintPageControl
jpeg := TJpegImage.Create;
with jpeg do begin
Canvas.Handle := GetDC(jvPages.Handle);
sFile := ExtractFilePath(Application.ExeName) + 'Images\BG_CONTENT_LINE.jpg';
LoadFromFile(sFile);
try
Canvas.Draw(0,0, jpeg);
finally
ReleaseDC(Canvas.Handle, jvPages.Handle);
Free;
end;
end;
// PaintTab
jpeg := TJpegImage.Create;
with jpeg do begin
Canvas.Handle := GetDC(jvPages.ActivePage.Handle);
sFile := ExtractFilePath(Application.ExeName) + 'Images\BG_CONTENT.jpg';
LoadFromFile(sFile);
try
Canvas.Draw(0,0, jpeg);
finally
ReleaseDC(Canvas.Handle, jvPages.ActivePage.Handle);
Free;
end;
end;
end;
Meine Frage ist also, wie kann ich verhindern, das die Objekte übermalt werden?