Ja, hatte ich vergessen. in OnPaint wird das aufgerufen.
Code:
procedure TKontakte_Frame.PaintBox3Paint(Sender: TObject);
var
lDrawPointX: Integer;
lDrawPointY: Integer;
lIndex: Integer;
begin
inherited;
//Imagegröße in Bezug auf Größer der Paintbox festlegen(75%)
DataModule.ImageListChildSmall.Width := round(PaintBox3.Width * 0.5);
DataModule.ImageListChildSmall.Height := round(PaintBox3.Height * 0.5);
// Zeichenpunkt festlegen
lDrawPointX := round(PaintBox3.Width * 0.25);
lDrawPointY := round(PaintBox3.Height * 0.25);
// Bild Index Setzen, abhängig vom Contact_Typ
case IB_CONTACTCONTACTTYPE_INCKEY.AsInteger of
100 : lIndex := 19; //Telefon
150 : lIndex := -1; //Fax
200 : lIndex := 19; //EMail
300 : lIndex := 19; //Ansprechpartner
400 : lIndex := -1; //Website
500 : lIndex := -1; //Geburtstag
else
lIndex:=-1;
end;
if lIndex>-1 then
Module.ImageListChildSmall.Draw(PaintBox3.Canvas, lDrawPointX, lDrawPointY, lIndex);
end;
Ich hab das alles in einem CtrlGrid (Siehe Bild1). Momentan funktioniert es. Mit + füge ich einen weiteren Datensatz hinzu.
Ich möchte nur implementieren das, wenn ich einen weiteren Datensatz hinzufüge, das aktuelle gezeichnete + gelöscht wird und bei dem neuen Datensatz (Bspw. Telefon) gezeichnet wird.
Siehe Unterschied Bild3 Beispiel Telefon.
Eigentlich muss ich nur das gezeichnete Bild zurücksetzen und beim neuen Datensatz setzen, oder?