Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi MonthCalendar in neuem Fenster (https://www.delphipraxis.net/33788-monthcalendar-neuem-fenster.html)

Klarabella 12. Nov 2004 14:53


MonthCalendar in neuem Fenster
 
Also, hab mal wieder ein Problem, was eigentlich gar keins sein dürfte... Find in der Suche nix :(

Ich hab ein Formular, auf dem ich ein Editfeld hab. Neben diesem Editfeld hab ich einen Button mit drei kleinen Pünktchen. Wenn nun auf diesen Button geklickt wird, dann geht ein anderes Formular auf, auf dem ein MonthCalendar ist.
Nun will ich hier ein Datum anklicken und dieses soll in das Formular 1 in das EditFeld übernommen werden.

Wie mach ich das?
Delphi-Quellcode:
procedure TfrmEinstellung.btnKalenderClick(Sender: TObject);
var frmKalender: TfrmKalender;
begin
  frmKalender := TfrmKalender.Create(self);
  frmKalender.Show;

  edtDatumBis.Text := frmKalender.MonthCalendar1.Date;
end;
Ich komm hier nicht weiter... :wall:

edit: Hab mich vertippt... muss DateToStr(frmKalender.MonthCalendar1.Date) heißen!

alcaeus 12. Nov 2004 14:57

Re: MonthCalendar in neuem Fenster
 
Hi Klarabella,

versuch mal
Delphi-Quellcode:
edtDatumBis.Text := DateToStr(frmKalender.MonthCalendar1.Date);
Und das nächste mal wäre eine Fehlermeldung ganz hilfreich :zwinker:

Greetz
alcaeus

Dax 12. Nov 2004 14:57

Re: MonthCalendar in neuem Fenster
 
Das musst du im OnClick des Kalenders machen:
Delphi-Quellcode:
frmEinstellungen.edtDatumBis.Text := DateToStr(MonthCalender1.Date);

Klarabella 12. Nov 2004 15:00

Re: MonthCalendar in neuem Fenster
 
Genau das mein ich, Alcaeus... :-D

@Dax: Ich muss den Kalender aus dem frmEinstellungen heraus laden... Wenn ich das so mache, dann krieg ich nen überkreuzten Bezug.

Mein Problem ist, dass so, wie jetzt, nur das aktuelle Datum (voreingestellte) Datum übernommen wird, nicht das angeklickte.

Klarabella 15. Nov 2004 07:51

Re: MonthCalendar in neuem Fenster
 
Wollt noch mal hören, ob mir jemand helfen kann... :(

alcaeus 15. Nov 2004 09:17

Re: MonthCalendar in neuem Fenster
 
Hi Klarabella,

du verwendest Show. AFAIK wird da die Ausführung des Codes sofort fortgesetzt, da beide Forms in Frieden nebeneinander koexistieren können. Verwende Delphi-Referenz durchsuchenShowModal, und die Zeile
Delphi-Quellcode:
edtDatumBis.Text := DateToStr(frmKalender.MonthCalendar1.Date);
wird erst ausgeführt, sobald das ShowModal fertig ausgeführt wurde. Falls du ShowModal verwendest, musst du aber den Buttons auch ein Delphi-Referenz durchsuchenModalResult geben bzw. das ModalResult des Forms setzen, damit das Form auch effektiv geschlossen wird. Wird ein Form mit ShowModal aufgerufen, so kann nur dieses Form den Fokus erhalten, die anderen werden sozusagen ausgebremst.

Greetz
alcaeus

Klarabella 15. Nov 2004 09:53

Re: MonthCalendar in neuem Fenster
 
Danke!

Ich dachte, es wäre vielleicht möglich, ohne buttons zu arbeiten... Habe jetzt aber in mein Kalender Formular doch die Button "Datum übernehmen" und "Abbrechen" eingebaut.
Dann klappts eben mit ShowModal...! :)

alcaeus 15. Nov 2004 09:57

Re: MonthCalendar in neuem Fenster
 
Hi Klarabella,

die Buttons sind nicht notwendig. Wichtig ist nur das ShowModal. Im OnSelect des Kalenders musst du einfach folgendes schreiben:
Delphi-Quellcode:
ModalResult := mrOk;
damit der Dialog geschlossen wird.

Greetz
alcaeus

Klarabella 15. Nov 2004 13:53

Re: MonthCalendar in neuem Fenster
 
OnSelect???
Gibts net...

Naja, ich hab halt versucht, das über OnClick zu machen und dann kann ich nicht mal den monat auswählen, ohne dass er aus dem Formular springt... Und das ist dann ja doch sehr nervig. :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz