Einzelnen Beitrag anzeigen

Trafel21

Registriert seit: 16. Nov 2018
69 Beiträge
 
#3

AW: Paintbox Draw, bereits gezeichnete löschen

  Alt 20. Nov 2018, 07:54
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?
Miniaturansicht angehängter Grafiken
bild1.png   bild3.png  
  Mit Zitat antworten Zitat