|
|
|
Класс куда-то спрятался.
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток! Я тут включил в свой проект "чужой" класс - календарь. Если запускать этот класс из формы(Desktop=.F.) - календарик появляется, если же форме дать Desktop=.T. - класса не видно. п.с. до аффтара дастучишся... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 10:48 |
|
||
|
Класс куда-то спрятался.
|
|||
|---|---|---|---|
|
#18+
Я тут написал программу, а она не работает. В чем дело? Ты думаешь, кто-то может дать вразумительный ответ на такой вопрос? Откуда взял класс? Есть ли исходники? Предназначен ли данный класс для работы в As Top-Level формах? Использовался ли ActiveX-компонент? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 11:03 |
|
||
|
Класс куда-то спрятался.
|
|||
|---|---|---|---|
|
#18+
ВладимирМ Да думал, моя проблема типична... Исходников нет. Взял отсюда: http://www.foxclub.ru/sol/index.php?act=view&id=225 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 11:33 |
|
||
|
Класс куда-то спрятался.
|
|||
|---|---|---|---|
|
#18+
Тебе надо связаться с автором класса либо по указанному в прилагаемом текстовом файле e-mail, либо напрямую в конференции http://forum.foxclub.ru/list.php?f=29 Кроме того, поскольку автор пишет, что взял готовый класс из библиотеки Дмитрия Боянова (DBRAD), то возможно, имеет смысл связяться с ним http://www.dbrad32.narod.ru/ Код класса открытый. Какие проблемы самому в нем покопаться... Для классов на базе контейнера типичным является глюк, когда содержимое контейнера не отображается при открытии формы. Лечиться принудительным отображением ПОСЛЕ отображения формы (т.е. не ранее события Activate формы) примерно таким способом: ThisForm.Calendar.DateBox.Visible = .F. ThisForm.Calendar.DateBox.Visible = .T. Правда, это характерно для ActiveX компонет. С родными объектами FoxPro такого вроде бы не случается... Кстати, что именно не отображается? Сам контейнер, или вызываемая форма cDate описанная в процедуре? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 17:25 |
|
||
|
Класс куда-то спрятался.
|
|||
|---|---|---|---|
|
#18+
ВладимирМ Нашел файлик "ридми". Там и мэйл - буду жаловаться... ) Не видна форма, то бишь сам объект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 18:31 |
|
||
|
Класс куда-то спрятался.
|
|||
|---|---|---|---|
|
#18+
Если календарь наследуется от Form, то попробуй установить свойство ShowWindow в значение 1 (In Top Level). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2005, 01:09 |
|
||
|
Класс куда-то спрятался.
|
|||
|---|---|---|---|
|
#18+
Анатолий Широков : Это в форме прописать или в самом классе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 11:08 |
|
||
|
Класс куда-то спрятался.
|
|||
|---|---|---|---|
|
#18+
ShowWindow - это свойство формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 12:23 |
|
||
|
Класс куда-то спрятался.
|
|||
|---|---|---|---|
|
#18+
Не знаю к чему это свойство... Ну прописал showwindow = 2, так форма ваще стала странно себя вести, при вызове класса. Порядок вызова: Главное окно - моя форма - немой класс(календарь). Так вот, при вызове календаря форма прячеться за головное окно, а календарь прет поверх окна и формы... пы. сы. Люди, мне надо, что б свойство Десктоп= .Тру. было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2005, 17:13 |
|
||
|
Класс куда-то спрятался.
|
|||
|---|---|---|---|
|
#18+
В общем, тема остается открытой. Ещё раз опишу свою проблему. Есть класс-контейнер-не мое. Есть класс-календарь-не мое. И есть моя форма-моё. Контейнер лежит на моей форме. Из него я вызываю календарь. Когда мояформа.Desktop = .F. - календарь не прячется, иначе - исчезает. Вот код-свойство моей формы, ничё особенного тут нет: Desktop = .T. ShowWindow = 0 ShowTips = .T. AutoCenter = .T. BorderStyle = 0 MaxButton = .F. WindowState = 0 AlwaysOnTop = .F. SizeBox = .F. Вот код календаря: *-- ParentClass: form *-- BaseClass: form *-- Time Stamp: 09/01/05 10:36:02 AM *-- Календарь - заготовка без 37 кнопок и лэйблов, которые создаются динамичеcки в .Init * DEFINE CLASS calendar AS form Height = 130 Width = 177 Desktop = .T. ShowWindow = 1 DoCreate = .T. ShowTips = .T. AutoCenter = .T. BorderStyle = 0 Caption = "Календарь" ControlBox = .F. Closable = .F. MaxButton = .F. MinButton = .F. Movable = .T. Visible = .T. Enabled = .T. Icon = "" KeyPreview = .T. WindowType = 1 WindowState = 0 AlwaysOnTop = .F. BackColor = RGB(210,208,200) *-- Выбранная дата seldate = "" *-- Выбранный месяц selmonth = "" *-- Выбранный год selyear = "" *-- Подсвеченный сейчас день currentday = "" *-- Первый день месяца firstday = "" *-- Последний день месяца lastday = "" PROTECTED initialdate initialdate = "" Name = "calendar" *-- After form initializing it becomes .T. initialized = .F. ADD OBJECT blackheader AS label WITH ; FontBold = .F., ; FontName = "MS Sans Serif", ; FontSize = 8, ; BackStyle = 0, ; Caption = "Пн Вт Ср Чт Пт", ; Height = 17, ; Left = 8, ; Top = 18, ; Width = 114, ; TabIndex = 0, ; Name = "BlackHeader" ADD OBJECT redheader AS label WITH ; FontBold = .F., ; FontName = "MS Sans Serif", ; FontSize = 8, ; BackStyle = 0, ; Caption = "Сб Вс", ; Height = 17, ; Left = 130, ; Top = 18, ; Width = 45, ; TabIndex = 0, ; ForeColor = RGB(128,64,64), ; Name = "RedHeader" ADD OBJECT line1 AS line WITH ; Height = 0, ; Left = 5, ; Top = 34, ; Width = 168, ; Name = "Line1" ADD OBJECT backyear AS commandbutton WITH ; Top = 0, ; Left = 0, ; Height = 16, ; Width = 16, ; Picture = "backyear.bmp", ; Caption = "", ; TabIndex = 0, ; TabStop = .F., ; ToolTipText = "год назад", ; Name = "BackYear" ADD OBJECT backmonth AS commandbutton WITH ; Top = 0, ; Left = 16, ; Height = 16, ; Width = 16, ; Picture = "bckmonth.bmp", ; Caption = "", ; TabIndex = 0, ; TabStop = .F., ; ToolTipText = "месяц назад", ; Name = "BackMonth" ADD OBJECT formonth AS commandbutton WITH ; Top = 0, ; Left = 145, ; Height = 16, ; Width = 16, ; Picture = "formonth.bmp", ; Caption = "", ; TabIndex = 0, ; TabStop = .F., ; ToolTipText = "месяц вперёд", ; Name = "ForMonth" ADD OBJECT foryear AS commandbutton WITH ; Top = 0, ; Left = 161, ; Height = 16, ; Width = 16, ; Picture = "foryear.bmp", ; Caption = "", ; TabIndex = 0, ; TabStop = .F., ; ToolTipText = "год вперед", ; Name = "ForYear" ADD OBJECT monthyear AS label WITH ; FontBold = .T., ; BackStyle = 0, ; Caption = "", ; Height = 16, ; Left = 33, ; Top = 0, ; Width = 112, ; TabIndex = 0, ; Name = "MonthYear" *-- Общая процедура выбора даты PROCEDURE dateselection Lparameters SelDay if !empty(SelDay) ThisForm.SelDate = ctod( ; ltrim(SelDay)+'/'+ltrim(str(ThisForm.SelMonth))+'/'+ltrim(str(ThisForm.SelYear))) endif ThisForm.Release ENDPROC *-- Возвращает русское название месяца указанной даты PROCEDURE rusmonth Lparameter Date Local m m=month(Date) do case case m=1 return 'Январь' case m=2 return 'Февраль' case m=3 return 'Март' case m=4 return 'Апрель' case m=5 return 'Май' case m=6 return 'Июнь' case m=7 return 'Июль' case m=8 return 'Август' case m=9 return 'Сентябрь' case m=10 return 'Октябрь' case m=11 return 'Ноябрь' case m=12 return 'Декабрь' endcase ENDPROC PROCEDURE KeyPress LPARAMETERS nKeyCode, nShiftAltCtrl local sNN #define _K_PageUp 18 #define _K_PageDown 3 #define _K_CtrlPageUp 31 #define _K_CtrlPageDown 30 #define _K_UpArrow 5 #define _K_DownArrow 24 #define _K_RightArrow 4 #define _K_LeftArrow 19 #define _K_Esc 27 #define _K_Backspace 127 #define _K_Tab 9 with ThisForm do case case nKeyCode = _K_Backspace or nKeyCode = _K_Esc * Отказ от выбора .SelDate = .InitialDate .Release case nKeyCode = _K_PageUp * Месяц назад .Init(gomonth(.SelDate,-1)) case nKeyCode = _K_PageDown * Месяц вперед .Init(gomonth(.SelDate, 1)) case nKeyCode = _K_CtrlPageUp * Год назад .Init(gomonth(.SelDate,-12)) case nKeyCode = _K_CtrlPageDown * Год вперед .Init(gomonth(.SelDate, 12)) case nKeyCode = _K_DownArrow * На неделю вперед do case case .LastDay = .CurrentDay sNN=ltrim(str(day(.CurrentDay)+dow(.FirstDay,2)-2)) && -1 .Button&sNN..SetFocus case .CurrentDay+7 <= .LastDay sNN=ltrim(str(day(.CurrentDay+6)+dow(.FirstDay,2)-1)) .Button&sNN..SetFocus endcase case nKeyCode = _K_UpArrow * На неделю назад do case case .FirstDay = .CurrentDay sNN=ltrim(str(day(.CurrentDay)+dow(.FirstDay,2))) && +1 .Button&sNN..SetFocus case .CurrentDay-7 >= .FirstDay sNN=ltrim(str(day(.CurrentDay-6)+dow(.FirstDay,2)-1)) .Button&sNN..SetFocus endcase case nKeyCode = _K_RightArrow * На день вперед if .CurrentDay = .LastDay sNN=ltrim(str(day(.CurrentDay)+dow(.FirstDay,2)-2)) && -1 .Button&sNN..SetFocus endif case nKeyCode = _K_LeftArrow * На день назад if .CurrentDay = .FirstDay sNN=ltrim(str(day(.CurrentDay)+dow(.FirstDay,2))) && +1 .Button&sNN..SetFocus endif endcase endwith ENDPROC PROCEDURE Unload clear TYPEAHEAD * На случай, если такая переменная есть в вызывающей программе * Так сейчас в TCalendar store ThisForm.SelDate to m.selDate * Если будут вызывать, как форму: * do form ... to SomeMemvar * след. команда обеспечивает возврат даты return ThisForm.SelDate ENDPROC PROCEDURE Init Lparameters InitDate, FormTop, FormLeft local today,day,i,j,N,LabelN,ButtonN,left,top with ThisForm store iif(empty(InitDate),date(),InitDate) to today, .SelDate .InitialDate = iif(empty(.InitialDate),m.today,.InitialDate) .Firstday=m.today-day(m.today)+1 .LastDay=gomonth(.Firstday,1)-1 day = .Firstday n=dow(.Firstday,2) .MonthYear.Caption = padc(.RusMonth(m.today)+' '+str(year(m.today),4),22) .SelMonth = month(m.today) .SelYear = year(m.today) .Top=iif(!empty(FormTop),FormTop,this.Top) .Left=iif(!empty(FormLeft),FormLeft,this.Left) if not .Initialized for i=1 to 37 sN = ltrim(str(m.i)) .AddObject('Label'+sN,'DayLabel') .AddObject('Button'+sN,'DayButton') store 38+int((m.i-1)/7)*15 to .Button&sN..Top, .Label&sN..Top store 4+(m.i-1)%7*25 to .Button&sN..Left, .Label&sN..Left next .Initialized = .T. endif for j=1 to n-1 sN = str(m.j,1) store .F. to .Label&sN..Visible, .Button&sN..Visible next for j=1 to day(.LastDay) sN = ltrim(str(m.N,2)) store str(m.j,3) to .Label&sN..Caption, .Button&sN..Caption store .T. to .Label&sN..Visible, .Button&sN..Visible if m.day = InitDate .Button&sN..SetFocus .CurrentDay = m.day endif day = m.day + 1 N = m.N + 1 next for j=m.N to 37 sN = str(m.j,2) store .F. to .Label&sN..Visible, .Button&sN..Visible next endwith ENDPROC PROCEDURE backyear.Click ThisForm.Seldate = gomonth(ThisForm.Seldate,-12) ThisForm.Init(ThisForm.SelDate) ENDPROC PROCEDURE backmonth.Click ThisForm.Seldate = gomonth(ThisForm.Seldate,-1) ThisForm.Init(ThisForm.SelDate) ENDPROC PROCEDURE formonth.Click ThisForm.Seldate = gomonth(ThisForm.Seldate,1) ThisForm.Init(ThisForm.SelDate) ENDPROC PROCEDURE foryear.Click ThisForm.Seldate = gomonth(ThisForm.Seldate,12) ThisForm.Init(ThisForm.SelDate) ENDPROC ENDDEFINE * *-- EndDefine: calendar ************************************************** ************************************************** *-- Class: fcalendar (d:\jazyx\project\callstat\calend3.vcx) *-- ParentClass: calendar (d:\jazyx\project\callstat\calend3.vcx) *-- BaseClass: form *-- Time Stamp: 01/07/05 01:53:01 AM *-- Календарь-форма со всеми кнопками и лэйблами, без динамики - так все-таки быстрее * DEFINE CLASS fcalendar AS calendar Top = 580 Left = 8 Height = 130 Width = 177 DoCreate = .T. BackColor = RGB(210,208,200) Caption = "Календарь" initialized = .T. Name = "fcalendar" BLACKHEADER.FontBold = .T. BLACKHEADER.Caption = "Пн Вт Ср Чт Пт" BLACKHEADER.Height = 17 BLACKHEADER.Left = 5 BLACKHEADER.Top = 18 BLACKHEADER.Width = 125 BLACKHEADER.Name = "BLACKHEADER" REDHEADER.FontBold = .T. REDHEADER.Caption = "Сб Вс" REDHEADER.ForeColor = RGB(200,0,0) REDHEADER.Left = 130 REDHEADER.Top = 18 REDHEADER.Name = "REDHEADER" LINE1.Name = "LINE1" BACKYEAR.Name = "BACKYEAR" BACKMONTH.Name = "BACKMONTH" FORMONTH.Name = "FORMONTH" FORYEAR.Name = "FORYEAR" MONTHYEAR.Caption = " Сентябрь 2003 " MONTHYEAR.Name = "MONTHYEAR" ADD OBJECT label1 AS daylabel WITH ; Caption = " 1", ; Left = 2, ; Top = 38, ; Visible = .T., ; Name = "Label1" ADD OBJECT button1 AS daybutton WITH ; Top = 38, ; Left = 2, ; FontName = "MS Sans Serif", ; Caption = " 1", ; Name = "Button1" ADD OBJECT label2 AS daylabel WITH ; Caption = " 2", ; Left = 27, ; Top = 38, ; Visible = .T., ; Name = "Label2" ADD OBJECT button2 AS daybutton WITH ; Top = 38, ; Left = 27, ; FontName = "MS Sans Serif", ; Caption = " 2", ; Name = "Button2" ADD OBJECT label3 AS daylabel WITH ; Caption = " 3", ; Left = 52, ; Top = 38, ; Visible = .T., ; Name = "Label3" ADD OBJECT button3 AS daybutton WITH ; Top = 38, ; Left = 52, ; FontName = "MS Sans Serif", ; Caption = " 3", ; Name = "Button3" ADD OBJECT label4 AS daylabel WITH ; Caption = " 4", ; Left = 77, ; Top = 38, ; Visible = .T., ; Name = "Label4" ADD OBJECT button4 AS daybutton WITH ; Top = 38, ; Left = 77, ; FontName = "MS Sans Serif", ; Caption = " 4", ; Name = "Button4" ADD OBJECT label5 AS daylabel WITH ; Caption = " 5", ; Left = 102, ; Top = 38, ; Visible = .T., ; Name = "Label5" ADD OBJECT button5 AS daybutton WITH ; Top = 38, ; Left = 102, ; FontName = "MS Sans Serif", ; Caption = " 5", ; Name = "Button5" ADD OBJECT label6 AS daylabel WITH ; Caption = " 6", ; Left = 127, ; Top = 38, ; Visible = .T., ; Name = "Label6" ADD OBJECT button6 AS daybutton WITH ; Top = 38, ; Left = 127, ; FontName = "MS Sans Serif", ; Caption = " 6", ; Name = "Button6" ADD OBJECT label7 AS daylabel WITH ; Caption = " 7", ; Left = 152, ; Top = 38, ; Visible = .T., ; Name = "Label7" ADD OBJECT button7 AS daybutton WITH ; Top = 38, ; Left = 152, ; FontName = "MS Sans Serif", ; Caption = " 7", ; Name = "Button7" ADD OBJECT label8 AS daylabel WITH ; Caption = " 8", ; Left = 2, ; Top = 53, ; Visible = .T., ; Name = "Label8" ADD OBJECT button8 AS daybutton WITH ; Top = 53, ; Left = 2, ; FontName = "MS Sans Serif", ; Caption = " 8", ; Name = "Button8" ADD OBJECT label9 AS daylabel WITH ; Caption = " 9", ; Left = 27, ; Top = 53, ; Visible = .T., ; Name = "Label9" ADD OBJECT button9 AS daybutton WITH ; Top = 53, ; Left = 27, ; FontName = "MS Sans Serif", ; Caption = " 9", ; Name = "Button9" ADD OBJECT label10 AS daylabel WITH ; Caption = "10", ; Left = 52, ; Top = 53, ; Visible = .T., ; Name = "Label10" ADD OBJECT button10 AS daybutton WITH ; Top = 53, ; Left = 52, ; FontName = "MS Sans Serif", ; Caption = "10", ; Name = "Button10" ADD OBJECT label11 AS daylabel WITH ; Caption = "11", ; Left = 77, ; Top = 53, ; Visible = .T., ; Name = "Label11" ADD OBJECT button11 AS daybutton WITH ; Top = 53, ; Left = 77, ; FontName = "MS Sans Serif", ; Caption = "11", ; Name = "Button11" ADD OBJECT label12 AS daylabel WITH ; Caption = "12", ; Left = 102, ; Top = 53, ; Visible = .T., ; Name = "Label12" ADD OBJECT button12 AS daybutton WITH ; Top = 53, ; Left = 102, ; FontName = "MS Sans Serif", ; Caption = "12", ; Name = "Button12" ADD OBJECT label13 AS daylabel WITH ; Caption = "13", ; Left = 127, ; Top = 53, ; Visible = .T., ; Name = "Label13" ADD OBJECT button13 AS daybutton WITH ; Top = 53, ; Left = 127, ; FontName = "MS Sans Serif", ; Caption = "13", ; Name = "Button13" ADD OBJECT label14 AS daylabel WITH ; Caption = "14", ; Left = 152, ; Top = 53, ; Visible = .T., ; Name = "Label14" ADD OBJECT button14 AS daybutton WITH ; Top = 53, ; Left = 152, ; FontName = "MS Sans Serif", ; Caption = "14", ; Name = "Button14" ADD OBJECT label15 AS daylabel WITH ; Caption = "15", ; Left = 2, ; Top = 68, ; Visible = .T., ; Name = "Label15" ADD OBJECT button15 AS daybutton WITH ; Top = 68, ; Left = 2, ; FontName = "MS Sans Serif", ; Caption = "15", ; Name = "Button15" ADD OBJECT label16 AS daylabel WITH ; Caption = "16", ; Left = 27, ; Top = 68, ; Visible = .T., ; Name = "Label16" ADD OBJECT button16 AS daybutton WITH ; Top = 68, ; Left = 27, ; FontName = "MS Sans Serif", ; Caption = "16", ; Name = "Button16" ADD OBJECT label17 AS daylabel WITH ; Caption = "17", ; Left = 52, ; Top = 68, ; Visible = .T., ; Name = "Label17" ADD OBJECT button17 AS daybutton WITH ; Top = 68, ; Left = 52, ; FontName = "MS Sans Serif", ; Caption = "17", ; Name = "Button17" ADD OBJECT label18 AS daylabel WITH ; Caption = "18", ; Left = 77, ; Top = 68, ; Visible = .T., ; Name = "Label18" ADD OBJECT button18 AS daybutton WITH ; Top = 68, ; Left = 77, ; FontName = "MS Sans Serif", ; Caption = "18", ; Name = "Button18" ADD OBJECT label19 AS daylabel WITH ; Caption = "19", ; Left = 102, ; Top = 68, ; Visible = .T., ; Name = "Label19" ADD OBJECT button19 AS daybutton WITH ; Top = 68, ; Left = 102, ; FontName = "MS Sans Serif", ; Caption = "19", ; Name = "Button19" ADD OBJECT label20 AS daylabel WITH ; Caption = "20", ; Left = 127, ; Top = 68, ; Visible = .T., ; Name = "Label20" ADD OBJECT button20 AS daybutton WITH ; Top = 68, ; Left = 127, ; FontName = "MS Sans Serif", ; Caption = "20", ; Name = "Button20" ADD OBJECT label21 AS daylabel WITH ; Caption = "21", ; Left = 152, ; Top = 68, ; Visible = .T., ; Name = "Label21" ADD OBJECT button21 AS daybutton WITH ; Top = 68, ; Left = 152, ; FontName = "MS Sans Serif", ; Caption = "21", ; Name = "Button21" ADD OBJECT label22 AS daylabel WITH ; Caption = "22", ; Left = 2, ; Top = 83, ; Visible = .T., ; Name = "Label22" ADD OBJECT button22 AS daybutton WITH ; Top = 83, ; Left = 2, ; FontName = "MS Sans Serif", ; Caption = "22", ; Name = "Button22" ADD OBJECT label23 AS daylabel WITH ; Caption = "23", ; Left = 27, ; Top = 83, ; Visible = .T., ; Name = "Label23" ADD OBJECT button23 AS daybutton WITH ; Top = 83, ; Left = 27, ; FontName = "MS Sans Serif", ; Caption = "23", ; Name = "Button23" ADD OBJECT label24 AS daylabel WITH ; Caption = "24", ; Left = 52, ; Top = 83, ; Visible = .T., ; Name = "Label24" ADD OBJECT button24 AS daybutton WITH ; Top = 83, ; Left = 52, ; FontName = "MS Sans Serif", ; Caption = "24", ; Name = "Button24" ADD OBJECT label25 AS daylabel WITH ; Caption = "25", ; Left = 77, ; Top = 83, ; Visible = .T., ; Name = "Label25" ADD OBJECT button25 AS daybutton WITH ; Top = 83, ; Left = 77, ; FontName = "MS Sans Serif", ; Caption = "25", ; Name = "Button25" ADD OBJECT label26 AS daylabel WITH ; Caption = "26", ; Left = 102, ; Top = 83, ; Visible = .T., ; Name = "Label26" ADD OBJECT button26 AS daybutton WITH ; Top = 83, ; Left = 102, ; FontName = "MS Sans Serif", ; Caption = "26", ; Name = "Button26" ADD OBJECT label27 AS daylabel WITH ; Caption = "27", ; Left = 127, ; Top = 83, ; Visible = .T., ; Name = "Label27" ADD OBJECT button27 AS daybutton WITH ; Top = 83, ; Left = 127, ; FontName = "MS Sans Serif", ; Caption = "27", ; Name = "Button27" ADD OBJECT label28 AS daylabel WITH ; Caption = "28", ; Left = 152, ; Top = 83, ; Visible = .T., ; Name = "Label28" ADD OBJECT button28 AS daybutton WITH ; Top = 83, ; Left = 152, ; FontName = "MS Sans Serif", ; Caption = "28", ; Name = "Button28" ADD OBJECT label29 AS daylabel WITH ; Caption = "29", ; Left = 2, ; Top = 98, ; Visible = .T., ; Name = "Label29" ADD OBJECT button29 AS daybutton WITH ; Top = 98, ; Left = 2, ; FontName = "MS Sans Serif", ; Caption = "29", ; Name = "Button29" ADD OBJECT label30 AS daylabel WITH ; Caption = "30", ; Left = 27, ; Top = 98, ; Visible = .T., ; Name = "Label30" ADD OBJECT button30 AS daybutton WITH ; Top = 98, ; Left = 27, ; FontName = "MS Sans Serif", ; Caption = "30", ; Name = "Button30" ADD OBJECT label31 AS daylabel WITH ; Left = 52, ; Top = 98, ; Visible = .F., ; Name = "Label31" ADD OBJECT button31 AS daybutton WITH ; Top = 98, ; Left = 52, ; FontName = "MS Sans Serif", ; Name = "Button31" ADD OBJECT label32 AS daylabel WITH ; Left = 77, ; Top = 98, ; Visible = .F., ; Name = "Label32" ADD OBJECT button32 AS daybutton WITH ; Top = 98, ; Left = 77, ; FontName = "MS Sans Serif", ; Name = "Button32" ADD OBJECT label33 AS daylabel WITH ; Left = 102, ; Top = 98, ; Visible = .F., ; Name = "Label33" ADD OBJECT button33 AS daybutton WITH ; Top = 98, ; Left = 102, ; FontName = "MS Sans Serif", ; Name = "Button33" ADD OBJECT label34 AS daylabel WITH ; Left = 127, ; Top = 98, ; Visible = .F., ; Name = "Label34" ADD OBJECT button34 AS daybutton WITH ; Top = 98, ; Left = 127, ; FontName = "MS Sans Serif", ; Name = "Button34" ADD OBJECT label35 AS daylabel WITH ; Left = 152, ; Top = 98, ; Visible = .F., ; Name = "Label35" ADD OBJECT button35 AS daybutton WITH ; Top = 98, ; Left = 152, ; FontName = "MS Sans Serif", ; Name = "Button35" ADD OBJECT label36 AS daylabel WITH ; Left = 2, ; Top = 113, ; Visible = .F., ; Name = "Label36" ADD OBJECT button36 AS daybutton WITH ; Top = 113, ; Left = 2, ; FontName = "MS Sans Serif", ; Name = "Button36" ADD OBJECT label37 AS daylabel WITH ; Left = 27, ; Top = 113, ; Visible = .F., ; Name = "Label37" ADD OBJECT button37 AS daybutton WITH ; Top = 113, ; Left = 27, ; FontName = "MS Sans Serif", ; Name = "Button37" ENDDEFINE * *-- EndDefine: fcalendar ************************************************** ************************************************** *-- Class: daybutton (d:\jazyx\project\callstat\calend3.vcx) *-- ParentClass: commandbutton *-- BaseClass: commandbutton *-- Time Stamp: 01/06/05 04:09:13 AM * DEFINE CLASS daybutton AS commandbutton Height = 15 Width = 25 Caption = "" StatusBarText = "MouseClick or Enter to select Date" Style = 1 ToolTipText = "" TerminateRead = .T. Visible = .F. Name = "daybutton" PROCEDURE GotFocus ThisForm.CurrentDay = ctod(This.Caption+'/'+str(ThisForm.SelMonth,2)+'/'+str(ThisForm.SelYear,4)) ENDPROC PROCEDURE Click ThisForm.DateSelection(This.Caption) ENDPROC ENDDEFINE * *-- EndDefine: daybutton ************************************************** ************************************************** *-- Class: daylabel (d:\jazyx\project\callstat\calend3.vcx) *-- ParentClass: label *-- BaseClass: label *-- Time Stamp: 01/06/05 03:49:06 AM * DEFINE CLASS daylabel AS label FontName = "MS Sans Serif" FontSize = 8 BackStyle = 0 Caption = "" Comment = "Нашлепка сверху на невидимую клавишу" Height = 15 Width = 25 Name = "daylabel" ENDDEFINE * *-- EndDefine: daylabel ************************************************** ************************************************** *-- Class: tcalendar (d:\jazyx\project\callstat\calend3.vcx) *-- ParentClass: container *-- BaseClass: container *-- Time Stamp: 01/10/05 02:49:11 AM *-- Компонент для ввода или выбора даты, вызывает форму-календарь * DEFINE CLASS tcalendar AS container Width = 90 Height = 23 BackStyle = 0 BorderWidth = 0 Name = "tcalendar" ADD OBJECT date AS textbox WITH ; FontName = "MS Sans Serif", ; FontSize = 8, ; Alignment = 0, ; Value = { . . }, ; Format = "D", ; Height = 23, ; InputMask = "", ; ReadOnly = .F., ; Width = 67, ; SelectedBackColor = RGB(0,0,128), ; Name = "Date" ADD OBJECT choosedate AS commandbutton WITH ; Left = 67, ; Height = 23, ; Width = 23, ; FontName = "MS Sans Serif", ; FontSize = 8, ; Picture = "calend31.bmp", ; Caption = "", ; ToolTipText = "Выбор даты", ; Name = "ChooseDate" PROCEDURE Init set classlib to calend3.vcx additive ENDPROC PROCEDURE date.KeyPress LPARAMETERS nKeyCode, nShiftAltCtrl if nKeyCode = 160 && Alt+DownArrow This.Parent.ChooseDate.Click endif ENDPROC PROCEDURE choosedate.KeyPress LPARAMETERS nKeyCode, nShiftAltCtrl if nKeyCode = 160 && Alt+DownArrow This.Click endif ENDPROC PROCEDURE choosedate.Click *local Dt, Tp, Lft, frm *Dt = iif(empty(This.Parent.Date.Value),date(),This.Parent.Date.Value) *Tp = ThisForm.Top + This.Parent.Top + This.Top + This.Parent.Height + 46 *Lft = ThisForm.Left+This.Parent.Left+This.Left+This.Width-174 &&-frmCalendar.Width+2 *frmCalendar.Left = iif(frmCalendar.Left<0,ThisForm.Left+This.Parent.Left+4,frmCalendar.Left) *DO FORM FCldr NAME m.frm WITH Dt, Tp, Lft TO Dt LINKED *This.Parent.Date.Value = Dt *release m.frm private SelDate SelDate={..} *frmCalendar = CreateObject('Calend3.FCalendar', iif(empty(This.Parent.Date.Value),date(),This.Parent.Date.Value)) frmCalendar = CreateObject('Calend3.Calendar', iif(empty(This.Parent.Date.Value),date(),This.Parent.Date.Value)) frmCalendar.Visible = .f. frmCalendar.BackColor = This.Parent.Parent.BackColor * Вычисление координат "под собой" frmCalendar.Top = ThisForm.Top+This.Parent.Top+This.Top+This.Parent.Height + 46 frmCalendar.Left = ThisForm.Left+This.Parent.Left+This.Left+This.Width-frmCalendar.Width+3 *frmCalendar.Left = iif(frmCalendar.Left<0,ThisForm.Left+This.Parent.Left+4,frmCalendar.Left) frmCalendar.Left = iif(frmCalendar.Left<0,2,frmCalendar.Left) frmCalendar.Show(1) && Modal This.Parent.Date.Value=m.SelDate ENDPROC ENDDEFINE * *-- EndDefine: tcalendar ************************************************** ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2005, 13:49 |
|
||
|
Класс куда-то спрятался.
|
|||
|---|---|---|---|
|
#18+
А все-таки интересно - чем обычный календарь не подошел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2005, 16:05 |
|
||
|
Класс куда-то спрятался.
|
|||
|---|---|---|---|
|
#18+
Crispy: А я его и не пробовал ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2005, 18:07 |
|
||
|
Класс куда-то спрятался.
|
|||
|---|---|---|---|
|
#18+
если ещё надо: в utils.prg в определение класса DEFINE CLASS cDate AS FORM добавь строку: desktop=.t. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2006, 10:42 |
|
||
|
Класс куда-то спрятался.
|
|||
|---|---|---|---|
|
#18+
посмотри там же другие классы-календари ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2006, 01:33 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33232657&tid=1590858]: |
0ms |
get settings: |
4ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
150ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 428ms |

| 0 / 0 |
