Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.17;
Скачать: CL | DM;

Вниз

TDateTimePicker   Найти похожие ветки 

 
mfender ©   (2006-11-29 14:26) [0]

Что-то я никак не пойму, неужели нет возможности у этого компонента изменять и дату и время? Т.е., выделяю месяц - стрелками меняю, выделяю часы - стрелками меняю. А сейчас получается, что менять можно либо одно, либо другое, взависимости от переключателя Kind (dkDate и dkTime).

Может я чего-то не вижу?


 
Anatoly Podgoretsky ©   (2006-11-29 14:34) [1]

> mfender  (29.11.2006 14:26:00)  [0]

Не видишь возможности поставить рядом два.


 
mfender ©   (2006-11-29 14:45) [2]


> Anatoly Podgoretsky ©   (29.11.06 14:34) [1]
> > mfender  (29.11.2006 14:26:00)  [0]
>
> Не видишь возможности поставить рядом два.

Немного извращённо, кажется...

Почитал ДНК - методы совершенно разные... Видимо совмещать их не получится. Или как-то извернуться, и переключать Kind взависимости от надобности.


 
clickmaker ©   (2006-11-29 14:49) [3]


> [2] mfender ©   (29.11.06 14:45)

свой компонент забацать. Панелька + 2 пикера


 
mfender ©   (2006-11-30 13:31) [4]

Сделал панельку с двумя пикерами.

Теперь пытаюсь унаследовать от неё потомка для БД. И вот какая ерунда получается:


{Это предок}
type
 TmfDateAndTimePicker = class(TCustomPanel)
 private
   FOnChange: TNotifyEvent;
   FDateTime: TDateTime;
 public
   property DateTime: TDateTime read FDateTime write SetDateTime;
 published
   property OnChange: TNotifyEvent read FOnChange write FOnChange;
 end;

procedure TmfDateAndTimePicker.ChangeDateTime(Sender: TObject);
begin
 FDatePicker.Time := FTimePicker.Time;
 FDateTime := FDatePicker.DateTime;
 FOnChange(Self);
end;

{Это потомок}
 TmfUNIXDateTimePicker = class(TmfDateAndTimePicker)
 protected
   procedure PickerChange(Sender: TObject);
 public
   constructor Create(AOwner: TComponent); override;
 end;

constructor TmfUNIXDateTimePicker.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);
 OnChange := PickerChange;
end;

procedure TmfUNIXDateTimePicker.PickerChange(Sender: TObject);
begin
 FDataLink.Edit;
 FDataLink.Field.AsInteger := DateTimeToUnix(DateTime);
end;


Так вот до этой самой PickerChange дело вообще не доходит. DateTime меняется (проверил снаружи не label"е). Как сделать так, чтобы по OnChange срабатывал и PickerChange?


 
mfender ©   (2006-11-30 13:51) [5]

Блин, а ларчик просто открывался!


 TmfDateAndTimePicker = class(TCustomPanel)
   procedure ChangeDateTime(Sender: TObject); dynamic;

 TmfUNIXDateTimePicker = class(TmfDateAndTimePicker)
   procedure ChangeDateTime(Sender: TObject); override;

procedure TmfUNIXDateTimePicker.ChangeDateTime(Sender: TObject);
begin
 inherited ChangeDateTime(Self);
 FDataLink.Edit;
 FDataLink.Field.AsInteger := DateTimeToUnix(DateTime);  
end;


!!!

Спасибо всем за помощь!



Страницы: 1 вся ветка

Текущий архив: 2006.12.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
2-1164961290
KyRo
2006-12-01 11:21
2006.12.17
Подскажите какой выбрать шрифт


15-1164703255
Альберт
2006-11-28 11:40
2006.12.17
Как создать дистрибутив?


11-1141245228
Vedun
2006-03-01 23:33
2006.12.17
Модуль KolCompDoc для работы с doc-файлами (by Thaddy)


2-1164651925
Змей
2006-11-27 21:25
2006.12.17
webbrowser. анимация вкл.выкл


2-1164709037
KyRo
2006-11-28 13:17
2006.12.17
Подскажите как оборвать закачку