Einzelnen Beitrag anzeigen

Benutzerbild von stz
stz

Registriert seit: 8. Sep 2005
Ort: Neuendeich, Lübeck
277 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: [VST] Image der selektierten Zeile

  Alt 31. Mär 2008, 12:13
Moin generic,
da habe ich mich wohl mehr als unklar ausgedrückt
Genau das mache ich ja. Ich zeichne meine Bildchen, speichere sie in einer ImageList und weise dem Eintrag im OnGetImageIndex das passende Bildchen zu. Mein Problem ist halt nur, dass ich eine Lösung suche, das bei selektierten Zeilen der weiße Hintergrund des Bildchens nicht weiß ist, sondern so blau, wie der Hintergrund einer selektierten Zeile halt blau ist.

Vielleicht zur Verdeutlichung hier mal ein wenig Code:
Bildchen zeichnen und der ImageList hinzufügen:
Delphi-Quellcode:
  procedure AddIcon(const Index: Integer);
  var
    Bitmap: TBitmap;
  begin
    Bitmap := TBitmap.Create;
    try
      Bitmap.Width := 16;
      Bitmap.Height := 16;
      with Bitmap.Canvas do
      begin
        Pen.Color := clBlack;
        Brush.Color := CLASS_COLORS[Index mod Length(CLASS_COLORS)];
        MoveTo(8, 3);
        LineTo(13, 8);
        LineTo(8, 13);
        LineTo(3, 8);
        LineTo(8, 3);
        FloodFill(8, 8, clWhite, fsSurface);
      end;
      ProcForm.ClassImageList.Insert(Index, Bitmap, nil);
    finally
      Bitmap.Free;
    end;
  end;
Passendes Bildchen zum Eintrag raussuchen:
Delphi-Quellcode:
procedure TProcedureListForm.VSTGetImageIndex(Sender: TBaseVirtualTree;
  Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
  var Ghosted: Boolean; var ImageIndex: Integer);
var
  Element: TProcElement;
begin
  if Column = 0 then
  begin
    Element := TProcElement(VST.GetNodeData(Node)^);
    ImageIndex := Element.ImageIndex;
  end
  else
    ImageIndex := -1;
end;
Wie erhalte ich jetzt ein anderes Bildchen, wenn der Eintrag selektiert ist? Alternativ: Kann ich auf dem Wege den Hintergrund der Bildchen nicht weiß, sondern transparent machen?

Ich hoffe mein Problem ist jetzt klarer...

Grüße
Malte
Malte Schmitz
Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.

Entwickler des HTML-Editors MEdit (DP)
  Mit Zitat antworten Zitat