Aşağıdaki resimde vurguladığım küçük beyaz kareyi (siyahla) doldurmaya ihtiyacım var.Bir TVirtualStringTree öğesindeki kaydırma çubuğunun üstündeki alanı nasıl doldurabilirim?
Ek sütun eklemeyi denedim. PaintInfo.PaintRectangle'ı genişletmeyi denedim. Düşünebildiğim Tutar sütununda her ayarı denedim. Fikirlerim tükendi.
Bunun nasıl yapılacağı konusunda herhangi bir fikri olan var mı?
Özel başlık çizimini yapan kod İşte. koşul yanlış
procedure TWinPOSReceiptPluginForm.ReceiptDisplayTreeAdvancedHeaderDraw(Sender: TVTHeader; var PaintInfo: THeaderPaintInfo;
const Elements: THeaderPaintElements);
var
TempText: string;
begin
with PaintInfo do
begin
// First check the column member. If it is NoColumn then it's about the header background.
if (hpeBackground in Elements) and (Column <> nil) then begin
TempText := Column.Text;
TargetCanvas.Brush.Color := $444444;
TargetCanvas.FillRect(PaintRectangle);
TargetCanvas.Font.Color := clWhite;
TargetCanvas.Font.Style := [];
TargetCanvas.TextOut (PaintRectangle.Left + 3, PaintRectangle.Top + 3, TempText);
end;
end;
end;
Bu sade vanilya tema –
gibi görünmüyor: Sütun nil çek sadece Column.Text almak için gerekli olduğundan
o kodunu değiştirmek gerekir farklı renk? VCL temaları? Özel boya? Başka bir şey? –
Özel başlıkların nasıl çizildiğini gösteren kod eklendi. –