Fórum negritando dias no calendario #228763

29/04/2004

0

Pessoal, estou tentando negritar alguns dias no calendario do delphi usando:

Calendar.BoldDays([1,2,5,10],MonthBoldInfo);

mas não estou conseguindo passar o mês e o ano como parametros. Alguem sabe como fazer???

Desde já agradeço.


Renatoanp

Renatoanp

Responder

Posts

29/04/2004

Motta

-- segue exemplo que fiz lendo uma tabela de feriados
-- retorna os dias que são feriaso em um mes(pego pela data)

procedure Tfrm1.MonthCalendarGetMonthInfo(Sender: TObject;
  Month: Cardinal; var MonthBoldInfo: Cardinal);
var ano,mes,dia : word;
    data : TDateTime;
    x : array of cardinal;
    i : integer;
begin
  inherited;
  // Marca com Bold os feriados cadastrados no Sistema
  x := Nil;
  try
    DecodeDate(MonthCalendar.Date,ano,mes,dia);
    // Só tem a variável Month para obter o ano pega-se
    // o ano que está em MonthCalendar.Date, sendo que este é a posição
    // anterior , por isto o tratamento abaixo
    case Month of
      1 : if mes = 12 then
            ano := ano + 1;
      12: if mes = 1 then
            ano:= ano - 1;
    end;
    data := EncodeDate(ano,Month,1);
    i := -1;
    with qryFeriados do
    begin
      Close;
      Params[0].AsDate := data;
      Open;
      if Eof then
        Exit; //<<== Mês sem feriado
      SetLength(x,RecordCount); // Tamanho do array
      while not (Eof) do
      begin
        Inc(i);
        x[i] := Fields[0].AsInteger;
        Next;
      end;
      Close;
    end;
    MonthCalendar.BoldDays(x,MonthBoldInfo);
  except
  end;
end;





Responder

Gostei + 0

05/06/2009

Maickelpc

aproveitando o topico, ao inves de negritar, teria uma forma de eu pintar as celulas ou a fonte dos dias ?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar