TDateTimePicker

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
hbr
Beiträge: 321
Registriert: Mi 20. Feb 2013, 10:30
OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
CPU-Target: 32/64,ARM(RPi)

TDateTimePicker

Beitrag von hbr »

Hallo Forum,
bräuchte etwas Hilfe zu TDateTimePicker.

Wenn z.B. "DateMode auf dmComboBox" steht,
wird durch klick auf den Pfeil nach unten die PickerBox sichtbar.

Ich möchte nun diese PickerBox Programmtechnisch aufrufen.
Und zwar auch dann, wenn "DateMode auf dmUpDown" steht.

Habe leider keinen Parameter dafür gefunden.

Geht das?

Gruß

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: TDateTimePicker

Beitrag von Michl »

Ich glaube, ohne selbst Hand an der LCL anzulegen, wird das nicht funktionieren. Wäre aber recht einfach. Du bräuchtest nur die Procedure DropDownCalendarForm in der Klasse TCustomDateTimePicker (Unit DateTimePicker) von privat nach public verschieben und schon könntest du sie an geeigneter Stelle aufrufen.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

hbr
Beiträge: 321
Registriert: Mi 20. Feb 2013, 10:30
OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
CPU-Target: 32/64,ARM(RPi)

Re: TDateTimePicker

Beitrag von hbr »

Hallo Michl,
Danke, aber das bringt nicht wirklich etwas.
Ich kann zwar den Kalender mit DateTimePicker1.DropDownCalendarForm;
aufrufen, doch bei Auswahl eines angeklickten Datums wird dieses nicht übergeben
und mein PageControl wechselt selbstständig nach TabSheet 0.

Gruß

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: TDateTimePicker

Beitrag von Michl »

hbr hat geschrieben:doch bei Auswahl eines angeklickten Datums wird dieses nicht übergeben
Bei mir geht das problemlos (auch bei DateMode dmUpDown):

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
begin
  DateTimePicker1.DropDownCalendarForm;
end; 
hbr hat geschrieben:mein PageControl wechselt selbstständig nach TabSheet 0
Welches PageControl?

Möglicherweise hast du noch ein Event irgendwie verlinkt, was das Verhalten auslöst?

Wenn du gar nicht weiter kommst und unbedingt dieses Verhalten umsetzen willst, kannst du auch ein Minimalbeispiel hochladen und ich schaue mir das mal an.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

wp_xyz
Beiträge: 5153
Registriert: Fr 8. Apr 2011, 09:01

Re: TDateTimePicker

Beitrag von wp_xyz »

Was soll das eigentlich? TDateTimePicker hat zwei klar definierte Betriebsmodi, dmCombobox und dmUpDown. Was soll das bringen, dem einen Betriebsmodus Features des anderen aufzuzwingen? Es kommt mir vor, als ob jemand versucht, mit Gewalt im Auto Gas- und Bremspedal zu vertauschen.

hbr
Beiträge: 321
Registriert: Mi 20. Feb 2013, 10:30
OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
CPU-Target: 32/64,ARM(RPi)

Re: TDateTimePicker

Beitrag von hbr »

wp_xyz hat geschrieben:Was soll das eigentlich? TDateTimePicker hat zwei klar definierte Betriebsmodi, dmCombobox und dmUpDown. Was soll das bringen, dem einen Betriebsmodus Features des anderen aufzuzwingen? Es kommt mir vor, als ob jemand versucht, mit Gewalt im Auto Gas- und Bremspedal zu vertauschen.
Genau und beide Kombiniert ergib hervorragende Bedienung.
Ich will das halt so.
Aber lassen wir das jetzt, habe einen Zusätzlichen TDBCalendar eingesetzt.
Dachte halt es wäre mit diesem einen ohne weiteres realisierbar.

Trotzdem Danke.

Antworten