Einzelnen Beitrag anzeigen

derseitzer

Registriert seit: 12. Okt 2016
235 Beiträge
 
Delphi 10 Seattle Professional
 
#1

3D-Objekt / Dummy

  Alt 6. Jun 2017, 16:27
hey ich benutze folgenden Code (zumindest so ähnlich):
Code:
procedure TF_Main.bnAdd3DControlClick(Sender: TObject);
var
  s: string;
  C3D: TControl3D;
begin
  if cb3DObjNames.ItemIndex <> -1 then begin
    s := cb3DObjNames.Items[cb3DObjNames.ItemIndex];

    if s = 'Sphere' then begin
      C3D := TControl3D (TSphere.Create(Dummy1));
      TSphere (C3D).SubdivisionsAxes := 50;
      TSphere (C3D).SubdivisionsHeight := 50;
    end;

    if s = 'Cube' then begin
      C3D := TControl3D (TCube.Create(Dummy1));
    end;
   
    if s = 'Cone' then begin
      C3D := TControl3D (TCone.Create(Dummy1));
      TCone (C3D).SubdivisionsAxes := 50;
      TCone (C3D).SubdivisionsHeight := 50;
    end;

    C3D.Name := C3D.ClassName + Dummy1.ChildrenCount.ToString;
    C3d.Parent := Dummy1;
    C3D.Width := 2;
    C3D.Height := 2;
    C3D.Depth := 2;

    C3d.Visible := True;
    C3D.Position.X := -2;

    // Set Eventhandlers to react on User-Actions
    C3D.OnMouseDown := Control3DMouseDown;
    C3D.OnMouseMove := Control3DMouseMove;
    C3D.OnMouseUp := Control3DMouseUp;

    // Add created 3D-Object to List, to select programaticaly at runtime or by user
    cbCreated3DObjects.Items.AddObject(c3D.name, C3D);

    C3d.BringToFront;

    Viewport3D1.Repaint;
  end;

end;
Meine Frage: ich möchte ein OnClick Ereignis haben. aber mit dem Dummy1.onclick funktioniert das nicht.. Ich möchte auf meine (z.B.) TSphere klicken können. Ideen?:/
  Mit Zitat antworten Zitat