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

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 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.  
  3. local fl, flb=bor(F.DIF_HISTORY, F.DIF_USELASTHISTORY),F.DIF_DEFAULTBUTTON
  4.  
  5. local di={
  6.  
  7.  {F.DI_TEXT,     2; 1;  0; 0; 0;  nil;    nil;   nil;  "DI_&EDIT"   };
  8.  
  9.  {F.DI_EDIT;    15; 1; 25; 0; 0; "Test";  nil;   fl                 };
  10.  
  11.  {F.DI_TEXT,     2; 3;  0; 0; 0;  nil;    nil;   nil;  "DI_&FIXEDIT"};
  12.  
  13.  {F.DI_FIXEDIT; 15; 3; 25; 0; 0; "Test";  nil;   fl                 };
  14.  
  15.  {F.DI_BUTTON;  10; 5;  0; 0; 0;  nil;    nil;   flb;  "Close"      };
  16.  
  17. }
  18.  
  19. far.Dialog('',-1,-1,30,7,nil,di)
После Начиная со второго вызова история заносится в DI_EDIT и НЕ заносится в DI_FIXEDIT. Если я чего-то не понял, поясните, пожалуйста, в чём я не прав. Иначе что-то надо менять - или энциклопедию, или движок (по мне так
Post Reply

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