Показать сообщение отдельно
Старый 13.01.2011, 11:42   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,430 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Проведя ряд экспериментов установил, что двойной клик по ячейке грида меняет состояние не отдельной ячейки а грида в целом. Т.к. состояние это не сбрасывается после перехода к другим ячейкам при момощи навигационных клавиш, и даже после потери гридом фокуса.

Так же не важно вошли ли вы в ячейку двойным кликом или потом сделали двойной щелчёк в уже активной ячейке. Грид также перейдёт в описываемое состояние.

Я смог найти только один способ выхода из этого состояния - это лишний(холостой) щелчёк мыши. Который, при большом желании, можно сгенерировать и искуственно. Я пока так и поступил:
X++:
WinAPI::SendMessageEx(Grid.hwnd(), #WM_LBUTTONDOWN, 1, 1);
WinAPI::SendMessageEx(Grid.hwnd(), #WM_LBUTTONUP, 1, 1);