View previous topic :: View next topic |
Author |
Message |
vla
Joined: 15 Mar 2005 Posts: 60 Location: Гаклин Владимир Ильич Occupation: ООО БэстСиб, консультант Interests: Новосибирск
|
Posted: 09 Nov 2007 15:45 Post subject: |
|
|
nordk wrote: | По всей видимости надо переделывать окно запроса на вариант 2
это без построения станлартной картинки.
Прорисовывать ее самому а поля размещать через указание координат | В смысле без QINPUT ? |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 09 Nov 2007 18:21 Post subject: |
|
|
Еще раз прошу почитайте внимательно описание bScrInit в описании InitList. Там Вы найдете описание варианта 2.
Это означает что надо через dispbox и sayscreen прорисовывать окно запроса самому а поля запроса располагать путем указания их координат. В описании это есть. Пропробуйте плз пока я не могу более детально это описать.
Указание коррдинат надо смотреть в описании aHeads все того же Инитлист |
|
Back to top |
|
|
vla
Joined: 15 Mar 2005 Posts: 60 Location: Гаклин Владимир Ильич Occupation: ООО БэстСиб, консультант Interests: Новосибирск
|
Posted: 09 Nov 2007 19:19 Post subject: |
|
|
Понял. Попробую |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 12 Nov 2007 20:22 Post subject: |
|
|
Владимир как успехи ?
У нас начинается смена сайтов и этот форум будет закрываться а там
уже новый форум
Думаю надо тут довести этот вопрос до конца успеть |
|
Back to top |
|
|
vla
Joined: 15 Mar 2005 Posts: 60 Location: Гаклин Владимир Ильич Occupation: ООО БэстСиб, консультант Interests: Новосибирск
|
Posted: 12 Nov 2007 22:46 Post subject: |
|
|
Да вот, чтобы продвинуться - надо часа на 3 хотя-бы засесть за комп. Пока не получается |
|
Back to top |
|
|
vla
Joined: 15 Mar 2005 Posts: 60 Location: Гаклин Владимир Ильич Occupation: ООО БэстСиб, консультант Interests: Новосибирск
|
Posted: 12 Nov 2007 23:04 Post subject: |
|
|
Ну да, попробовал вариант 2 в таком виде: Code: | bScrInit:={||SayScreen(tname,11,45,'N/BG'),2}
| Результат есть - сразу при формировании окна диалога название текущего значения (tname) рисуется.
Но теперь надо вручную рамку вокруг окна диалога отрисовать, и обновить название его при изменении. Но это уже во вторник, надеюсь. |
|
Back to top |
|
|
vla
Joined: 15 Mar 2005 Posts: 60 Location: Гаклин Владимир Ильич Occupation: ООО БэстСиб, консультант Interests: Новосибирск
|
Posted: 15 Nov 2007 17:54 Post subject: |
|
|
Ну вот, при начальной отрисовке справочника текущее значение названия рисуется, рамка рисуется. Code: | //определим bScrInit
bScrInit:={||DISPBOX(nTop,nLeft,nBot,nRight,("╔═╗║╝═╚║ "),"N/BG"),;
SayScreen(tname,nTop+1,nLeft+35,'N/BG'),;
SayScreen(vname,nTop+2,nLeft+35,'N/BG'),;
2}
| Дальше опять непонятности:
- где подцепить обновление названия после выхода из справочника и как это правильно сделать ?
Вот так никакого эффекта: Code: | //определим bScrPost
bScrPost:={||SayScreen("ляляля",nTop+1,nLeft+35,'N/BG'),;
SayScreen("тратата",nTop+2,nLeft+35,'N/BG'),;
2}
| Он вообще, похоже, отрабатывает только после выхода из QINPUT. |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 15 Nov 2007 18:11 Post subject: |
|
|
а вот это надо бы попробовать сделать сначала в MAKEREFER.
В блоке кдоа в котором Вы скоб отменяете.
Т.е. при закрытиии справочника рисовать значение переменной. |
|
Back to top |
|
|
vla
Joined: 15 Mar 2005 Posts: 60 Location: Гаклин Владимир Ильич Occupation: ООО БэстСиб, консультант Interests: Новосибирск
|
Posted: 15 Nov 2007 18:27 Post subject: |
|
|
Quote: | а вот это надо бы попробовать сделать сначала в MAKEREFER | Ура, работает Code: | {||part_v->( SETSCOPE() ),SayScreen(left(field->name,lName),nTop+2,nLeft+35,'N/BG')} | Вот только если раскрыть справочник, то при выборе значения вначале отрабатывает SayScreen, а потом поверх восстанавливается область экрана занятая справочником. Ну и ... |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 15 Nov 2007 18:31 Post subject: |
|
|
Дак в итоге не работает ? |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 15 Nov 2007 18:34 Post subject: |
|
|
Вы еще в aValid прорисовку добавь |
|
Back to top |
|
|
vla
Joined: 15 Mar 2005 Posts: 60 Location: Гаклин Владимир Ильич Occupation: ООО БэстСиб, консультант Interests: Новосибирск
|
Posted: 15 Nov 2007 18:35 Post subject: |
|
|
nordk wrote: | Дак в итоге не работает ? |
Да нет, типа работает
Только та часть, которая была закрыта справочником или его тенью - восстанавливается позже, чем обновляется.
Было до раскрытия справочника: Ляляля
Выбрали в справочнике: Тратата
После всего получаем: Лятата
(например).
Пройдешь справочник вверх-вниз без Ф2 - перерисовывается нормально. |
|
Back to top |
|
|
vla
Joined: 15 Mar 2005 Posts: 60 Location: Гаклин Владимир Ильич Occupation: ООО БэстСиб, консультант Interests: Новосибирск
|
Posted: 15 Nov 2007 18:41 Post subject: |
|
|
nordk wrote: | Вы еще в aValid прорисовку добавьте | В Makerefer ? |
|
Back to top |
|
|
nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 15 Nov 2007 19:19 Post subject: |
|
|
Нет это уже в самом QINPUT()
Короче идея в чем.
нам после выбора значения в справочнике надо сменить его на экране ввода.
Первое событие это при выходе из справочника.
Но тут по всей видимости не гуд поскольку экран восстанавливается позже.
Следующее событие это смещение из поля в следующее.
Это событие - массив aValid. Т.е. при смещении с поля тип прорисовываем его название. Вроде как после выбора значения в справочнике у нас происходит смещение курсора на след.поле, а при смещении курсора у нас собственно aValid и отрабатывает.... |
|
Back to top |
|
|
|