Neue Komponente aus TSpinEdit

Rund um die LCL und andere Komponenten
Antworten
Rob
Beiträge: 34
Registriert: Fr 8. Jul 2011, 10:45
OS, Lazarus, FPC: Win7, Ubuntu 64 und 32bit Lazarus (immer aktuellstes Release) FPC 2.6.4
CPU-Target: amd_64 und i386
Kontaktdaten:

Neue Komponente aus TSpinEdit

Beitrag von Rob »

Hallo,

ich habe ein Problem mit einer neuen Komponente.
Diese soll von TSpinEdit abgeleitet werden (TCustomSpinEdit)
Sie soll als Value eine Integer Zahl erhalten.
Soweit kein Problem.
Aber ich muss irgendwie die Methoden zur Darstellung überschreiben, aber ich finde nicht welche das sind.
Bsp: Als Value soll die Zahl 105 zugewiesen werden die Darstellung "1:45" also ein SpinEdit um Minuten/Sekunden darzustellen.

Wer kann mir sagen welche Methoden ich beim Spinedit überschreiben muss?
Wo kann ich mir die benötigten Informationen beschaffen, ich finde irgendwie ...nichts.

Danke,
Grüße
Rob

u-boot
Beiträge: 308
Registriert: Do 9. Apr 2009, 10:10
OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 785..

Re: Neue Komponente aus TSpinEdit

Beitrag von u-boot »

Vielleicht noch nicht ganz brauchbar aber ein Ansatz:

Code: Alles auswählen

procedure TForm1.SpinEdit1EditingDone(Sender: TObject);
begin
  SpinEdit1.Text:=inttostr(SpinEdit1.Value div 60)+':'+inttostr(SpinEdit1.Value mod 60);
end;
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)

Cargo_03
Beiträge: 10
Registriert: Sa 8. Mai 2010, 14:42
OS, Lazarus, FPC: WIN 1.4.4 / 1.8.4
CPU-Target: 64 Bit

Re: Neue Komponente aus TSpinEdit

Beitrag von Cargo_03 »

Soweit kein Problem.
Aber ich muss irgendwie die Methoden zur Darstellung überschreiben, aber ich finde nicht welche das sind.
Bsp: Als Value soll die Zahl 105 zugewiesen werden die Darstellung "1:45" also ein SpinEdit um Minuten/Sekunden darzustellen.

Wer kann mir sagen welche Methoden ich beim Spinedit überschreiben muss?
Wo kann ich mir die benötigten Informationen beschaffen, ich finde irgendwie ...nichts.

Danke,
Grüße
Rob
Hallo Rob,

Also starte den Code-Browser unter Ansicht.
Dann im Bereich wählst du den Bereich aus. Das ist die LCL.
Dann gibst Du unter Bezeichner anzeigen dein TCustomSpinEdit an.
Daraufhin erscheint die Unit in der TCustomSpinEdit definiert ist. Darin siehst Du auch welche Werte Du überschreiben musst.

Grüße Cargo_03

Rob
Beiträge: 34
Registriert: Fr 8. Jul 2011, 10:45
OS, Lazarus, FPC: Win7, Ubuntu 64 und 32bit Lazarus (immer aktuellstes Release) FPC 2.6.4
CPU-Target: amd_64 und i386
Kontaktdaten:

Re: Neue Komponente aus TSpinEdit

Beitrag von Rob »

Cargo_03 hat geschrieben:
Hallo Rob,

Also starte den Code-Browser unter Ansicht.
Dann im Bereich wählst du den Bereich aus. Das ist die LCL.
Dann gibst Du unter Bezeichner anzeigen dein TCustomSpinEdit an.
Daraufhin erscheint die Unit in der TCustomSpinEdit definiert ist. Darin siehst Du auch welche Werte Du überschreiben musst.

Grüße Cargo_03
Das war es.

Danke!

Jetzt kann ich weitermachen.

Grüße
Rob

Rob
Beiträge: 34
Registriert: Fr 8. Jul 2011, 10:45
OS, Lazarus, FPC: Win7, Ubuntu 64 und 32bit Lazarus (immer aktuellstes Release) FPC 2.6.4
CPU-Target: amd_64 und i386
Kontaktdaten:

Re: Neue Komponente aus TSpinEdit

Beitrag von Rob »

Rob hat geschrieben: Jetzt kann ich weitermachen.
Leider doch nicht.

Ich finde einfach nicht wo ich einsteigen muss um den angezeigten Text zu setzen.
Die spinEdits haben ein Feld Value (entweder double oder Int)

Während der Verarbeitung wird TMySpinButton.RealGetText: TCaption; aufgerufen (eine Methode die ich überschreibe), dort formatiere ich meinen Text,
der wird auch als Result schön übergeben.
Aber leider nicht angezeigt.

Grüße
Rob

Antworten