|
![]() |
#1 |
Участник
|
Может это не ваша ситуация
На форме используется один буфер для поиска по AutoSearch. Этот буфер сбрасывается при нажатии на управляющие кнопки или при смене фокуса контрола, по которому идет поиск. Если же выбирать закладки при помощи мыши, то этот буфер не сбрасывается и при попытке начать поиск в новом датасоурсе на самом деле ищется не вновь набираемый текст, а добавляется к уже записанному в буфере. Обойти этот эффект можно нажатием на управляющие кнопки (стрелки) или переключением с помощью CTRL+TAB. Можно так же программным способом при помощи WinApi. Вот пример для этой формы X++: void tabChanged(int _from, int _to) { #define.EM_SETSEL(0x00B1) #define.VK_RIGHT(39) #winapi ; super(_from, _to); switch (_to) { case 1: element.selectMode(element.control(Control::tmpLedgerTable_AccountNum)); winapi::sendMessageEx(element.control(Control::tmpLedgerTable_AccountNum).hWnd(), #WM_KEYDOWN, #VK_RIGHT, 0); winapi::sendMessageEx(element.control(Control::tmpLedgerTable_AccountNum).hWnd(), #EM_SETSEL, 0, -1); break; case 2: element.selectMode(element.control(Control::LedgerTableAccountType_AccountNum)); winapi::sendMessageEx(element.control(Control::LedgerTableAccountType_AccountNum).hWnd(), #WM_KEYDOWN, #VK_RIGHT, 0); winapi::sendMessageEx(element.control(Control::LedgerTableAccountType_AccountNum).hWnd(), #EM_SETSEL, 0, -1); break; } }
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#2 |
Участник
|
Эх, спасибо ребята :)
Сейчас буду обрабатывать полученную информацию и смотреть как лучше. А академический интерес - это верно, он зачастую присутствует
![]() Всем спасибо большое за ответы!!!!
__________________
Всему свой час и Время каждому из дней! Родиться - время, время - жить и умирать. Швырять камнями, но затем и собирать... Молчать есть время, говорить с Душой своей... |
|
![]() |
#3 |
Участник
|
![]()
На форме используется один буфер для поиска по AutoSearch. Этот буфер сбрасывается при нажатии на управляющие кнопки или при смене фокуса контрола, по которому идет поиск.
Если же выбирать закладки при помощи мыши, то этот буфер не сбрасывается и при попытке начать поиск в новом датасоурсе на самом деле ищется не вновь набираемый текст, а добавляется к уже записанному в буфере. Обойти этот эффект можно нажатием на управляющие кнопки (стрелки) или переключением с помощью CTRL+TAB. Можно так же программным способом при помощи WinApi. Вот пример для этой формы X++: void tabChanged(int _from, int _to) { #define.EM_SETSEL(0x00B1) #define.VK_RIGHT(39) #winapi ; super(_from, _to); switch (_to) { case 1: element.selectMode(element.control(Control::tmpLedgerTable_AccountNum)); winapi::sendMessageEx(element.control(Control::tmpLedgerTable_AccountNum).hWnd(), #WM_KEYDOWN, #VK_RIGHT, 0); winapi::sendMessageEx(element.control(Control::tmpLedgerTable_AccountNum).hWnd(), #EM_SETSEL, 0, -1); break; case 2: element.selectMode(element.control(Control::LedgerTableAccountType_AccountNum)); winapi::sendMessageEx(element.control(Control::LedgerTableAccountType_AccountNum).hWnd(), #WM_KEYDOWN, #VK_RIGHT, 0); winapi::sendMessageEx(element.control(Control::LedgerTableAccountType_AccountNum).hWnd(), #EM_SETSEL, 0, -1); break; } } ЗДРАВСТВУЙТЕ ВСЕМ ЭТО НЕ РАБОТАЕТ - "буфер для поиска по AutoSearch" не сбрасывается |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|