|
![]() |
#1 |
Участник
|
![]()
Молотком
![]() Во вложении - ответ. Как применять: 1. На форме в ClassDeclaration определить пару переменных X++: DLL dll; DLLFunction AxScrollGroup; X++: dll = new Dll("AxScroll.dll"); AxScrollGroup = new DLLFunction(dll, "AxScrollGroup"); AxScrollGroup.returns(ExtTypes::DWord); AxScrollGroup.arg(ExtTypes::DWord); X++: if ([].hWnd()) AxScrollGroup.call([].hWnd()); 5. На этих контролах размещать только группы или табы. Все остальные контролы должны находиться в этих элементах 6. Подключать можно неограниченное количество элементов (например, все закладки на форме InventTable) Для скроллинга можно использовать колесо мыши. С зажатой кнопкой SHIFT - по вертикали, CONTROL - по горизонтали Из замеченных глюков: 1. Если разместить на управляемой группе элемент ввода (например, StringEdit) (не во вложенной группе), то при скроллировании и перерисовке формы будет неправильно отображаться Label контрола 2. Если разместить на управляемом контроле Grid (не во вложенной группе), то при изменении размера формы и смещенным движкам скроллера Grid перескочит в верхний левый видимый угол. 3. При изменении размеров контрола (например, для Grid'а изменение ширины столбцов ), если смещены движки скроллера, то контрол перескочит в верхний левый видимый угол. 4. При изменении размеров контрола (например, для Grid'а изменение ширины столбцов) скроллеры не реагируют (не происходит пересчет размеров клиентской области). Если после этого изменить размер управляемой группы (например, изменить размер окна), то все корректно пересчатается 5. Если управляемый контрол Группа и для него включено FrameType, то некорректно будет происходить перерисовка элементов фрейма
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: mazzy (5), slava (1), Garic (1), George Nordic (5), Hidden (1), Lemming (1), Logger (9), bagyr (1), kvg6 (1), konopello (1), MikeR (2), gl00mie (1), Bil Meshkoff (1). |