Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PowerBuilder Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 выпадающий календарь  [new]
Буу
Member

Откуда: Тула
Сообщений: 6
Расскажите пожалуйста по порядку как создать выпадающий календарь. Начнем с того, что у меня есть DW free form, где находится поле, из которого должен выпадать календарь. Что делать дальше? никак не разберусь...
12 дек 08, 20:07    [6565471]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
Riska
Member

Откуда: Израиль
Сообщений: 985
Какой РВ?
14 дек 08, 10:35    [6568195]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
Буу
Member

Откуда: Тула
Сообщений: 6
PB 8.0.1. Build 8004
14 дек 08, 16:11    [6568642]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
edmikeca
Member

Откуда: Ukraine
Сообщений: 237
PFC используете?
14 дек 08, 22:04    [6569182]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
Буу
Member

Откуда: Тула
Сообщений: 6
так вот в этом всё и дело, что я не понимаю откуда взять pfc. где оно находится?
это не то случайно "add target" и загружать в проект библиотеки? если это так, то что оттуда надо брать?
15 дек 08, 00:51    [6569513]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
Локшин Марк
Member

Откуда: Воронеж
Сообщений: 3154
Буу
так вот в этом всё и дело, что я не понимаю откуда взять pfc. где оно находится?
это не то случайно "add target" и загружать в проект библиотеки? если это так, то что оттуда надо брать?

Если PFC нужно только для календарика, то использовать его не разумно. Лучше взять котовый, воспользовавшись поиском по форуму, например тынц.
15 дек 08, 09:50    [6569943]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
roleks
Member

Откуда:
Сообщений: 243
вот виндовы стандартный календарь
давно пользуюсь и доволен

К сообщению приложен файл (календарь виндовый.rar - 5Kb) cкачать
15 дек 08, 11:44    [6570728]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
Буу
Member

Откуда: Тула
Сообщений: 6
спасибо большое :)
17 дек 08, 03:12    [6580662]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
KOLCHOZ_POSTEVENT
Guest
Вот если бы вы ещё добавили код , как запускать эту машину.
Мне, как-то удалось собрать эти объекты
nvo_comctl_datetime
uo_comctl_datetime

а также функции
wf_getdate
wf_setdate

а вот как чо с этого сдоить, вопрос, знаете ли.
18 дек 08, 13:46    [6588900]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
roleks
Member

Откуда:
Сообщений: 243
В окно на котором будет располагатся uo_comctl_datetime
надо добавить ф-ии

wf_getdate
wf_setdate

Style у обьекта на окне можно ставить
1174405122 (это с галочкой будет) или 1174405120 (без галочки)


берем дату с обьекта
cdate = wf_getdate(uo_3) //uo_3 - это обьект uo_comctl_datetime

ставим дату в обьект
wf_setdate(uo_3,cdate)

ВСЕ
18 дек 08, 14:24    [6589161]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
KOLCHOZ_POSTEVENT
Guest
Я вот, сразу не въехал, что объект визуальный, даже с Вашего кода подымал его как невидимый, да, всё нормально.
Вот час бодаюсь с Integration Service на пустяке, спасибо, мир не без добрых людей.
Ещё кто-то смеет хлебало на PB раззевать.
Но, если чо нe так, я к Вам снова приду.
18 дек 08, 15:32    [6589713]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
KOLCHOZ_POSTEVENT
Guest
Вот, по вашей рекомендации повесил кнопку, на клике прописал
date cdate
uo_comctl_datetime uo_3

uo_3=create uo_comctl_datetime
cdate = parent.wf_getdate(uo_3)

messagebox('',string(cdate,'dd-mm-yyyy'))

destroy uo_3
А получаю пустую строку, влом немного.

К сообщению приложен файл. Размер - 0Kb
18 дек 08, 15:52    [6589880]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
KOLCHOZ_POSTEVENT
Guest
Всё доехал, старый я осёл, вопрос снят, проще надо товарищи , проще , без интегралов.
18 дек 08, 15:58    [6589959]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
KOLCHOZ_POSTEVENT
Guest
Единственно что, ловите ли евент смены даты, если да, то как ?
18 дек 08, 16:00    [6589982]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
roleks
Member

Откуда:
Сообщений: 243
никогда не ловил ивент смены даты -а зачем?
рядом вешаю всегда кнопочку *ОК*
потому как юзеры часто ошибаюццо - луче пусть нажмут лишнюю педальку
19 дек 08, 13:09    [6594310]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
KOLCHOZ_POSTEVENT
Guest
Так, для понта.
А этот календарь, есть на всех машинах,а то так прилепишь его, а он возьмёт да завалит всю апликашу собственным криэйтом.
21 дек 08, 18:33    [6599961]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
roleks
Member

Откуда:
Сообщений: 243
есть на всех, включая 98 винду даже.
стандартный он
23 дек 08, 16:01    [6609100]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
Imperous
Member

Откуда: Оттуда )
Сообщений: 1207
чета не догоняю как эти функции правильно прилепить
28 дек 08, 12:50    [6629757]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
MegaRolex
Member

Откуда:
Сообщений: 6
roleks
никогда не ловил ивент смены даты -а зачем?
рядом вешаю всегда кнопочку *ОК*
потому как юзеры часто ошибаюццо - луче пусть нажмут лишнюю педальку

Зачем? Например у меня на форме дат - штук десять, помимо прочих полей. Юзер заполняет форму, прыгая по полям ТАБом, а я не могу даже фокус нормально поставить на поле, сделанное из этого объекта :( Глобально же проблема в том, как отловить момент, когда дата была изменена? У нормальных объектов есть для этого event Modified(), а тут как быть? И как включить это поле в общий порядок обхода полей? TabOrder, из за того, что фокус не становится, не помогает. В общем, что-то не получается у меня привинтить стандартные события к этому объекту. Кому-то удалось?
5 янв 09, 17:57    [6648935]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
maxATC
Member

Откуда:
Сообщений: 279
MegaRolex
Глобально же проблема в том, как отловить момент, когда дата была изменена? Кому-то удалось?

Ты знаешь прочитал и стало интересно, действительно отловить стандартным событием невозможно.
Заметил одну вещь при нажатии ЛКП на календарике происходит деактивация окна на котором объект, а при выборе даты активируется, вот и решил использовать Event ID родительского окна объекта Activate.
Дальнейшая реализация.
1. Создаешь Instance Variables Boolean ib_check
2. В событии Activate пишешь
if ib_check then твой_евент_на_смену_даты()
ib_check = true

Зачем ib_check = true при первом открытии окна произойдет Activate, а ib_check = false и событие не отработается, там же произойдет ib_check = true и при последующем Activate будет отрабатыватся твой евент. Подводные камни: Activate произойдет не только при опен окна но и при переключениях между окнами но переменой ib_check можно управлять. Это экспромт, сам не использовал. Попробую может, что и получится. Табом не пробовал у меня только один объект, сам факт сделать можно все, что угодно. Удачи.
5 янв 09, 18:59    [6649077]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
MegaRolex
Member

Откуда:
Сообщений: 6
maxATC,
мда... такую особенность не заметил, надо будет завтра вечерком попробовать порыть в эту сторону. Предложенная реализация не очень удобна потому что дат много, а не одна. Но идея интересная! Хотелось бы ещё инкапсулировать всё это дело внутрь объекта ( я завернул предложенный Roleks'ом код в отдельный объект, а то как то неаккуратненько пихать в окно методы, которые по сути к элементу управления относятся). До сих пор я пытался как-то через событие Other выкрутиться, но по нему все изменения отловить не получается. Нутром чую, что надо копать внутрь самого исходного компонента, но не силён в ковырянии потрохов винды.
5 янв 09, 22:54    [6649606]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
maxATC
Member

Откуда:
Сообщений: 279
MegaRolex,

Можешь порыть в этом направлении. Данный выпадающий календарь и есть самое настоящее окно для винды и поэтому ведет себя как окно со всеми вытекающими отсюда...
Class Name - SysMonthCal32
Window Styles - ws_popup.
Как видишь обычное всплывающее окно и табом между окнами не проклацать, только с выкручиванием API. Удачи.

PS: Если, что откопаешь не забудь поделиться с форумом, интересно ведь.
5 янв 09, 23:50    [6649723]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
Imperous
Member

Откуда: Оттуда )
Сообщений: 1207
можно напомнить вопрос о том как правильно эти функции к календарю прикрутить?
6 янв 09, 16:17    [6651130]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
maxATC
Member

Откуда:
Сообщений: 279
roleks

берем дату с обьекта
cdate = wf_getdate(uo_3) //uo_3 - это обьект uo_comctl_datetime

ставим дату в обьект
wf_setdate(uo_3,cdate)

ВСЕ


Написано уже. Читай выше.
6 янв 09, 18:37    [6651463]     Ответить | Цитировать Сообщить модератору
 Re: выпадающий календарь  [new]
Филипп
Member

Откуда: Boston, MA, USA (c 1989 ) б. Москва
Сообщений: 1880
MCN_SELCHANGE This message is sent by a month calendar control whenever the currently selected date or range of dates changes. It is sent in the form of a WM_NOTIFY message.
7 янв 09, 19:09    [6653808]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / PowerBuilder Ответить