On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
администратор




Пост N: 2768
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.03.13 11:51. Заголовок: Get Listbox


Пара вопросов.
 
@ 12,45 ,19 ,71 get vid5 listbox {" Не печатать",;
" 12 штук на A4 (70 x 65)",;
" 88 штук на A4 (25 x 25)",;
" 190 штук на A4 (15 x 20)",;
" 10 штук на A4 (50 x 90)"} ;
caption "Печать ценников " ;
DROPDOWN SCROLLBAR

@ 13,45 ,17,55 get vid listbox {" Широкая "," Узкая "} ;
caption "Масштаб печати " ;
DROPDOWN SCROLLBAR
@ 14,27 say "Количество копий " get kolcop picture "9"
read




1. Как при входе в READ сразу оказаться на последнем GET c количеством копий ?
2. Хотелось бы между GET перемещаться стрелками вверх/вниз а не с помощью TAB , как это сделать ?


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 40 , стр: 1 2 All [только новые]





Пост N: 764
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 15.03.13 12:16. Заголовок: Dima пишет: 1. Как ..


Dima пишет:

 цитата:
1. Как при входе в READ сразу оказаться на последнем GET c количеством копий ?

может так kolcop:setfocus()

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2769
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.03.13 12:29. Заголовок: AlexMyr пишет: може..


AlexMyr пишет:

 цитата:
может так kolcop:setfocus()


что то новенькое и мысли не понял. так ведь не будет работать если тупо перед READ написать kolcop:setfocus()

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2746
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.03.13 12:51. Заголовок: Я делаю так: FOR nI ..


Я делаю так:
FOR nI TO (кол-во GET'ов)
HB_KeyPut( K_DOWN )
NEXT

У меня в GET стрелками перемещается... Я уж забыл как это сделал...
Типа: SET SCOREBOARD OFF && переключение сообщения вывода для READ
Не помню короче...

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2770
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.03.13 13:03. Заголовок: Andrey пишет: FOR n..


Andrey пишет:

 цитата:
FOR nI TO (кол-во GET'ов)
HB_KeyPut( K_DOWN )
NEXT


Да это понятно. И да так работает когда в GET нет LISTBOX а с ним ты на первом же
листбоксе и останешься и не важно сколько HB_KeyPut( K_DOWN ) будет послано.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 86
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 15.03.13 13:47. Заголовок: А почему нельзя кол ..


А почему нельзя кол листов поставить первым в выводе GETов ?
Но вообще-то предложение


 цитата:
может так kolcop:setfocus()



можно поставить в условие WHEN первого GETа, с какой-то логикой конечно,
чтобы повторный заход внутри READ не выбрасывал постояннно на последний GET

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2772
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.03.13 13:50. Заголовок: nick_mi пишет: А по..


nick_mi пишет:

 цитата:
А почему нельзя кол листов поставить первым в выводе GETов ?


Заказчик против.



Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 87
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 15.03.13 13:59. Заголовок: И только что попробо..


И только что попробовал для GTWVT перемещение между полями происходит по
клавишам стрелка вверх/вниз . Программа для всяких экспериментов сделана на базе тестовой программы
от ANDREY
click here
Установки в программе не менял

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 88
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 15.03.13 14:03. Заголовок: В списке GETов ее мо..


В списке GETов ее можно поставить первой, а выводить в последней строке.
Тогда, правда Стрелка вверх работать в этом поле не будет, а по стрелке вниз
перемещение будет вверх на строку

@ 12,45 ,19 ,71 get vid5 listbox {" Не печатать",;
" 12 штук на A4 (70 x 65)",;
" 88 штук на A4 (25 x 25)",;
" 190 штук на A4 (15 x 20)",;
" 10 штук на A4 (50 x 90)"} ;
caption "Печать ценников " ;
DROPDOWN SCROLLBAR

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2773
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.03.13 14:19. Заголовок: ладно оставим вопрос..


ладно оставим вопрос о переходе на последний GET. Он в принципе решаем если решить вопрос 2
Dima пишет:

 цитата:
2. Хотелось бы между GET c LISTBOX перемещаться стрелками вверх/вниз а не с помощью TAB , как это сделать ?



Какой исходник править я уже нашел (tgetlist.prg из сырцов) , смотрю где нужно переделать и пока не вижу.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2774
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.03.13 14:35. Заголовок: Был там такой код ..


Был там такой код
 
ELSEIF oTheClass == "LISTBOX"
IF nKey == K_UP
oGUI:PrevItem()
nKey := 0

ELSEIF nKey == K_DOWN
oGUI:NextItem()
nKey := 0

ELSEIF nKey == K_SPACE
IF ! oGUI:DropDown
ELSEIF ! oGUI:IsOpen
oGUI:Open()
nKey := 0
ENDIF



переделал на
 
ELSEIF oTheClass == "LISTBOX"
IF nKey == K_UP
if oGUI:Isopen
oGUI:PrevItem()
nKey := 0
else
oGet:exitState := GE_UP
endif

ELSEIF nKey == K_DOWN
if oGUI:Isopen
oGUI:NextItem()
nKey := 0
else
oGet:exitState := GE_DOWN
endif

ELSEIF nKey == K_SPACE
IF ! oGUI:DropDown
ELSEIF ! oGUI:IsOpen
oGUI:Open()
nKey := 0
ENDIF



Вроде работает ;)

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2775
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.03.13 15:20. Заголовок: Пробую там же переде..


Пробую там же переделать реакцию на ESC когда сижу внутри LISTBOX. Ранее по ESC закрывались все GET и из READ
я выходил. Так мне не подходит.
Сделал так
 
ELSEIF nKey == K_ESC
if oGUI:Isopen .and. oGUI:DropDown
OGui:Close()
oGUI:Display()
nKey := 0
endif

Есть правда не увязочка.
 
{" 1. Не печатать",;
" 2. 12 штук на A4 (70 x 65)",;
" 3. 88 штук на A4 (25 x 25)",;
" 4. 190 штук на A4 (15 x 20)",;
" 5. 10 штук на A4 (50 x 90)"} ;

Если я открыл LISTBOX и оказался на пункте 3 в LISTBOX , затем побегал в нем курсором
и нажимаю ESC , хотелось бы снова оказаться на пункте 3 в GET , но реально
попадаю на тот пункт который был выбран перед нажатием ESC.




Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3829
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.12.14 15:43. Заголовок: Вопрос про GET (что ..


Вопрос про GET (что то не нашел сходу):
Как для @ y,x GET "Список.........1" PUSHBUTTON сделать выход кроме ENTER еще по клавише F3 и F4 ?


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4347
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.12.14 16:21. Заголовок: set key -2 to hb_Key..


set key -2 to hb_KeyPut(chr(13))
set key -3 to hb_KeyPut(chr(13))

твой GET

set key -2 to
set key -3 to


ну или исходник переделать

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3830
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.12.14 16:30. Заголовок: Dima пишет: set key..


Dima пишет:

 цитата:
set key -2 to hb_KeyPut(chr(13))


Тогда я потом не отловлю какая была нажата клавиша, для дальнейшего анализа !
Как то назначались такие действия, помню по Клиперу еще.



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4348
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.12.14 16:33. Заголовок: может тогда Get..


может тогда GetApplyKey(<Get-объект>,<INKEY-код>)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3831
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.12.14 16:50. Заголовок: Вот есть пример. *..


Вот есть пример.
Скрытый текст

Как сделать выход допустим по клавише F2 но чтобы по Lastkey() можно было потом определить,
что была нажата клавиша F2 ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4351
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.12.14 19:08. Заголовок: Andrey пишет: Тогда..


Andrey пишет:

 цитата:
Тогда я потом не отловлю какая была нажата клавиша, для дальнейшего анализа !


а если так

private lF2:=.f.
setkey(K_F3,{|| lF2:=.t., hb_Keyput(chr(13))} )


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3833
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.12.14 20:38. Заголовок: Dima пишет: а если ..


Dima пишет:

 цитата:
а если так
private lF2:=.f.
setkey(K_F3,{|| lF2:=.t., hb_Keyput(chr(13))} )



Спасибо, попробую !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 3834
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.12.14 20:55. Заголовок: Делаю так: READ M..


Делаю так:
READ MSG AT MAXROW(),0,MAXCOL()
IF lF2 == .t.
CLEAR TYPEAHEAD
HB_KeyPut(K_F3)
ENDIF
nKey := LASTKEY()

nKey возвращает 13 !
Как правильно нужно сделать ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 4352
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.12.14 21:21. Заголовок: Andrey пишет: IF lF..


Andrey пишет:

 цитата:
IF lF2 == .t.



Ну достаточно вот так IF LF2

Andrey пишет:

 цитата:
IF lF2 == .t.
CLEAR TYPEAHEAD
HB_KeyPut(K_F3)
ENDIF



Уверен что условие срабатывает и LF2==.t. ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 40 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 55
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет