Здравствуйте! Нужно создать программу «Календарь», показывающую любой день любого месяца любого года. У меня есть готовая программа, признаюсь что не я ее делал, т.к. совсем недавно начал делфи изучать, а задают уже такие задания где сразу не сообразишь а сроки короткие.. но я был бы рад если бы мне кто нибудь помог доработать ее совсем чуть. Дело в том что при запуске программы она показывает текущий день выделяя квадратик, все бы ничего, но это на всех месяцах.. вот скрин: http://xmages.net/show.php/1906218_123-jpg.html
Мне нужно чтобы этого выделения не было на всех месяцах, хотя б на текущем, или вообще ни на каком. Программку прикрепил..
type // Первое - определяем промежуточный класс с именем TCalendar (унаследованный // от того типа, который описан в Дельфийском модуле Calendar, чтоб не регистрировать // свой компонент), в котором будет нужный нам функционал. Конкретнее - подправим // процедуру отрисовки ячейки. // Этот класс должен обязательно быть описан ПЕРЕД классом формы, потому что // в TForm1 уже используется тип TCalendar.Нсли я свой класс опишу ниже по тексту, // то будет использовано то, что и так есть в модуле Calendar, и никаких изменений не будет.
TCalendar = class(Calendar.TCalendar) private { Private declarations } protected { Protected declarations } public { Public declarations } procedure DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState); override; constructor Create(AOwner: TComponent); override; published { Published declarations } end;
// А это - то, что было у тебя, но чуть-чуть подправленное. Вместо Copy/Paste // используются возможности Дельфи по нахождению компонентов на форме.
procedure TForm1.OnChange(Sender: TObject); var i: integer; myCalend: TCalendar; begin for i := 1 to 12 do begin with Form1.FindComponent('Cal' + IntToStr(i)) as TCalendar do begin Year := SpinEdit1.Value; Month := i; end; end;