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

Вниз

Изменения в TComboBox и TDateTimePicker   Найти похожие ветки 

 
Titeha   (2003-12-30 08:20) [0]

Здравствуйте МАСТЕРА!!!

С наступающим Вас Новым годом.

У меня вопрос следующего характера: Есть два компонента: TComboBox и TDateTimePicker. События OnChange и OnCloseUp у обоих обрабатывает одна и та же функция. Как избавиться от того, чтобы она вызывалась два (для Даты - три) раза подряд. Даже если я разделю их (т.е. напишу разные функции) для Даты всё равно останентся двойной вызов обработчика OnChange.

Заранее благодарен.


 
Романов Р.В. ©   (2003-12-30 08:42) [1]

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls;

const
WM_DtpCHange = WM_User+201;

type
TForm1 = class(TForm)
DateTimePicker1: TDateTimePicker;
procedure DateTimePicker1Change(Sender: TObject);
private
{ Private declarations }
procedure WMDtpCHange(var Msg: TMessage); message WM_DtpCHange;
public
{ Public declarations }
end;

var
Form1: TForm1;
F: Boolean;

implementation

{$R *.dfm}

procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
F := True;
PostMessage(Handle, WM_DtpCHange, 0 ,0)
end;

procedure TForm1.WMDtpCHange(var Msg: TMessage);
begin
if F then
begin
F := False;
ShowMessage("aa");
end;
end;

end.


 
ЮЮ ©   (2003-12-30 08:49) [2]

Сделай так, как это делают в методах SetSomeProperty

if SomeProperty = Value then Exit;

А ещё лучше, добавать к своей форме public(protected) property

MyDate: TDateTime read FMyDate write SetMyDate;
...
TMyForm.SetMyDate(Value: TDateTime);
begin
if Value = FMyDate then Exit;
<действия, необходимые при реальном изменении свойства> MyDate>
end;

А теперь в своих обработчиках пишешь
MyDate := DateTimePicker.Date;



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

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

Наверх




Память: 0.47 MB
Время: 0.021 c
14-37849
Vlad Oshin
2003-12-23 10:01
2004.01.13
outlook. сохранение вложений.


14-37921
Ломброзо
2003-12-20 17:54
2004.01.13
Ваши соображения по архитектуре?


1-37782
SoS
2003-12-27 18:46
2004.01.13
Операции с *.res файлами


14-37938
SergP
2003-12-19 19:49
2004.01.13
NMHTTP. Нужно отправить данные методом POST.


14-37906
Undert
2003-12-20 18:54
2004.01.13
Хороший дефрагментатор ...