Автор | Сообщение |
|
| |
Пост N: 2046
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.02.11 19:05. Заголовок: TXbrowse , редактирование
@ 55,5 Xbrowse obrw ; Size (ownd:nwidth()/2)-10,(ownd:nHeight/2)-85 ; of ownd PIXEL font ofont2 ALIAS "TEST" ; LINES CELL FASTEDIT oCol:= obrw:AddCol() oCol:cHeader := "Примечание" oCol:bStrData := { || TEST->vprim } oCol:nHeadStrAlign := AL_CENTER oCol:nDataStrAlign := AL_LEFT oCol:bEditValue := { || TEST->vprim } ocol:nEditType := EDIT_GET oCol:bonPostEdit := { | oCol, uValue, nLastKey | If( nLastKey == 13, TEST->vprim := uValue,) } oCol:cEditPicture := "@s30" obrw:nMarqueeStyle :=MARQSTYLE_HIGHLROW obrw:CreateFromCode() Собственно 2 проблемы. 1. Режим Fastedit включен , но при нажатии цифры или буквы вход в режим редактирования не происходит. Чуть поигрался и понял что это не работает, так как стиль курсора MARQSTYLE_HIGHLROW. Но мне нужен именно такой стиль. Как это обойти ? 2. После выхода из режима редактирования , курсор перескакивает на соседнюю ячейку , мне эта радость как бы и не нужна. Что сделать что бы курсор не перескакивал а оставался в той же ячейке ?
|
|
|
Ответов - 6
[только новые]
|
|
|
| |
Пост N: 84
Зарегистрирован: 17.06.10
|
|
Отправлено: 06.02.11 19:32. Заголовок: 2. в bonPostEdit до..
2. в bonPostEdit добавить позиционирование на нужную колонку
|
|
|
|
| |
Пост N: 2047
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.02.11 20:23. Заголовок: fil Спасибо ! 2 пун..
fil Спасибо ! 2 пункт решился иначе obrw:nmovetype:=5 /* DATA nMoveType; // 1 Move Right AS NUMERIC // 2 Move Left // 3 Move Up // 4 Move down // 5 No Move // 6 Move Right with lFastedit features, only work with lFastEdit := .t. // 7 Move left with lFastedit features, only work with lFastEdit := .t. */ Остался пунктик 1 :)
|
|
|
|
| |
Пост N: 85
Зарегистрирован: 17.06.10
|
|
Отправлено: 06.02.11 20:37. Заголовок: Ну, видимо, надо пер..
Ну, видимо, надо перехватить нажатие через bKeyDown и активизировать строку редактирования
|
|
|
|
| |
Пост N: 2048
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.02.11 22:02. Заголовок: fil пишет: надо пер..
fil пишет: цитата: | надо перехватить нажатие через bKeyDown и активизировать строку редактирования |
| Сделал , но теперь прога падает. oBrw:bKeyDown = {|nKey| if( oBrw:aCols[ obrw:ncolsel ]:iseditkey(nKey), oBrw:aCols[obrw:ncolsel]:Edit(chr(nkey)),) } Error description: Error BASE/1004 Class: 'NIL' has no exported method: SELECTALL Called from: => SELECTALL(0) Called from: .\source\classes\XBROWSE.PRG => TXBRWCOLUMN:EDIT(8475) И чего ему надо ? :)
|
|
|
|
| |
Пост N: 86
Зарегистрирован: 17.06.10
|
|
Отправлено: 06.02.11 22:13. Заголовок: Как правило, такие ш..
Как правило, такие штуки происходят при параллельном выполнении событий бровса и контролов другого окна( get на чем-то сидит) Я к тому, что может какие блоки кода или инфу визуалки колонок на время редактирования сделать NIL, а после восстановить
|
|
|
|
| |
Пост N: 2049
Зарегистрирован: 17.05.05
|
|
Отправлено: 07.02.11 09:03. Заголовок: Пункт 1 , решил. Ка..
Пункт 1 , решил. Как говорит ММК , решение можно найти всегда ;)
|
|
|
|