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

Вниз

Выпадающий список знач свойства и ReadOnly   Найти похожие ветки 

 
Priest ©   (2005-10-27 17:54) [0]

Делаю свой редактор свойста и пишу

function TMyPropEditor.GetAttributes: TPropertyAttributes;
begin
Result := [paValueList, paSortList, paRevertable];
end;

Пользователь может поменять значение свойства (выбрать из списка), а также написать вручную...Как запретить заносить неверное значение?


 
Юрий Зотов ©   (2005-10-27 18:34) [1]

При формировании списка сохранять его, а перед присвоеним проверять веденное значение на вхождение в список.

type
 TMyPropEdit = class(...)
 private
   FList: TStringList;
   FProc: TGetStrProc;
   procedure MyProc(const S: string);
 public
   constructor ... // в нем создать FList
   destructor ... // в нем уничтожить FList
   procedure GetValues(Proc: TGetStrProc); override;
   procedure SetValue(const Value: string); override;
   ...
 end;

procedure TMyPropEdit.GetValues(Proc: TGetStrProc);
begin
  FList.Clear;
  FProc := Proc;
  ... // формируем список, но вместо Proc вызываем MyProc
end;

procedure TMyPropEdit.MyProc(const S: string);
begin
  FList.Add(S);
  FProc(S)
end;

procedure SetValue(const Value: string);
begin
 if FList.IndexOf(Value) < 0  then
   raise ...; // возбуждаем исключение
 inherited
end;


 
Priest ©   (2005-10-28 09:01) [2]

Спасибо...Так я и делал. Только список у меня глобальный, поэтому сохранять его нет нужды.



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

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

Наверх




Память: 0.47 MB
Время: 0.024 c
2-1144856527
KLAUS
2006-04-12 19:42
2006.04.30
Memo+Hex


1-1143312945
Muhan_
2006-03-25 21:55
2006.04.30
Как программно поменять раскладки клавы с англ. на русскую ...


3-1141660580
RomanH
2006-03-06 18:56
2006.04.30
Переход на Microsoft SQL Server


15-1144740747
syte_ser78
2006-04-11 11:32
2006.04.30
Вопрос по РНР


2-1144782592
kester
2006-04-11 23:09
2006.04.30
Выделение строки цветом в TRichEdit