Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Coger el dia seleccionado en un componente tipo tMonthCalendar en Delphi 7 (https://www.clubdelphi.com/foros/showthread.php?t=81636)

cincosoft 02-12-2012 10:50:41

Coger el dia seleccionado en un componente tipo tMonthCalendar en Delphi 7
 
Hola,

Estoy haciendo una agenda y quería que al escoger un día en el calendario (estoy utilizando el componente TMonthCalendar), se actualizase la agenda, para lo que tengo que utilizar el día seleccionado para lanzar la consulta.

Es el componente adecuado? En que evento tengo que llamar a la función? Como cojo la fecha seleccionada por el usuario?

Selecciono este componente porque prefiero que se vea todo el tiempo el calendario, por eso no utilizo por ejemplo el TDateTimerPicker.

Gracias y un saludo.

ecfisa 03-12-2012 18:23:57

Hola cincosoft.

MonthCalendar, no posee un evento que se dispare ante la selección de un día, pero si el Parent del TMonthCalendar es el form, podrías aprovechar el mensaje WM_NOTIFY.

Como ejemplo:
Código Delphi [-]
...
type
  TForm1 = class(TForm)
    MonthCalendar1: TMonthCalendar;
  private
    FDateSelected: TDate;
    procedure MonthCalendarChange;
  protected
   procedure WmNotify(var Msg: TWMNOTIFY); message WM_NOTIFY;
  public
  end;

var
  Form1: TForm1;

implementation {$R *.dfm}

uses CommCtrl;

procedure TForm1.MonthCalendarChange;
begin
  ShowMessage('Fecha seleccionada: '+ DateToStr(FDateSelected));
end;

procedure TForm1.WmNotify(var Msg: TWMNOTIFY);
begin
  if PNMHdr(Msg.NMHdr)^.code = MCN_SELECT then
  begin
    with PNMSelChange(Msg.NMHdr)^ do
    begin
      // Aquí las acciones que desees (pongo unas de ejemplo)
      FDateSelected:= MonthCalendar1.Date;
      MonthCalendarChange;
    end;
  end;
  inherited;
end;
...

Saludos.


La franja horaria es GMT +2. Ahora son las 21:45:41.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi