Флаг DIF_USELASTHISTORY не работает с DI_FIXEDIT?

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
buniak_a_h
Posts: 2524
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 139 times
Been thanked: 311 times
Contact:

Флаг DIF_USELASTHISTORY не работает с DI_FIXEDIT?

Post by buniak_a_h »

Здравствуйте.
В описании флага DIF_USELASTHISTORY написано:
Флаг DIF_USELASTHISTORY имеет смысл для следующих элементов диалога:
DI_EDIT строка ввода
DI_FIXEDIT поле ввода фиксированного размера
В описании флага DIF_HISTORY написано:
DIF_HISTORY имеет более высокий приоритет, чем флаг DIF_MASKEDIT.
Т.е. насколько я понял, если есть история и начальное значение Data для поля не указано, то независимо от наличия флага DIF_MASKEDIT значение из истории должно заноситься в оба поля (и DI_EDIT, и DI_FIXEDIT). Что-то у меня в DI_FIXEDIT ничего не заносится… Независимо от наличия маски и флага DIF_MASKEDIT
Имеется простенький скрипт:
  1. local F=far.Flags
  2. local fl, flb=bor(F.DIF_HISTORY, F.DIF_USELASTHISTORY),F.DIF_DEFAULTBUTTON
  3. local di={
  4.  {F.DI_TEXT,     2; 1;  0; 0; 0;  nil;    nil;   nil;  "DI_&EDIT"   };
  5.  {F.DI_EDIT;    15; 1; 25; 0; 0; "Test";  nil;   fl                 };
  6.  {F.DI_TEXT,     2; 3;  0; 0; 0;  nil;    nil;   nil;  "DI_&FIXEDIT"};
  7.  {F.DI_FIXEDIT; 15; 3; 25; 0; 0; "Test";  nil;   fl                 };
  8.  {F.DI_BUTTON;  10; 5;  0; 0; 0;  nil;    nil;   flb;  "Close"      };
  9. }
  10. far.Dialog('',-1,-1,30,7,nil,di)
После Начиная со второго вызова история заносится в DI_EDIT и НЕ заносится в DI_FIXEDIT. Если я чего-то не понял, поясните, пожалуйста, в чём я не прав. Иначе что-то надо менять - или энциклопедию, или движок (по мне так
Post Reply

Return to “Нужна помощь”