mIVERSION = 3.00_sidebarPixelsClass7 _container_sidebarETop = 312 Left = -51 Width = 48 Height = 48 Name = "scrollpage" _sidebar scrollpageClassribbonPixels!Arial, 0, 9, 5, 15, 12, 32, 3, 0 Pixels!Arial, 0, 9, 5, 15, 12, 32, 3, 0 ribbonformbasePixels3 foxribbon.vcxPixels1!Arial, 0, 9, 5, 15, 12, 32, 3, 0  _titlebarmaxClass17 _titlebar _titlebarmax container84 foxribbon.vcx_menubarPixelsClass4 container_menubar_menubarform13Image1111imageimage_menubarline31PROCEDURE MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH THISFORM IF nButton = 1 AND .WINDOWSTATE = 0 AND .MOVABLE AND THIS.PARENT.MOVABLE SendMessage(THISFORM.HWND, 0x202, 0, 0) SendMessage(THISFORM.HWND, 0x112, 0xF012, 0) ENDIF ENDWITH ENDPROC MStretch = 2 Height = 16 Left = -27 Top = 12 Width = 16 Name = "Image1"  bottomlinelinelineClassshapeCHeight = 0 Left = -61 Top = 20 Width = 48 Name = "bottomline" ribbonformbasePTop = 48 Left = -40 Height = 27 Width = 27 Caption = "" Name = "Command1" _panelClassribboncommandbutton8ribbonsettings6Pixels2z4!Arial, 0, 9, 5, 15, 12, 32, 3, 0 Pixels9Class531ClassPixels11Classcustomribbonsettings Ribbon classClass22 containerribbonribbonTimer1timer931z34timerx3ribbonLabel6labellabelx45Pixelsribboncustom1x5 container foxribbon.vcx _container_sidebar.scrollbase_verticalscrollbar container foxribbon.vcx_verticalscrollbarClassribbonseparatorClass4line]Top = 60 Left = -28 Height = 23 Width = 23 Enabled = .F. Interval = 1 Name = "Timer1" _day245line container ribbonbuttonhPixels _bandmenu containerx6PixelsClass container1!Arial, 0, 9, 5, 15, 12, 32, 3, 0 ribbonformmsgboxform foxribbon.vcxshape2formline ribbonbuttonvClass7Height = 0 Width = 100 Name = "ribbonmenuseparator" line *redraw !Arial, 0, 9, 5, 15, 12, 32, 3, 0 linez2 _bandmenu _bandmenu _bandmenuribbonbuttongrouplinez1Pixels Ribbonlabel15 ribbonchecklabel7line foxribbon.vcxribbonbuttongroup1imageline1ribbonbuttongroupribbonmenuseparatorribboncommandbutton!Arial, 0, 9, 5, 15, 12, 32, 3, 0  ribbonbuttonhClassMonth21linelineNHeight = 36 Left = -18 Top = 104 Width = 0 Name = "Ribbonmenuseparator2" lineline1ribbonbuttongrouplineClasslinelinePixelsAutoSize = .T. Caption = "Without wide _TitleBar" Height = 17 Left = 400 Top = 125 Visible = .F. Width = 124 Name = "Label6" Shape3shape10 _timepicker51Image11line foxribbon.vcxSHeight = 3 Left = 11 Top = 8 Width = 0 BorderColor = 255,255,255 Name = "z4" shape17Height = 0 Left = 7 Top = 7 Width = 1 Name = "x3" line1!Arial, 0, 8, 5, 14, 11, 29, 3, 0 Pixelscheckbox ribboncheckimagelineshapeo9SHeight = 0 Left = 8 Top = 11 Width = 4 BorderColor = 255,255,255 Name = "z3" ribbonbuttongroupribbonbuttongrouplinex26_daylinePixelsribbonbuttongroupribbonbuttongrouplineClassribbonbuttongroupline ribbonlabelm30Ribbonmenuseparator2ribbonmenuseparatorRibbonmenuseparator1ribbonmenuseparatorshapeLabel4Classcheckbox_Titleo8labelPixelsClass8Height = 0 Left = 10 Top = 7 Width = 1 Name = "x4" ribbonbuttongroup foxribbon.vcxline81_Shape1ribbonformmsgboxpanel1PixelsPixelsw6 _pageframeh containerPointw5ribbonformmsgboxlabel17Classo7Pixels _pageframehribbonformmsgboxribbonformmsgbox container!Arial, 0, 8, 5, 14, 11, 29, 3, 0 ribbonoptiongrouplabelPixelsw4ribbon _pageframeh _pageframehPixelsTimer1Shape1w3shapeClassPixels!Arial, 0, 9, 5, 15, 12, 32, 3, 0 timertimer_carouselpoint8PixelsClassshapeBArial, 0, 8, 5, 14, 11, 29, 3, 0 Arial, 0, 9, 5, 15, 12, 32, 3, 0 PixelsClass _container _timepicker _timepickerlabel1 foxribbon.vcxx68Height = 0 Left = 7 Top = 10 Width = 1 Name = "x5" ribbonbuttongrouplineline_panel container_carouselpoint _pageframehCommand1ShadowlabelPixels_carouselpointw2Command1shaperibbonbuttongroupx5 foxribbon.vcxShape1_carouselpointshapeshaperibbonseparatorribbon_groupseparator commandbutton containerLabel5o5x45shape _pageframeh_panelx1ribbonformbasew1 commandbuttonLine2Line1lineClass }%3EAUUInit,12) _bandmenushapes30o6ribbonformmsgboxtimerlabel1_dayd1 _pageframehshapePixelsPROCEDURE Init DODEFAULT() WITH THIS .HEIGHT = 80 .Image2.HEIGHT = .HEIGHT .Shape1.Height = .HEIGHT .RibbonLabel1.VISIBLE = .F. ENDWITH ENDPROC shape_Shape11x3 _pageframehline _borderformClassshape7Height = 0 Left = 4 Top = 3 Width = 6 Name = "x2" labellined2Shape1shapeshape0PROCEDURE Timer THISFORM.RELEASE() ENDPROC ribbon commandbutton _borderform]Top = 36 Left = -35 Height = 23 Width = 23 Enabled = .F. Interval = 1 Name = "Timer1"  containerline1Class>Height = 0 Left = -39 Top = 48 Width = 36 Name = "Line2" Image23Class *redraw imageLine3Month5Label4labelMHeight = 36 Left = -26 Top = 96 Width = 0 Name = "Ribbonmenuseparator1" label2h20shape>Height = 0 Left = -47 Top = 40 Width = 36 Name = "Line1" ribbonrPROCEDURE redraw THIS.BORDERCOLOR = _SCREEN.oRibbon.LinesColor ENDPROC PROCEDURE Init this.ReDraw() ENDPROC ribbonmenuseparator commandbutton *redraw 1pageclass *redraw Timer1Line10ribbono5 containeri9 ribbonlistboxPixelstimeri3Line6lineline_dayribbonlabelLine9linem10m00x2_daylinei4x1lineClassribbonseparatorribbon_groupseparatorimage!Arial, 0, 9, 5, 15, 12, 32, 3, 0 Pixelsz6Class_sidebarClassshapePHeight = 0 Left = 400 Top = 118 Visible = .F. Width = 400 Name = "Line10"  scrollbaseo3 containerribbonribbonformbaseimagePixelslinePTop = 60 Left = -23 Height = 13 Width = 13 Curvature = 5 Name = "_Shape1"  container!Arial, 0, 9, 5, 15, 12, 32, 3, 0 Line8ribbonseparatorLine2ribbonformmenuform'_idtranslate *redraw *thisenabled 0nheight lminimize lminimized ^agroups[1,1]  container _container container ribboncomboshape optiongroupribbonoptiongroupo4ribbonseparatorlineline container containerLabel1Classimagez5;Height = 68 Left = 2 Top = 0 Width = 0 Name = "Line3" ribbonseparatorlabelClass7Height = 7 Left = 3 Top = 3 Width = 0 Name = "x1" OHeight = 0 Left = 400 Top = 115 Visible = .F. Width = 400 Name = "Line6" linei6Pixelsribbonformbaseribbonformmenud3@Width = 14 Height = 14 pageclass = Name = "_carouselpoint"  foxribbon.vcx_sidebar15Line1lineGWidth = 31 Height = 200 BackColor = 196,255,255 Name = "_bandmenu" formPixelso8_dayd4lined5 _messageboxz4]Top = 0 Left = 0 Height = 14 Width = 14 BorderWidth = 1 Curvature = 99 Name = "Point"  containerhTop = 26 Left = 0 Height = 224 Width = 400 Curvature = 7 BackColor = 128,255,255 Name = "Shape1" line *redraw label ribbonhelp container ribbonhelpMHeight = 0 Left = 28 Top = 21 Width = 166 Name = "Ribbonmenuseparator1"  ribbonhelpRibbonmenuseparator1line foxribbon.vcxribbonmenuseparatorimage container _statusbarribbonformmenu _bandmenu16 containerlineYStretch = 1 BackStyle = 0 Height = 16 Left = 6 Top = 4 Width = 16 Name = "Image1"  ribbonhelpImage1image ribbonhelpTimer1timer containerribbonLabel3labellabelribbonm20 foxribbon.vcxLabelimagem00 _statusbarz3Line7linelinePTop = 8 Left = 8 Height = 3 Width = 3 BackColor = 100,100,100 Name = "x6"  container foxribbon.vcxribbonLine5Ribboncommandbutton1 foxribbon.vcx _bandmenu8_statusbar.oresizeshapeshapeKPROCEDURE Timer THIS.PARENT.VISIBLE = .T. THIS.ENABLED = .F. ENDPROC timer ribbonhelpLabel2labellabel@Height = 25 Width = 25 BorderWidth = 6 Name = "_borderform" yAutoSize = .T. Caption = "RibbonTabs zone" Height = 17 Left = 5 Top = 4 Visible = .F. Width = 99 Name = "Label4" shapez2;Height = 68 Left = 1 Top = 0 Width = 0 Name = "Line2" _scrollbarbuttonlabelPixels_statusbar.oresizeOTop = 84 Left = 72 Height = 23 Width = 23 Interval = 500 Name = "Timer1" Label1yTop = 72 Left = -32 Height = 25 Width = 25 BorderStyle = 0 Curvature = 5 BackColor = 128,128,128 Name = "Shadow" shape foxribbon.vcxtextbox foxribbon.vcx!Arial, 0, 9, 5, 15, 12, 32, 3, 0 _gridClass _SPLITTER1 container51 container_scrollbarbutton containerz1Lfirsttabclick lshadow showanimationpage lcurvature *setline *redraw _statusbar.oresizeshape_statusbar.oresizeshapeshapeshape}Width = 400 Height = 250 firsttabclick = lshadow = .T. showanimationpage = .T. lcurvature = .T. Name = "_pageframeh" ribboncommandbuttono3Class_statusbar.oresizeshape_statusbar.oresizeshapelabel_calendar.CntYearMonthShape1shape_statusbar.oresizeshapeshape_statusbar.oresize foxribbon.vcxClasslinePixelslinelabelshapeshape_statusbar.oresizeshapeshapetextboxribboncommandbuttonshapetextboxETop = 252 Left = -51 Width = 48 Height = 48 Name = "scrollbase" bTop = 0 Left = 200 Height = 400 Name = "_SPLITTER1" Label1.Top = 189 Label1.Name = "Label1"  foxribbon.vcximagePixelsline_calendar.CntYearMonthribbon ribbonpage container_statusbar.oresize foxribbon.vcx _timepicker ribbonpageribbonformdatetime foxribbon.vcx Ribbonlabel3*redraw *thisenabled  containerLabel2_day foxribbon.vcx containershapeshape_statusbar.oresizeshaperibboncommandbutton ribbonlabel container _timepicker Ribbonlabel2 foxribbon.vcxshapee9o2Pixelsgrid_grid *redraw gridi9labellabelshapeClassribbonLabel1_datetimepicker_datetimepickero1labellabelribbonLine4 ribbonhelplabel ribbonhelpShape1shapeoTop = 13 Left = 6 Height = 2 Width = 2 BorderStyle = 0 Curvature = 0 BackColor = 0,128,255 Name = "x6" linee9_datetimepickerRibboncommandbutton1e8_daylineribbonstartbuttonRHeight = 0 Left = 5 Top = 4 Width = 6 BorderColor = 255,255,255 Name = "z2" !Arial, 0, 9, 5, 15, 12, 32, 3, 0  _titlebar container _titlebar _titlebarCommand1 commandbutton commandbutton foxribbon.vcx containerlineribbonlinei1e7Line3shape_statusbar.oresize _statusbaroresize container containershapeClass_dayd6shapeShape2lineribbonShape2Image1OWidth = 207 Height = 92 BackStyle = 0 BorderWidth = 0 Name = "ribbonpage" RHeight = 7 Left = 4 Top = 4 Width = 0 BorderColor = 255,255,255 Name = "z1" shape ribbonlabeli5shaperibbonImage1imagei4Pixels1PROCEDURE Click THIS.PARENT.CLICK() ENDPROC imagePixelsNHeight = 0 Left = 400 Top = 26 Visible = .F. Width = 400 Name = "Line9" form_48PixelsoTop = 9 Left = 10 Height = 2 Width = 2 BorderStyle = 0 Curvature = 0 BackColor = 0,128,255 Name = "x5" imageribbon containerd7NHeight = 0 Left = 400 Top = 23 Visible = .F. Width = 400 Name = "Line8" o9Timer2uTop = 119 Left = 400 Height = 29 Width = 400 BorderStyle = 0 Visible = .F. SpecialEffect = 1 Name = "Shape3" e6 foxribbon.vcxribbonformdatetime containerClassMHeight = 0 Left = 0 Top = 145 Visible = .F. Width = 400 Name = "Line7" Shape1shapepTop = 13 Left = 10 Height = 2 Width = 2 BorderStyle = 0 Curvature = 0 BackColor = 0,128,255 Name = "x4" shape container container _statusbarimage _statusbarLine1 _timepickerRibbontextbox3 _titlebartextboxribbonlineAutoSize = .T. Caption = "RibbonGroups zone" Height = 17 Left = 400 Top = 60 Visible = .F. Width = 112 Name = "Label5"  container container;Height = 68 Left = 0 Top = 0 Width = 0 Name = "Line1" _scrollbarbutton_dayline }%3EAUUInit,18) ribbonbuttonv{AutoSize = .T. Caption = "RibbonTabs zone" Height = 17 Left = 400 Top = 4 Visible = .F. Width = 99 Name = "Label4" Height = 22 Width = 106 FontSize = 8 Alignment = 0 BackStyle = 0 Caption = "RibbonCheck" _idtranslate = 0 Name = "ribboncheck" Line1 _timepickerlinelineribbonLine2line foxribbon.vcxtimere5 gradient1 containerlabelh10UFontSize = 8 Anchor = 8 Caption = "AM" Left = 74 Top = 4 Name = "Ribbonlabel3" m10e4 _gradientm40Pixels_32marc foxribbon.vcxClassImage2shapeLHeight = 0 Left = 0 Top = 59 Visible = .F. Width = 400 Name = "Line5" _dayvWordWrap = .T. BackStyle = 0 Caption = "Help text" Height = 44 Left = 28 Top = 23 Width = 166 Name = "Label2"  containerline_64 ribbonhelp containershape foxribbon.vcx containerribboncommandbuttonshape container ribbontextboxRibbontextbox2imagei1e4_datetimepickerRibbontextbox1 foxribbon.vcx_day1 containerPixels foxribbon.vcxClass container_dayImage1form@Height = 0 Left = -69 Top = 12 Width = 48 Name = "topline" _menubartopline|showtopline showbottomline showbackimage movable Specifies if an object can be moved at run time by the user. *redraw _daycntbarraPixelsClass containercntbarracntbarraImage1imagebarimage foxribbon.vcx ribbontextbox_panel[Top = 36 Left = -28 Height = 24 Width = 24 Caption = "" Style = 1 Name = "Command1" 1*redraw *thisenabled *setvalue *getvalue imagePixelsClasspTop = 17 Left = 10 Height = 2 Width = 2 BorderStyle = 0 Curvature = 0 BackColor = 0,128,255 Name = "x3"  _statusbar Ribbonlabel1 containerShape1 _timepicker_scrollbarbutton container container ribbontextbox ribbonlabel1 ribbonlabelformlabelPixelsMarlett _datepicker container _datepickerlabelJFontBold = .T. Caption = ":" Left = 47 Top = 3 Name = "Ribbonlabel2"  foxribbon.vcx7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC timer containerlabel _datepicker!Arial, 0, 9, 5, 15, 12, 32, 3, 0 ClasslabelPixels _timepickerRibbontextbox1 foxribbon.vcxs40Shape1_day3!Arial, 0, 9, 5, 15, 12, 32, 3, 0  _messagebox _messagebox _calendar container _calendar _calendar MonthandyearlabelImage2label ribbontextboxh00image _calendarRibbonDateTime ribbonbuttonv container foxribbon.vcx!Arial, 0, 9, 5, 15, 12, 32, 3, 0  ribbonbuttonvo6JFontBold = .T. Caption = ":" Left = 22 Top = 3 Name = "ribbonlabel1" e3 _messagebox _progressbar1 container foxribbon.vcximage _calendarShape1 foxribbon.vcx foxribbon.vcx ribbonlabelPixelse3ClassshapenTop = 11 Left = -44 Height = 37 Width = 35 BorderWidth = 1 BorderColor = 128,128,128 Name = "_Shape11" _verticalscrollbar container containerimagee6e1Pixelsribboncommandbutton foxribbon.vcx_verticalscrollbar _sidebartitle _gradient _sidebartitleribboncommandbutton _messageboxshowbackimage *redraw  _scrolltimero4Classo2s20Class_verticalscrollbar BottomArrowRibbonMonthYear containerlabel8PROCEDURE redraw THIS.FONTNAME = "Marlett" ENDPROC  ribbonlabelHFontSize = 8 Caption = "Fx" Left = 2 Top = 1 Name = "Ribbonlabel2" line cntmenuitemPixelsshape containerlabelxShape2 _splitter_sidebar_Title2 container foxribbon.vcx _sidebartitleshape foxribbon.vcx foxribbon.vcxribboncommandbutton ribbonbuttonvlabelClassTimer1m20m30 _progressbarshapeTopArrow _gradient_day _calendarRibboncommandbutton2 ribbonlabel container foxribbon.vcxlabelOThanks to Jim Edgar. http://www.universalthread.com/ViewPageArticle.aspx?ID=555e8h20timer_dayribboncommandbutton _calendar container container _titlebartimer_16o7timershapeRibboncommandbutton1 container foxribbon.vcx _gradientlineimage_scrollbarbutton_sidebarh10PixelsBArial, 0, 8, 5, 14, 11, 29, 3, 0 Arial, 0, 9, 5, 15, 12, 32, 3, 0 textboxtimerWidth = 200 Height = 60 BackColor = 128,255,255 showtopline = .F. showbottomline = .F. showbackimage = .T. movable = .F. Name = "_menubar"  containerTseconds Specifies if seconds are displayed. referencedate *getvalue *setvalue o1image+Height = 200 Width = 320 Name = "_grid" shaperibbonformwaitClassi5 _menutabsPixels container _menutabs _menutabsShape2shapeshapeline Ribbonlabel2 _calendar}AutoSize = .T. Caption = "RibbonGroups zone" Height = 17 Left = 3 Top = 92 Visible = .F. Width = 112 Name = "Label3" 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  containerImage3i8s50ribbonformtimeribbonformbase foxribbon.vcx ribbonbuttonv Ribbonlabel1 cntbarra.barribboncommandbutton _calendarZPROCEDURE Init WITH THIS .BACKCOLOR = _SCREEN.oRibbon.ShadowColor ENDWITH ENDPROC Ribbonmenuseparator2sAutoSize = .T. Caption = "_TitleBar" Height = 17 Left = 3 Top = 7 Visible = .F. Width = 51 Name = "Label1"  foxribbon.vcxribbonmenuseparatorRibbonmenuseparator1 _progressbar14_daySlidewSeconds = 0 Alignment = 3 Height = 22 Left = 0 SelectOnEntry = .T. Top = 0 Width = 137 Name = "Ribbontextbox1" ribbonformtimeimageMonth11Image1 containerClass_day _messagebox _calendarshapeshapeimageimage _messageboximage containerImage1s10i2line foxribbon.vcx foxribbon.vcx ribbonlabelimageOptAmPm _calendartimer~PROCEDURE Timer WITH THISFORM .nTime = .nTime + 1 ._ProGressBar1.Progress(.nTime, .Timer1.INTERVAL) ENDWITH ENDPROC ribbonmenuseparator _calendarClassPTop = 131 Left = -36 Height = 23 Width = 23 Enabled = .F. Name = "Timer2" imagee5_daylabellabel _calendarlabellabelHeight = 94 Name = "ribbon_groupseparator" Line1.Height = 94 Line1.Name = "Line1" Line2.Height = 94 Line2.Name = "Line2" LINE3.Height = 94 LINE3.Name = "LINE3" PROCEDURE redraw IF _SCREEN.oRibbon.SeeOutlineGroup THIS.VISIBLE = .F. ELSE THIS.VISIBLE = .T. ENDIF DODEFAULT() ENDPROC PROCEDURE Init DODEFAULT() THIS.TOP = 0 ENDPROC ribbonformtime optiongroup _sidebartitle Ribbonlabel2 foxribbon.vcx ribbonlabel _gradient container _scrolltimer foxribbon.vcxh00image optiongroupimagePixels7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC e2form containerribbonformtime containere1ribbonformwaitlabel _calendarCommand1qFontBold = .T. BackStyle = 0 Caption = "Title" Height = 17 Left = 28 Top = 4 Width = 166 Name = "Label1" `Top = 108 Left = -114 Height = 27 Width = 27 Caption = "" TabIndex = 1 Name = "Command1" NStretch = 2 Height = 16 Left = -114 Top = 48 Width = 16 Name = "Image2"  _titlebarZPROCEDURE Click WITH THIS.PARENT .ThisDate = DATE() ._Refresh() ENDWITH ENDPROC _verticalscrollbar _messageboxImage1labellabelLHeight = 0 Left = 0 Top = 56 Visible = .F. Width = 400 Name = "Line4" 4Width = 155 Height = 22 Name = "_datetimepicker" Ribboncommandbutton1 foxribbon.vcx _datepicker _calendarLHeight = 0 Left = 0 Top = 30 Visible = .F. Width = 400 Name = "Line3" ribbonstartbutton containerPROCEDURE Click WITH THIS.PARENT .CntYearMonth.cYear.CAPTION = TRANSFORM(.nYear, "9999") .CntYearMonth.VISIBLE = .T. .CntYearMonth.ZORDER(0) ENDWITH ENDPROC  _titlebarPixelsTop = 37 Left = 228 Width = 132 Height = 11 Visible = .F. Name = "_progressbar1" SHAPE1.Name = "SHAPE1" IMAGE1.Name = "IMAGE1" RIBBONLABEL1.Name = "RIBBONLABEL1" image foxribbon.vcxribboncommandbuttonVPROCEDURE Timer _SCREEN.oRibbon.nOptionMessageBox = -1 THISFORM.RELEASE ENDPROC image _messageboxRibboncommandbutton3ribboncommandbutton containerzAutoSize = .T. Caption = "RibbonTabs zone" Height = 17 Left = 3 Top = 35 Visible = .F. Width = 99 Name = "Label2" !Arial, 0, 9, 5, 15, 12, 32, 3, 0 PROCEDURE Init ENDPROC m50labeli7ribbonformtimeimageimage ribbonbuttonv ribbonbuttonhShadowribbonformwaitm50_day foxribbon.vcxribboncommandbutton ribbonbuttonv_day container foxribbon.vcxMHeight = 113 Left = 19 Top = 40 Width = 0 Name = "Ribbonmenuseparator2" MHeight = 0 Left = 22 Top = 37 Width = 146 Name = "Ribbonmenuseparator1" hTop = 0 Left = 0 Height = 72 Width = 200 Curvature = 5 BorderColor = 128,128,128 Name = "Shape1"  k%ZpjUTMarlettUTHISFONTNAMEredraw,1q2-) foxribbon.vcxClassribbonformtime containerImage3ribbonformcalendargTop = 132 Left = -137 Height = 48 Width = 133 BorderStyle = 0 SpecialEffect = 1 Name = "Shape2"  Ribbonlabel2 ribbonbuttonv commandbutton commandbuttonm40imagelabellabellabel _calendarshapeshape _calendar _messageboxTop = 28 Left = 83 Height = 22 Width = 24 BackStyle = 0 BorderWidth = 2 Visible = .F. BorderColor = 0,255,0 Name = "marc" Timer1timer foxribbon.vcxhWidth = 203 Height = 75 BackStyle = 0 BorderWidth = 0 BackColor = 255,255,255 Name = "ribbonhelp" timerlabel 6v%XmgUCUTHISPARENTCLICKClick,12&) ribbonbuttonv ribbonbuttonvimagePixelsOTop = 36 Left = 60 Height = 23 Width = 23 Interval = 500 Name = "Timer1"  _calendar containerlabel _calendarlabel ribbonbuttonv containerribbonstartbuttonribbonstartbuttonImage3imagelabel _calendarlabellabel _calendarlabel containerPixelsAutoSize = .F. FontItalic = .T. FontName = "Arial" FontSize = 8 Alignment = 1 BackStyle = 0 Caption = "W6" Height = 16 Left = 3 Top = 137 Width = 13 TabIndex = 12 Name = "w6" labelMonth3 _calendarlabellabel _calendarlabellabel _calendarlabellabel _calendarTop = 12 Left = 12 Height = 63 Width = 191 BorderStyle = 0 Curvature = 5 BackColor = 143,143,143 BorderColor = 163,163,163 Name = "Shape2" !Arial, 0, 9, 5, 15, 12, 32, 3, 0 Classlabel container cntmenuitem cntmenuitem imgSubmenuimageimage cntmenuitem foxribbon.vcx ribbontab foxribbon.vcx ribbonlabelAutoSize = .F. FontName = "Marlett" FontSize = 8 Caption = "6" Height = 13 Left = 52 Top = 3 Width = 11 Name = "Marlett"  containercheckbox_day42 container foxribbon.vcx _calendar_day41_dayspinnerNStretch = 2 Height = 16 Left = -34 Top = 132 Width = 16 Name = "Image1" ribbonformwait Ribbonlabel1ribboncommandbuttonimage _menutabsribbonstartbuttonshape container_day container _calendar foxribbon.vcx ribbonlabelribbonformwaitimage containerribbonformdatetime _splitter foxribbon.vcxNPROCEDURE Click THIS.PARENT.PARENT.nMonth = 6 THIS.PARENT.CLICK() ENDPROC  containerribbonformtime foxribbon.vcximage foxribbon.vcx_day40 container _calendar foxribbon.vcx foxribbon.vcx_day39 container foxribbon.vcx ScrollTimerqPROCEDURE Click IF THIS.PARENT.ENABLED THIS.CAPTION = IIF(THIS.CAPTION = "AM", "PM", "AM") ENDIF ENDPROC ribboncommandbuttonImage2e2Classi3ribboncommandbuttontimer container_dayPROCEDURE Init WITH THIS .BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .BORDERCOLOR = _SCREEN.oRibbon.LinesColor ENDWITH ENDPROC IAutoSize = .T. Alignment = 0 Left = 5 Top = 4 Name = "Ribbonlabel1"  container foxribbon.vcx containerBArial, 0, 9, 5, 15, 12, 32, 3, 0 Arial, 0, 8, 5, 14, 11, 29, 3, 0 ribbonformtimes50 foxribbon.vcx_day container foxribbon.vcx containerribboncommandbutton _progressbar1i7form7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribboncommandbuttonImage2 foxribbon.vcx container _calendar_daylabel_day38 container _calendarribbonformtimeClass foxribbon.vcx foxribbon.vcx_day_dayPicture = ..\..\..\proyecto\pcont\tabmenu\images\popupdn.bmp BackStyle = 0 Height = 6 Left = 123 Top = 12 Visible = .F. Width = 7 Name = "imgSubmenu"  lblHotKeylabellabelimageMonth6_day37 container foxribbon.vcx _calendar_day36 containerBArial, 0, 8, 5, 14, 11, 29, 3, 0 Arial, 0, 9, 5, 15, 12, 32, 3, 0  containerImage1form foxribbon.vcx!Arial, 0, 9, 5, 15, 12, 32, 3, 0 {Top = 36 Left = 36 Width = 16 Height = 16 BackStyle = 0 horizontal = .T. Name = "gradient1" Image1.Name = "Image1"  ribbontab7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  foxribbon.vcx container foxribbon.vcxPixelsPTop = 131 Left = -36 Height = 23 Width = 23 Enabled = .F. Name = "Timer1" Ribboncommandbutton2 _messageboxribbonlabellinkPixelsPicture = defaultimages\warningimage.png BackStyle = 0 Height = 32 Left = -41 Top = 126 Visible = .F. Width = 32 Name = "_48" imageClassqTop = 59 Left = 22 Name = "_day8" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" ribboncommandbutton containerNPROCEDURE Click THIS.PARENT.PARENT.nMonth = 2 THIS.PARENT.CLICK() ENDPROC Classshape7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC Ribbontextbox1 foxribbon.vcx ribbontextbox container container _container:calform *redraw *thisenabled *setvalue *getvalue s40@Top = 26 Left = 146 Height = 23 Width = 23 Name = "Timer1"  containershape_panel_Image1imageimage_panelnAutoSize = .F. FontBold = .T. Alignment = 2 Height = 17 Left = 22 Top = 10 Width = 128 Name = "cYear" _Shape27PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  foxribbon.vcx _splitterribbonformtime foxribbon.vcxUTop = 96 Left = -29 Height = 25 Width = 25 BackColor = 255,0,0 Name = "Shape2" Shape1shapeTPROCEDURE Click THIS.PARENT.PARENT.oTextBox.VALUE = {} THISFORM.RELEASE ENDPROC  ribbongroup_day foxribbon.vcx[Stretch = 1 BackStyle = 0 Height = 32 Left = 12 Top = 48 Width = 32 Name = "Image1"  foxribbon.vcxe7_dayOWidth = 90 Height = 22 BorderWidth = 1 calform = .F. Name = "_datepicker"  foxribbon.vcxtTop = 135 Left = 148 Name = "_day42" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" _day!Arial, 0, 8, 5, 14, 11, 29, 3, 0  ribbontextboxtextbox ribbontextboxtextboxBTop = 72 Left = -138 Height = 29 Width = 121 Name = "Shape1" LBackStyle = 0 Height = 16 Left = 7 Top = 7 Width = 16 Name = "Image1"  Ribbonlabel1 foxribbon.vcx ribbonlabel_day4 foxribbon.vcximage7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC APROCEDURE Click this.Parent.Parent.lShowHotKeys = .f. ENDPROC  cntmenuitem imgHotKeyimageimage cntmenuitem cmdMenuItem commandbutton commandbuttoni6 _splittertTop = 120 Left = -216 Height = 94 Width = 213 BackStyle = 0 Curvature = 5 SpecialEffect = 1 Name = "Shape1"  foxribbon.vcx container foxribbon.vcxlabel7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC UHeight = 0 Left = -40 Top = 52 Width = 36 BorderColor = 255,0,0 Name = "Line1" shapeImage1images30ribboncommandbutton _calendar_day35 container foxribbon.vcx_dayPixelsUHeight = 0 Left = -40 Top = 52 Width = 36 BorderColor = 255,0,0 Name = "Line2"  containerLStretch = 2 Height = 16 Left = -24 Top = 8 Width = 16 Name = "Image1" _calendar.CntYearMonth foxribbon.vcxlabel_day7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribbonformdatetime _sidebartitleribbonlabellinkribboncommandbutton containerMonth9 _calendar_day34 container_day foxribbon.vcxtTop = 135 Left = 127 Name = "_day41" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1"  foxribbon.vcxMonth12label _calendar_day33 container foxribbon.vcximageImage1_day _calendar_day32 container foxribbon.vcx_day _calendarshape_day31 container_day _menutabs foxribbon.vcx_day _calendarNPROCEDURE Click THIS.PARENT.PARENT.nMonth = 4 THIS.PARENT.CLICK() ENDPROC _day30_day ShapeTabsribbonformtimeCommand1 commandbutton container foxribbon.vcxshapetTop = 135 Left = 106 Name = "_day40" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1"  _calendar_day29 container_day 6v%XmgUCClickUTHISPARENTClick,1q10)Pixelsribbonformtime_day _progressbarribbonformwaitImage1 commandbuttonaPicture = defaultimages\iimage.png Height = 32 Left = 7 Top = 7 Width = 32 Name = "Image1" Image1ribboncommandbuttonribboncommandbutton}Picture = ..\..\..\proyecto\pcont\tabmenu\images\tipwin.png Height = 13 Left = 437 Top = 13 Width = 14 Name = "Image1" imageMonth4ribboncommandbutton _messagebox foxribbon.vcxShape2_calendar.CntYearMonth container container ribbongroupAutoSize = .F. FontItalic = .T. FontName = "Arial" FontSize = 8 Alignment = 1 BackStyle = 0 Caption = "W5" Height = 16 Left = 3 Top = 118 Width = 13 TabIndex = 12 Name = "w5" ribboncommandbuttonsTop = 135 Left = 85 Name = "_day39" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1"  foxribbon.vcx_dayshapetimerimageAutoSize = .F. WordWrap = .T. Alignment = 2 Height = 60 Left = 12 Top = 49 Width = 228 ZOrderSet = 3 Name = "Ribbonlabel1" panel1i2OptAmPmribbonstartbuttonimage_dayshape_panelAutoSize = .F. FontItalic = .T. FontName = "Arial" FontSize = 8 Alignment = 1 BackStyle = 0 Caption = "W4" Height = 16 Left = 3 Top = 99 Width = 13 TabIndex = 12 Name = "w4"  _calendarcomboboxsTop = 135 Left = 64 Name = "_day38" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" _day28!Arial, 0, 8, 5, 14, 11, 29, 3, 0 listbox ribbonlistboxlistboxFontName = "Segoe UI" Alignment = 2 BackStyle = 0 Caption = ( "?") Height = 17 Left = 61 Top = 13 Visible = .F. Width = 16 Name = "lblHotKey"  cntmenuitem lblCaptionlabels00 container7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribbonformtimeribbonformtime!Arial, 0, 9, 5, 15, 12, 32, 3, 0 ribbonformtimeimageAutoSize = .F. FontItalic = .T. FontName = "Arial" FontSize = 8 Alignment = 1 BackStyle = 0 Caption = "W3" Height = 16 Left = 3 Top = 80 Width = 13 TabIndex = 12 Name = "w3" ribbonstartbutton ribbonlabelPixelslabelsTop = 135 Left = 43 Name = "_day37" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1"  container _calendarribbonformtime foxribbon.vcx  %ShbU CUTHISFORMRELEASEClick,12%)sTop = 135 Left = 22 Name = "_day36" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1"  foxribbon.vcx_day27_day*redraw *thisenabled PROCEDURE Valid *THISFORM.SetTime("H12") THISFORM.oTimePicker.RibbonLabel3.CAPTION = IIF( THIS.VALUE = 1, "AM", "PM") ENDPROC 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC Ribboncommandbutton1 container ribbonlabelPicture = ..\..\..\proyecto\pcont\tabmenu\images\hotkeys.png BackStyle = 0 Height = 15 Left = 60 Top = 13 Visible = .F. Width = 16 Name = "imgHotKey" labelimgRighti8s10 Ribbonlabel1imageribbonformdatetime foxribbon.vcx foxribbon.vcx_scrollbarbutton containerribbonformbaseShadowqTop = 40 Left = 43 Name = "_day2" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  _titlebar1 foxribbon.vcx*redraw *thisenabled 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribboncommandbuttonribbonformtimeImage2.PROCEDURE Click THISFORM.RELEASE() ENDPROC Ribbonmenuseparator3 containerOThanks to Jim Edgar. http://www.universalthread.com/ViewPageArticle.aspx?ID=555_verticalscrollbar foxribbon.vcxribbonformcalendarAutoSize = .F. FontSize = 8 WordWrap = .T. Alignment = 2 Height = 28 Left = 1 Top = 37 Width = 64 Name = "Ribbonlabel1" ribbonmenuseparator _progressbarPixels container ribbongroupribbonformtime foxribbon.vcx _calendartimerlabel_day26 container foxribbon.vcx_day _calendar_day257PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  containers20image container foxribbon.vcx_day_day24 Ribbonlabel1 _calendarCommand1 containerimageLabel1 foxribbon.vcx_day _calendartimer ribboneditboxtTop = 116 Left = 148 Name = "_day35" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" &PROCEDURE RightClick WITH THIS .PARENT.PARENT.Timer2.ENABLED = .T. ENDWITH ENDPROC PROCEDURE Click WITH THIS .PARENT.PARENT.Timer2.ENABLED = .F. * .PARENT.MOUSEUP() ENDWITH ENDPROC PROCEDURE MouseUp LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT.MOUSEUP() ENDPROC tTop = 116 Left = 127 Name = "_day34" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" Timer1Picture = defaultimages\helpimage.png BackStyle = 0 Height = 32 Left = -41 Top = 126 Visible = .F. Width = 32 Name = "_32"  foxribbon.vcx ribbonlabel foxribbon.vcxribboncommandbutton containerIWidth = 287 Height = 88 BackColor = 193,255,255 Name = "ribbongroup" ]Height = 0 Left = 4 Top = 133 Width = 172 ZOrderSet = 37 Name = "Ribbonmenuseparator3" _day23 container foxribbon.vcx_day _calendar_day22cntbarra7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribbonformtime foxribbon.vcx container foxribbon.vcx foxribbon.vcxShape1editbox %ZoiUTUTHISFORM WINDOWSTATEClick,12+)s00 buttonmax_scrollbarbuttonWPROCEDURE Click _SCREEN.oRibbon.nOptionMessageBox = 3 THISFORM.RELEASE() ENDPROC  _messageboximageribboncommandbutton_panelshape _calendar_day21 container foxribbon.vcx!Arial, 0, 8, 5, 14, 11, 29, 3, 0  ribbonspinner ribbonspinnerspinner[Top = 2 Left = 3 Height = 18 Width = 84 Caption = "" Style = 1 Name = "cmdMenuItem" ;PROCEDURE Click RAISEEVENT(this.Parent,"Click") ENDPROC  cntmenuitemimageimagelinelabeltTop = 116 Left = 106 Name = "_day33" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1"  container  %ShbU CUTHISFORMRELEASETimer,12%) containerlabel*thisenabled *redraw ribboncommandbuttonribbonformtimeNPROCEDURE Click THIS.PARENT.PARENT.nMonth = 3 THIS.PARENT.CLICK() ENDPROC AutoSize = .F. FontItalic = .T. FontName = "Arial" FontSize = 8 Alignment = 1 BackStyle = 0 Caption = "W2" Height = 16 Left = 3 Top = 61 Width = 13 TabIndex = 12 Name = "w2"  ribboneditboxsTop = 116 Left = 85 Name = "_day32" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" Class _calendar_day20 Buttonmin_menubar d%cxrUT-UTHISPARENT LSHOWHOTKEYSClick,1A16) container containerribboncommandbuttonPixels7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  container foxribbon.vcx_calendar.CntYearMonthribboncommandbuttonribbonformtime container foxribbon.vcxAutoSize = .T. FontName = "Segoe UI" BackStyle = 0 Caption = "Menu Item" Height = 17 Left = 36 Top = 8 Width = 60 ForeColor = 21,66,139 Name = "lblCaption"  cntmenuitemImage1imageshaperibbonformcalendar._calendar1Picture = defaultimages\clocks.png Height = 16 Left = 6 Top = 92 Visible = .F. Width = 16 ZOrderSet = 41 Name = "Image3" _calendar.CntYearMonth container _calendar_day19 containerimage container _carousel _MENUTABS1 foxribbon.vcx container foxribbon.vcx _calendar_calendar.CntYearMonth foxribbon.vcx3ncurvature nleft ntop nhwnd *_show *redraw PROCEDURE redraw WITH THIS .BACKCOLOR = _SCREEN.oRibbon.BackColor2 ENDWITH ENDPROC PROCEDURE Init WITH THIS .ReDraw() ENDWITH ENDPROC imageimgLeft_panel _titlebarribboncommandbuttonMonth8 ribbongrouprPicture = defaultimages\clockm.png Height = 16 Left = 6 Top = 48 Width = 16 ZOrderSet = 40 Name = "Image2" ribbonformtimeimageimagesTop = 116 Left = 64 Name = "_day31" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" _day18*redraw *thisenabled Month7 container foxribbon.vcxsTop = 116 Left = 43 Name = "_day30" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" {Picture = ..\ BorderStyle = 1 Height = 28 Left = 144 Top = 0 Width = 1 BorderColor = 255,255,255 Name = "imgRight"  container container containerAutoSize = .F. FontItalic = .T. FontName = "Arial" FontSize = 8 Alignment = 1 BackStyle = 0 Caption = "W1" Height = 16 Left = 3 Top = 42 Width = 13 TabIndex = 12 Name = "w1"   %ShbU CUTHISFORMRELEASEClick,11#)Class _progressbarshape foxribbon.vcx_Shape1 _calendar_day17label container^Top = 72 Left = -48 Height = 38 Width = 38 BackStyle = 0 Curvature = 0 Name = "Shape1" MBackStyle = 0 Height = 24 Left = 13 Top = 7 Width = 24 Name = "Image3"  _menutabsimage_menutabsbutton ribbonlabelribbonformdatetimeshape containerPixelsNStretch = 2 Height = 18 Left = -20 Top = 36 Width = 16 Name = "_Image1" Timer1_day2 J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) foxribbon.vcx ribbongroupribboncommandbuttonsTop = 116 Left = 22 Name = "_day29" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1"  foxribbon.vcx _calendar7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribbonformtime_verticalscrollbar _scrolltimershape_day16 container container foxribbon.vcx container _calendar!Arial, 0, 8, 5, 14, 11, 29, 3, 0  ribboncombo*redraw *thisenabled QFontSize = 8 Height = 22 SpecialEffect = 1 Width = 100 Name = "ribboncombo" combobox J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) foxribbon.vcx foxribbon.vcx container foxribbon.vcxShape1_day5_calendar.CntYearMonthribboncommandbuttonribbonformtimeshape container foxribbon.vcxrPROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT._Shape2.MOUSELEAVE() ENDPROC qPicture = defaultimages\clockh.png Height = 16 Left = 6 Top = 4 Width = 16 ZOrderSet = 39 Name = "Image1"  foxribbon.vcxshape _progressbar _progressbar Ribbonlabel1 foxribbon.vcx7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC Shape1sTop = 97 Left = 148 Name = "_day28" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" _day15 container foxribbon.vcxlabelImage2 _calendarribboncommandbutton J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)shaperibbonformtimeLStretch = 2 Height = 16 Left = 12 Top = 75 Width = 16 Name = "Image2" Class buttonclose container foxribbon.vcxshapeLStretch = 2 Height = 16 Left = -97 Top = 3 Width = 16 Name = "Image1" ribboncommandbutton7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC Class container_day14 container foxribbon.vcx Ribbonlabel1_day13ribboncommandbutton1lminimize scrollcontainer lsplitter *reload $minimumsize mousedownat vertical  ribbonlabel7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribbonformtime _calendar container foxribbon.vcxImage1 _calendar _menutabsPROCEDURE Init WITH THIS .TOP = 2 .LEFT = 2 .HEIGHT = .PARENT.HEIGHT - 4 .WIDTH = .PARENT.WIDTH - 4 ENDWITH ENDPROC  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) container foxribbon.vcx_menutabsbutton_day12 container foxribbon.vcx optiongroup J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) ribbontabTimer2 _calendarribboncommandbutton container J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)imageribbonformtime_day11timer Ribbonlabel2 container foxribbon.vcx _calendarPixels foxribbon.vcxribboncommandbuttonAutoSize = .F. FontBold = .T. FontName = "Arial" FontSize = 8 Alignment = 2 BackStyle = 0 Caption = "Month And year" Height = 16 Left = 5 Top = 4 Visible = .F. Width = 164 TabIndex = 12 Name = "Monthandyear" _day10_menutabsbutton containershapeimage foxribbon.vcx _calendar_day9 container) "g%U@ 9TCUTHISFORMNTIME _PROGRESSBAR1PROGRESSTIMER1INTERVALTimer,11A2s) foxribbon.vcxribbonformtime container foxribbon.vcx_day8Month10 containerClass _calendar containerClass7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribbonstartbutton.StartPanel_Image2 foxribbon.vcx container %U T9 UORIBBONNOPTIONMESSAGEBOXTHISFORMRELEASETimer,112K) foxribbon.vcx ribbonlabel foxribbon.vcxribbonmenuseparatorribbonformdatetime foxribbon.vcx7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribboncommandbutton_titlebar.Controlbuttons7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribboncommandbutton containersTop = 97 Left = 127 Name = "_day27" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1"  foxribbon.vcx container foxribbon.vcx_calendar.CntYearMonthtimer_menutabsbutton_calendar.CntYearMonth7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC *redraw *thisenabled sTop = 97 Left = 106 Name = "_day26" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" image _calendar_day7 container foxribbon.vcx7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribbonformtimeNblink ccomment datevalue lholiday nduration nevents ^arrayevents[1,1] ribboncommandbutton commandbutton container commandbuttonAutoSize = .F. FontItalic = .F. FontName = "Arial" FontSize = 8 FontUnderline = .F. Alignment = 2 BackStyle = 0 Caption = "D1" Height = 16 Left = 21 Top = 22 Width = 22 TabIndex = 12 Name = "d1" 0PROCEDURE Click THISFORM.RELEASE() ENDPROC  ribbonbuttonhribbonstartbutton.StartPanelUTop = 60 Left = -29 Height = 25 Width = 25 BackColor = 255,0,0 Name = "Shape1"  foxribbon.vcx _calendar_day6 container foxribbon.vcxribbonformtimeimage_menutabsbuttonshaperTop = 97 Left = 85 Name = "_day25" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" ribboncommandbutton containerNPROCEDURE Click THIS.PARENT.PARENT.nMonth = 5 THIS.PARENT.CLICK() ENDPROC  foxribbon.vcx _calendar1ribboncommandbutton^Top = 132 Left = -29 Height = 23 Width = 23 Enabled = .F. Interval = 1 Name = "Timer1"  ƀ%U"T9 CUORIBBONNOPTIONMESSAGEBOXTHISFORMRELEASEClick,1!2L)ribboncommandbuttonribbonformdatetimelTop = 5 Left = 182 Height = 390 Width = 335 Curvature = 7 BackColor = 128,255,255 Name = "ShapeTabs" 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribbonformtime container container ƀ%U"T9 CUORIBBONNOPTIONMESSAGEBOXTHISFORMRELEASEClick,1!2L)ribbonstartbutton StartPanel ribbontab7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  containerribboncommandbutton foxribbon.vcx!Arial, 0, 9, 5, 15, 12, 32, 3, 0 ribbonformcalendarAutoSize = .F. FontItalic = .F. FontName = "Arial" FontSize = 8 FontUnderline = .F. Alignment = 2 BackStyle = 0 Caption = "D2" Height = 16 Left = 42 Top = 22 Width = 22 TabIndex = 11 Name = "d2" Shape1shape_menutabsbuttonribboncommandbuttonShape2shapeshapeCommand1ribbonformtimeshapecYear J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)label foxribbon.vcximageribboncommandbuttonribbonformtime_menutabsbutton commandbutton commandbutton foxribbon.vcx*redraw *thisenabled  containereditboxAutoSize = .F. FontItalic = .F. FontName = "Arial" FontSize = 8 FontUnderline = .F. Alignment = 2 BackStyle = 0 Caption = "D3" Height = 16 Left = 63 Top = 22 Width = 22 TabIndex = 10 Name = "d3" Image1rTop = 97 Left = 64 Name = "_day24" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1"  ƀ%U"T9 CUORIBBONNOPTIONMESSAGEBOXTHISFORMRELEASEClick,1!2L) _messageboxClass container container foxribbon.vcx foxribbon.vcx _calendarshapeRibbonmenuseparator2labelribbonmenuseparator container_panelribboncommandbuttonribbonformtime J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  container_titlebar.Controlbuttons ribbonbuttonh ribbonlabelMonth1Top = 2 Left = 2 Height = 16 Width = 16 BackStyle = 0 BorderWidth = 1 Curvature = 0 Visible = .F. BorderColor = 0,128,255 Name = "Shape1"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) foxribbon.vcx7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  ribbongroup foxribbon.vcx foxribbon.vcxZTop = 72 Left = 50 Height = 27 Width = 84 Caption = "" Style = 1 Name = "Command1" ribboncommandbutton_titlebar.Controlbuttons foxribbon.vcxRibboncommandbutton1rTop = 97 Left = 43 Name = "_day23" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" _Shape2 _calendar container foxribbon.vcxRibbonmenuseparator1 container foxribbon.vcx container _calendar container foxribbon.vcx_menutabsbutton ribbonlabelribbonmenuseparatorribbonformtime container foxribbon.vcx container container _carouselOTop = 60 Left = -31 Height = 23 Width = 23 Enabled = .F. Name = "Timer2"  _carousel container foxribbon.vcx _carouselribboncommandbutton^Top = 132 Left = 36 Height = 25 Width = 25 BackStyle = 0 Curvature = 5 Name = "Shape1"  foxribbon.vcx7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  ribbontab container J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) foxribbon.vcx _calendar foxribbon.vcx container containerMStretch = 2 Height = 16 Left = -57 Top = 18 Width = 16 Name = "Image2"  foxribbon.vcx!Arial, 0, 8, 5, 14, 11, 29, 3, 0 ribboncommandbuttonribboncommandbutton_Height = 0 Left = 177 Top = 152 Width = 172 ZOrderSet = 39 Name = "Ribbonmenuseparator3"  foxribbon.vcxribboncommandbutton ribbonbuttonhControlbuttonsribbonformtimeribboncommandbuttonotextbox *otextbox_assign nreturn ntime ribboncommandbuttonribbonformdatetime^Top = 36 Left = 24 Height = 24 Width = 24 Caption = "" TabStop = .F. Name = "Command1"  Ribbonlabel1 foxribbon.vcxribbonformtimerTop = 97 Left = 22 Name = "_day22" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1"  foxribbon.vcx _calendar _sidebartitle container J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)ribboncommandbutton,Top = 145 Left = -3 Name = "ScrollTimer"  ribbontab\Height = 0 Left = 4 Top = 89 Width = 172 ZOrderSet = 21 Name = "Ribbonmenuseparator2" yFontSize = 8 Alignment = 1 BackStyle = 0 Caption = "00" Height = 15 Left = 3 Top = 2 Width = 13 Name = "Label1" \Height = 0 Left = 4 Top = 45 Width = 172 ZOrderSet = 20 Name = "Ribbonmenuseparator1" ribboncommandbutton container J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)ribbonbuttongroup container container container foxribbon.vcxribboncommandbuttonRibboncommandbutton3ribbonformtime container CntYearMonth _calendarribboncommandbutton foxribbon.vcxribbonformtimeribbonformdatetime J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  container7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  foxribbon.vcxPROCEDURE MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH THISFORM IF nButton = 1 AND .WINDOWSTATE = 0 AND .MOVABLE SendMessage(THISFORM.HWND, 0x202, 0, 0) SendMessage(THISFORM.HWND, 0x112, 0xF012, 0) ENDIF ENDWITH ENDPROC ~firsttabclick lcurvature showanimationpage movable Specifies if an object can be moved at run time by the user. *redraw ribboncommandbutton foxribbon.vcxNPROCEDURE Click THIS.PARENT.PARENT.nMonth = 8 THIS.PARENT.CLICK() ENDPROC ribbonformtime foxribbon.vcxAutoSize = .F. FontItalic = .F. FontName = "Arial" FontSize = 8 FontUnderline = .F. Alignment = 2 BackStyle = 0 Caption = "D4" Height = 16 Left = 84 Top = 22 Width = 22 TabIndex = 9 Name = "d4" ribboncommandbutton *redraw  container]Top = 48 Left = -36 Height = 23 Width = 23 Enabled = .F. Interval = 4 Name = "Timer1" yTop = 60 Left = -61 Height = 50 Width = 50 BorderStyle = 0 Curvature = 5 BackColor = 128,128,128 Name = "Shadow"  _carousel foxribbon.vcxribbonformtimelshadow *redraw  foxribbon.vcxribboncommandbutton container _progressbar _progressbar container containercheckbox foxribbon.vcxOTop = 14 Left = -61 Height = 24 Width = 24 Curvature = 7 Name = "Shape1" sTop = 78 Left = 148 Name = "_day21" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" CWidth = 3 Height = 68 BorderWidth = 0 Name = "ribbonseparator"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribboncommandbutton container ribbongroup containerOPROCEDURE Click THIS.PARENT.PARENT.nMonth = 12 THIS.PARENT.CLICK() ENDPROC  foxribbon.vcx foxribbon.vcx container_calendar.CntYearMonth7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  _calendarpFontSize = 8 Caption = "Auxiliary Label" Height = 15 Left = 53 Top = 35 Width = 69 Name = "Ribbonlabel2" AutoSize = .F. FontItalic = .F. FontName = "Arial" FontSize = 8 FontUnderline = .F. Alignment = 2 BackStyle = 0 Caption = "D5" Height = 16 Left = 105 Top = 22 Width = 22 TabIndex = 8 Name = "d5"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)ribbonformdatetime_menutabsbutton container container^Top = 48 Left = -33 Height = 27 Width = 27 Caption = "" TabIndex = 1 Name = "Command1" ribbonformdatetimeribboncommandbutton foxribbon.vcx containerribbonformtime _sidebartitle J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) containerdWidth = 638 Height = 400 lminimize = .T. scrollcontainer = lsplitter = .T. Name = "_sidebar" Command17PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  foxribbon.vcxrTop = 78 Left = 85 Name = "_day18" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1"  _titlebarribbonformtimeRFontSize = 8 Height = 66 SpecialEffect = 1 Width = 66 Name = "ribboneditbox" sTop = 78 Left = 127 Name = "_day20" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1"  container container foxribbon.vcx container_calendar.CntYearMonth7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC AutoSize = .F. FontItalic = .F. FontName = "Arial" FontSize = 8 FontUnderline = .F. Alignment = 2 BackStyle = 0 Caption = "D6" Height = 16 Left = 126 Top = 22 Width = 22 TabIndex = 7 Name = "d6" ribboncommandbutton foxribbon.vcxribboncommandbutton _carousel h%U"T9 CUORIBBONNOPTIONMESSAGEBOXTHISFORMRELEASE Controlbuttons.buttonclose.Click,1!2,g)ribbonformdatetime foxribbon.vcx ribbonlabel7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribbonformdatetime7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribbonformtime container foxribbon.vcx foxribbon.vcxribboncommandbutton7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  foxribbon.vcxAutoSize = .F. FontItalic = .F. FontName = "Arial" FontSize = 8 FontUnderline = .F. Alignment = 2 BackStyle = 0 Caption = "D7" Height = 16 Left = 147 Top = 22 Width = 22 TabIndex = 6 Name = "d7" ribbonformtimeNPROCEDURE Click THIS.PARENT.PARENT.nMonth = 9 THIS.PARENT.CLICK() ENDPROC  container_calendar.CntYearMonth foxribbon.vcx ribbonlabel container %UE%>+TCAMPMAM6UTHISPARENTENABLEDCAPTIONClick,11A2f)ribboncommandbuttonribboncommandbutton_Top = 104 Left = 72 Height = 17 Width = 100 BackStyle = 0 Curvature = 5 Name = "Shape1" ngomonth nlongday nmonth nocontrols nyear thisdate lshowtime *redraw *_refresh *changeweek *controldate *controlweek *dayevent  foxribbon.vcx~Top = 1 Left = 1 Width = 172 Height = 175 BorderWidth = 0 Visible = .F. BackColor = 192,192,192 Name = "CntYearMonth" _calendar.CntYearMonthRibboncommandbutton2 foxribbon.vcxribboncommandbuttonribbonformtime container containerRibbonbuttongroup1oPROCEDURE Click THIS.PARENT.CLICK() ENDPROC PROCEDURE redraw DODEFAULT() THIS.FORECOLOR = 0 ENDPROC  foxribbon.vcxribboncommandbutton_calendar.CntYearMonthOPROCEDURE Click THIS.PARENT.PARENT.nMonth = 10 THIS.PARENT.CLICK() ENDPROC NPROCEDURE Click THIS.PARENT.PARENT.nMonth = 1 THIS.PARENT.CLICK() ENDPROC DWidth = 800 Height = 22 showbackimage = .T. Name = "_statusbar"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)ribbonformdatetime_sidebartitle1/autotabclick pageclass lcurvature *redraw RFontSize = 8 Height = 22 SpecialEffect = 1 Width = 60 Name = "ribbonspinner"  %U2/TCAMPM6UTHISFORM OTIMEPICKER RIBBONLABEL3CAPTIONTHISVALUEValid,11w) _sidebargroup _sidebargroupOPROCEDURE Click THIS.PARENT.PARENT.nMonth = 11 THIS.PARENT.CLICK() ENDPROC 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribbonformtimekPROCEDURE Init DODEFAULT() THIS.RibbonLabel2.LEFT = THIS.WIDTH - THIS.RibbonLabel2.WIDTH - 5 ENDPROC aTop = 108 Left = -62 Height = 50 Width = 50 BorderStyle = 0 Curvature = 0 Name = "Shadow" ribboncommandbuttonsTop = 78 Left = 106 Name = "_day19" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" NStretch = 2 Height = 34 Left = 3 Top = 276 Width = 354 Name = "_Image2" ]yourstartbutton yourstatusbar yourtitlebar firsttabclick startmenu *setline *redraw  Ribbonlabel1OTop = 14 Left = -34 Height = 24 Width = 24 Curvature = 0 Name = "Shape2"  *redraw  grafichecknTop = 157 Left = 2 Width = 170 Height = 18 lcurvature = .F. Name = "RibbonDateTime" Image1.Height = 16 Image1.Left = 78 Image1.Top = 28 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "Date and time" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 2 Ribbonlabel1.Width = 164 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 26 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  foxribbon.vcxribboncommandbuttonribboncommandbuttonrTop = 78 Left = 64 Name = "_day17" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" rTop = 78 Left = 43 Name = "_day16" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" rTop = 78 Left = 22 Name = "_day15" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" ribbonformtime container container J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)ribboncommandbuttonribboncommandbutton foxribbon.vcx foxribbon.vcx container foxribbon.vcx7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC Ribbonmenuseparator3 container9lcurvature lshadow showanimationpage delay *redraw NPROCEDURE Click THIS.PARENT.PARENT.nMonth = 7 THIS.PARENT.CLICK() ENDPROC P 77eO% U'  T9UTHIS BACKCOLORORIBBON BACKCOLOR2  CUTHISREDRAWredraw,Init}11A2A2Ni)7 foxribbon.vcxtPicture = defaultimages\clockm.png Height = 16 Left = 179 Top = 67 Width = 16 ZOrderSet = 42 Name = "Image2" ribboncommandbutton ribbontab7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC oTop = 2 Left = 21 Width = 132 Height = 18 lcurvature = .F. Name = "RibbonMonthYear" Image1.Height = 16 Image1.Left = 78 Image1.Top = 28 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "Month And year" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 2 Ribbonlabel1.Width = 126 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 26 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) containerRibboncommandbutton1 foxribbon.vcx foxribbon.vcx ribbonlabelimage container foxribbon.vcxribbonformdatetime container foxribbon.vcxribboncommandbutton commandbuttonsTop = 59 Left = 148 Name = "_day14" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" sTop = 59 Left = 127 Name = "_day13" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)ribbonformdatetime container _messagebox!Arial, 0, 9, 5, 15, 12, 32, 3, 0  container?FontItalic = .T. MousePointer = 15 Name = "ribbonlabellink" 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC :PROCEDURE Timer LOCAL lcMacro WITH THIS lcMacro = "THIS.PARENT." + SUBSTR(THIS.PARENT.aPage[THIS.LEFT], 5) + ".MOUSEUP()" .LEFT = .LEFT + 1 IF .LEFT > .PARENT.nPages .LEFT = 1 ENDIF &lcMacro ENDWITH ENDPROC PROCEDURE Init WITH THIS .LEFT = 1 .INTERVAL = .PARENT.DELAY ENDWITH ENDPROC ribbonformtime foxribbon.vcx commandbuttonPROCEDURE Click LOCAL ldDate, lnDay WITH THIS.PARENT lnDay = DAY(.ThisDate) .nYear = IIF(.nMonth < 12, .nYear, .nYear + 1) .nMonth = IIF(.nMonth < 12, .nMonth + 1, 1) ldDate = DATE(.nYear, .nMonth, lnDay) DO WHILE EMPTY(ldDate) lnDay = lnDay - 1 ldDate = DATE(.nYear, .nMonth, lnDay) ENDDO .ThisDate = ldDate ._Refresh() ENDWITH ENDPROC PROCEDURE Init DODEFAULT() THIS.marlett.VISIBLE = .T. ENDPROC PROCEDURE Click LOCAL ldDate, lnDay WITH THIS.PARENT lnDay = DAY(.ThisDate) .nYear = IIF(.nMonth > 1, .nYear, .nYear - 1) .nMonth = IIF(.nMonth > 1, .nMonth - 1, 12) ldDate = DATE(.nYear, .nMonth, lnDay) DO WHILE EMPTY(ldDate) lnDay = lnDay - 1 ldDate = DATE(.nYear, .nMonth, lnDay) ENDDO .ThisDate = ldDate ._Refresh() ENDWITH ENDPROC PROCEDURE Init DODEFAULT() THIS.marlett.VISIBLE = .T. ENDPROC ribboncommandbuttonribbonformtimeZHeight = 22 Left = 0 SelectOnEntry = .T. Top = 0 Width = 72 Name = "Ribbontextbox1" rTop = 40 Left = 106 Name = "_day5" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" hTop = 84 Left = -67 Height = 48 Width = 49 Curvature = 7 BackColor = 128,255,255 Name = "Shape1" 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  ff% U T-UPMENUF4CT- TaUTNLEFTTNTOPTNHWNDTHIS _BANDMENU1RIBBONMENUSEPARATOR1VISIBLEPMENUDestroy,InitE12QB69)fribbonformdatetimeribboncommandbutton"swapcolors *redraw *progress _FontSize = 8 Height = 22 Margin = 3 SpecialEffect = 1 Width = 100 Name = "ribbontextbox" _Top = 132 Left = 84 Height = 25 Width = 25 BackStyle = 0 Curvature = 2 Name = "xShape2"  ribbontabqTop = 40 Left = 64 Name = "_day3" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" tAutoSize = .F. Alignment = 2 BorderStyle = 1 Height = 17 Left = 3 Top = 3 Width = 194 Name = "Ribbonlabel1" sTop = 59 Left = 106 Name = "_day12" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)ribbonformwait foxribbon.vcx6PROCEDURE Click THISFORM.WINDOWSTATE = 1 ENDPROC Image2Width = 174 Height = 177 BackColor = 255,255,255 ngomonth = 0 nlongday = 3 nmonth = 1 nocontrols = .F. nyear = 2011 thisdate = {} lshowtime = .F. Name = "_calendar" Width = 20 Height = 18 BackStyle = 0 BorderWidth = 2 blink = .F. ccomment = datevalue = .F. lholiday = .F. nduration = 0 nevents = 0 Name = "ribbonday" rTop = 59 Left = 85 Name = "_day11" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" {PROCEDURE redraw WITH THIS .BORDERCOLOR = _SCREEN.oRibbon.BackColor2 .BACKCOLOR = _SCREEN.oRibbon.FormBackColor ENDWITH ENDPROC PROCEDURE Init WITH THIS .LEFT = 0 .TOP = 0 .HEIGHT = THISFORM.HEIGHT .WIDTH = THISFORM.WIDTH .ANCHOR = 15 .BORDERCOLOR = _SCREEN.oRibbon.BackColor2 .BACKCOLOR = _SCREEN.oRibbon.FormBackColor .ZORDER(1) ENDWITH ENDPROC PROCEDURE Timer LOCAL lcMacro, lcMacro2 IF ! EMPTY(THIS.PARENT.oPreviuspage) lcMacro = "THIS.PARENT." + THIS.PARENT.oPreviuspage + ".VISIBLE = .T." &lcMacro lcMacro = "THIS.PARENT." + THIS.PARENT.oPreviuspage + ".LEFT" &lcMacro = &lcMacro - _SCREEN.oRibbon.AnimationFaster ENDIF lcMacro = "THIS.PARENT." + THIS.PARENT.oLastClick + ".PageClass" lcMacro2 = "THIS.PARENT." + &lcMacro + ".LEFT" &lcMacro2 = &lcMacro2 - _SCREEN.oRibbon.AnimationFaster IF &lcMacro2 <= 0 &lcMacro2 = 0 IF ! EMPTY(THIS.PARENT.oPreviuspage) lcMacro = "THIS.PARENT." + THIS.PARENT.oPreviuspage + ".VISIBLE = .F." &lcMacro ENDIF THIS.ENABLED = .F. ENDIF ENDPROC pPROCEDURE redraw LOCAL lnI WITH THIS FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "redraw", 5) .CONTROLS(lnI).ReDraw() ENDIF ENDFOR ENDWITH ENDPROC PROCEDURE thisenabled PARAMETERS tlEnabled LOCAL lnI WITH THIS IF PCOUNT() = 1 .ENABLED = tlEnabled FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "thisenabled", 5) .CONTROLS(lnI).ThisEnabled(.ENABLED) ENDIF ENDFOR ENDIF ENDWITH ENDPROC PROCEDURE Init WITH THIS .BORDERWIDTH = 0 .BACKSTYLE = 0 DO CASE CASE .PARENT.CLASS == "Ribbon" .LEFT = 3 .TOP = 24 + IIF(!EMPTY(.PARENT.YourTitleBar), 30, 0) .HEIGHT = 92 CASE .PARENT.CLASS == "_pageframeh" OR .PARENT.CLASS == "_carousel" .LEFT = 0 .TOP = .PARENT.Shape1.TOP .HEIGHT = .PARENT.Shape1.HEIGHT .WIDTH = .PARENT.Shape1.WIDTH CASE .PARENT.CLASS == "_menutabs" .LEFT = .PARENT.ShapeTabs.LEFT .TOP = .PARENT.ShapeTabs.TOP .HEIGHT = .PARENT.ShapeTabs.HEIGHT .WIDTH = .PARENT.ShapeTabs.WIDTH .ANCHOR = .PARENT.ANCHOR ENDCASE .VISIBLE = .F. .ThisEnabled(.ENABLED) ENDWITH ENDPROC  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)ribbonformdatetime foxribbon.vcxribbonformdatetime foxribbon.vcx foxribbon.vcxribbonformdatetime containerxWidth = 800 Height = 220 lcurvature = .T. lshadow = .T. showanimationpage = .T. delay = 10000 Name = "_carousel"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)ribbonformdatetimeribboncommandbutton7_idtranslate lfontalternate *redraw *thisenabled ribbonformdatetimeribboncommandbutton_scrollcontainer ribbonpageribbonformdatetimeWWidth = 110 Height = 22 seconds = 1 referencedate = ({//::}) Name = "_timepicker" tPicture = defaultimages\noimage32.bmp BackStyle = 0 Height = 32 Left = 17 Top = 4 Width = 32 Name = "Image1"  container foxribbon.vcxribboncommandbutton7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC qTop = 40 Left = 85 Name = "_day4" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" rTop = 40 Left = 127 Name = "_day6" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" Top = 0 Left = 0 Height = 179 Width = 176 DoCreate = .T. otextbox = .F. ncurvature = 0 Name = "ribbonformcalendar" _Shape11.Name = "_Shape11" Command1.Name = "Command1" rTop = 59 Left = 64 Name = "_day10" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) containeriBorderStyle = 0 Height = 20 InputMask = "99" Left = 51 Top = 1 Width = 20 Name = "Ribbontextbox3" ribbonformdatetime _sidebartitlerTop = 40 Left = 148 Name = "_day7" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" qTop = 40 Left = 22 Name = "_day1" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" ZTop = 7 Left = -92 Height = 24 Width = 24 Caption = "" Style = 1 Name = "Command1" ribbonformdatetimePROCEDURE Timer WITH THIS.PARENT IF .noControls RETURN ENDIF .marc.VISIBLE = IIF(.marc.VISIBLE, .F., .T.) IF TIME() = "00:00:00" ._Refresh() ENDIF .RibbonDateTime.RibbonLabel1.CAPTION = DTOC(DATE()) + IIF(.lShowTime, " " + TIME(), "") ENDWITH ENDPROC zTop = 129 Left = 73 Height = 15 Width = 98 BackStyle = 0 Curvature = 2 BorderColor = 192,192,192 Name = "_Shape2" PROCEDURE redraw WITH THIS .line1.BORDERCOLOR = _SCREEN.oRibbon.BackColor1 .line2.BORDERCOLOR = _SCREEN.oRibbon.LinesColor .line3.BORDERCOLOR = _SCREEN.oRibbon.BackColor1 ENDWITH ENDPROC PROCEDURE Init WITH THIS IF .PARENT.PARENTCLASS == "_statusbar" OR .PARENT.PARENTCLASS == "_titlebar" ; OR .PARENT.CLASS = "_menubar" .Line1.VISIBLE = .F. .Line3.VISIBLE = .F. ENDIF .BACKSTYLE = 0 .WIDTH = 3 .Line1.HEIGHT = .HEIGHT .Line2.HEIGHT = .HEIGHT .Line3.HEIGHT = .HEIGHT .ReDraw() ENDWITH ENDPROC Top = 2 Left = 154 Width = 18 Height = 18 lcurvature = .F. Name = "Ribboncommandbutton2" Image1.Height = 16 Image1.Left = 78 Image1.Top = 6 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .T. Ribbonlabel1.FontSize = 12 Ribbonlabel1.Caption = "" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 20 Ribbonlabel1.Top = -1 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Caption = "8" Marlett.Height = 12 Marlett.Left = 3 Marlett.Top = 3 Marlett.Width = 11 Marlett.Name = "Marlett" zTop = 72 Left = -60 Height = 50 Width = 50 BorderWidth = 1 Curvature = 0 BackColor = 255,255,255 Name = "_Shape2" sAutoSize = .F. Alignment = 2 BackStyle = 1 Height = 17 Left = 1 Top = 71 Width = 285 Name = "Ribbonlabel1" qTop = 59 Left = 43 Name = "_day9" Shape1.Name = "Shape1" Command1.Name = "Command1" Label1.Name = "Label1" {Width = 700 Height = 400 firsttabclick = lcurvature = .T. showanimationpage = .T. movable = .T. Name = "_menutabs"  r%J<U)CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTCOMMAND1 MOUSEENTER)CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTCOMMAND1 MOUSELEAVE MouseEnter, MouseLeave1113111h)7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC imageimage containerribbonformdatetime0Height = 26 Width = 26 Name = "_scrolltimer" ribbonformdatetime foxribbon.vcx _menubar1 container _container _sidebartitle containerribbonformtime container foxribbon.vcxribboncommandbutton J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)_scrollcontainer foxribbon.vcx containerribboncommandbuttonWPROCEDURE Click _SCREEN.oRibbon.nOptionMessageBox = 2 THISFORM.RELEASE() ENDPROC ribboncommandbutton foxribbon.vcx container _container*redraw *thisenabled ribbonformtime graficheck container J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  foxribbon.vcx optiongroupribboncommandbutton_title _titleidtranslate ribboncommandbutton.PROCEDURE Click THISFORM.RELEASE() ENDPROC  ribbonlabel1ribboncommandbuttonribbonformdatetime>Width = 200 Height = 80 BackStyle = 0 Name = "_container" 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  container foxribbon.vcxribboncommandbutton foxribbon.vcxribbonformdatetime J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribboncommandbuttonvPicture = ..\ Height = 28 Left = 0 Top = 0 Visible = .F. Width = 1 BorderColor = 255,255,255 Name = "imgLeft" 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribbonformdatetimeoTop = 17 Left = 6 Height = 2 Width = 2 BorderStyle = 0 Curvature = 0 BackColor = 0,128,255 Name = "x2"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)ribbonmenuseparator container container containerribboncommandbutton7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribbonformdatetime container foxribbon.vcxribboncommandbutton foxribbon.vcxFshowbackimage *redraw *buf2dword *setparamform *maximizeform  containerJnhours nminutes nseconds otimepicker *settime *otimepicker_assign  foxribbon.vcx J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)oTop = 17 Left = 2 Height = 2 Width = 2 BorderStyle = 0 Curvature = 0 BackColor = 0,128,255 Name = "x1" ribbonformdatetimeribbonformdatetime _containerPicture = defaultimages\iimage.png BackStyle = 0 Height = 32 Left = -41 Top = 126 Visible = .F. Width = 32 Name = "_64" uAutoSize = .F. WordWrap = .T. Height = 120 Left = 60 Top = 60 Width = 300 TabIndex = 6 Name = "Ribbonlabel1" WPROCEDURE Click _SCREEN.oRibbon.nOptionMessageBox = 1 THISFORM.RELEASE() ENDPROC  foxribbon.vcx containerribbonformdatetime containerribboncommandbuttonribbonformdatetime containeriBorderStyle = 0 Height = 20 InputMask = "99" Left = 26 Top = 1 Width = 20 Name = "Ribbontextbox2" ribboncommandbuttonRibbonmenuseparator2 _sidebargroupribbonformcalendar J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)ribboncommandbutton foxribbon.vcx0nhours nminutes nseconds *settime *blink ribboncommandbutton containerAutoSize = .F. FontBold = .T. FontSize = 10 Alignment = 2 Height = 17 Left = 25 Top = 3 Width = 272 TabIndex = 3 Name = "Ribbonlabel1"  foxribbon.vcxPROCEDURE Init DODEFAULT() WITH THIS .Shape1.CURVATURE = IIF(THIS.lCurvature, 7, 0) .xShape2.CURVATURE = IIF(THIS.lCurvature, 5, 0) ENDWITH ENDPROC PROCEDURE controldate PARAMETERS oDateValue THIS.PARENT.oTextBox.VALUE = oDateValue THISFORM.RELEASE ENDPROC PROCEDURE RibbonDateTime.Click THIS.PARENT.PARENT.oTextBox.VALUE = DATE() THISFORM.RELEASE ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord IF !THIS.PARENT.BLINK THIS.PARENT.BORDERWIDTH = 0 ENDIF *!* WITH THIS.PARENT.PARENT.PARENT *!* .tp_BalloonTip1.ctlIcon = 0 *!* .tp_BalloonTip1.ctlHideDelay = 5000 *!* .tp_BalloonTip1.ctlShow(0) *!* ENDWITH ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord IF !THIS.PARENT.BLINK THIS.PARENT.BORDERWIDTH = 2 THIS.PARENT.BORDERCOLOR = _SCREEN.oRibbon.LinesColor ENDIF *!* WITH THIS.PARENT.PARENT.PARENT *!* IF !EMPTY(THIS.PARENT.DateValue) *!* IF EMPTY(THIS.PARENT.TAG) *!* .tp_BalloonTip1.ctlIcon = 0 *!* .tp_BalloonTip1.ctlHideDelay = 5000 *!* .tp_BalloonTip1.ctlShow(6, IIF(!EMPTY(THIS.PARENT.cComment), THIS.PARENT.cComment, CHR(13)),; *!* ._cDateEx(THIS.PARENT.DateValue)) *!* ELSE *!* .tp_BalloonTip1.ctlIcon = 1 *!* .tp_BalloonTip1.ctlHideDelay = 0 *!* .tp_BalloonTip1.ctlShow(6, THIS.PARENT.TAG + THIS.PARENT.cComment, ; *!* ._cDateEx(THIS.PARENT.DateValue) + ; *!* " | " + TRANSFORM(THIS.PARENT.nEvents) + " " + .tp_tEvents) *!* ENDIF *!* ENDIF *!* ENDWITH ENDPROC PROCEDURE Click THIS.PARENT.PARENT.ControlDate(THIS.PARENT.datevalue) ENDPROC  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)AutoSize = .T. FontName = "Marlett" FontSize = 4 WordWrap = .T. BackStyle = 0 Caption = "hhhh" Height = 21 Left = 2 MousePointer = 9 Top = 89 Width = 4 Rotation = 90 Name = "Label1"  foxribbon.vcxribbonformdatetime container foxribbon.vcx7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)Ribboncommandbutton17PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribboncommandbuttonribboncommandbutton foxribbon.vcx J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)^Height = 0 Left = 177 Top = 64 Width = 172 ZOrderSet = 22 Name = "Ribbonmenuseparator1" rWidth = 6 Height = 200 MousePointer = 9 minimumsize = 16 mousedownat = 0 vertical = .T. Name = "_splitter"  foxribbon.vcxribbonformdatetime foxribbon.vcx containerribbonformdatetimeribboncommandbuttonBArial, 0, 9, 5, 15, 12, 32, 3, 0 Arial, 0, 8, 5, 14, 11, 29, 3, 0 ribbonformdatetime7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribbonformdatetimeCWidth = 800 Height = 23 showbackimage = .T. Name = "_titlebar" ribboncommandbuttonribbonformdatetime J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)WWidth = 207 Height = 278 _title = _titleidtranslate = Name = "_scrollcontainer" DHeight = 15 Left = 45 Top = 4 Width = 34 Name = "Ribbonlabel1" ribboncommandbutton J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)qTop = 18 Left = 7 Height = 2 Width = 2 BorderStyle = 0 Curvature = 0 BackColor = 255,255,255 Name = "z2"  container foxribbon.vcx container foxribbon.vcx ribbonlabel containerribbonformdatetime foxribbon.vcxribbonformdatetimeribboncommandbuttonribboncommandbuttonribbonformdatetimehBorderStyle = 0 Height = 20 InputMask = "99" Left = 1 Top = 1 Width = 20 Name = "Ribbontextbox1" 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  _messagebox foxribbon.vcx container7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ribbonformdatetimePROCEDURE Init *!* WITH THIS *!* .VISIBLE = THISFORM.CONTROLBOX *!* IF !.VISIBLE *!* .WIDTH = 0 *!* ENDIF *!* ENDWITH ENDPROC PROCEDURE MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH THISFORM IF nButton = 1 AND .WINDOWSTATE = 0 AND .MOVABLE SendMessage(THISFORM.HWND, 0x202, 0, 0) SendMessage(THISFORM.HWND, 0x112, 0xF012, 0) ENDIF ENDWITH ENDPROC  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)ribboncommandbuttonribbonformdatetimeDoCreate = .T. ncurvature = 4 Name = "ribbonformmenu" _Shape11.BackStyle = 1 _Shape11.Name = "_Shape11" Command1.Name = "Command1" formribbonmenuseparatorribboncommandbutton foxribbon.vcxribboncommandbutton`Top = 0 Left = 785 Width = 15 Height = 22 BackStyle = 0 BorderWidth = 0 Name = "oresize" Ribbonmenuseparator1ribbonformdatetime7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  foxribbon.vcx container J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)VHeight = 160 nheight = 0 lminimize = .T. lminimized = .F. Name = "_sidebargroup" uTop = 1 Left = 714 Width = 82 Height = 21 BackStyle = 0 BorderWidth = 0 TabIndex = 2 Name = "Controlbuttons" PROCEDURE Init WITH THIS .BORDERWIDTH = IIF(THIS.BLINK, 2, 0) .BORDERCOLOR = _SCREEN.oRibbon.LinesColor *.Label1.CAPTION="" ENDWITH WITH THIS.Command1 .STYLE = 1 .TOP = -1 .LEFT = -2 .HEIGHT = .HEIGHT + 2 .WIDTH = .WIDTH + 2 .ZORDER(0) ENDWITH ENDPROC = $$R%Ua C Z"TC6"TC6UTHISSHAPE1 CURVATURE LCURVATUREXSHAPE2Init,1!!A2)$ foxribbon.vcx optiongroup!Arial, 0, 9, 5, 15, 12, 32, 3, 0 ribboncommandbuttonLBackStyle = 0 Height = 16 Left = 8 Top = 3 Width = 16 Name = "Image1" ribbonformdatetimeribbonformdatetime  %Vx dU 4 T9TC%T *T CCC6'T CCC6U TCTITLETCTEXTTHIS BACKCOLORORIBBON FORMBACKCOLORLEFTWIDTHTOPPANEL1 RIBBONLABEL1CAPTION RIBBONLABEL2Init,11qA2/)MStretch = 2 Height = 16 Left = 192 Top = 33 Width = 16 Name = "Image1" Top = 60 Left = 12 Height = 17 Width = 100 BackStyle = 0 BorderStyle = 1 BorderWidth = 1 Curvature = 7 Name = "Shape2"  foxribbon.vcxOThanks to Jim Edgar. http://www.universalthread.com/ViewPageArticle.aspx?ID=555Picture = defaultimages\ximage.png BackStyle = 0 Height = 32 Left = -41 Top = 126 Visible = .F. Width = 32 Name = "_16"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)ribboncommandbuttonribboncommandbuttonribbonformdatetimeribboncommandbuttonribbonformdatetime7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)LStretch = 2 Height = 62 Left = 85 Top = 28 Width = 26 Name = "Image2" 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC G ..%U&%Cg Cg; MC T B5TCC CC06UTHISVALUEValid,1aAQ2).tPicture = defaultimages\clockh.png Height = 16 Left = 179 Top = 23 Width = 16 ZOrderSet = 41 Name = "Image1" qTop = 26 Left = 55 Height = 17 Width = 100 BorderStyle = 1 BorderWidth = 1 Curvature = 7 Name = "Shape1" Top = 190 Left = 0 Width = 372 Height = 50 TabIndex = 5 TabStop = .F. Name = "_menubar1" topline.Name = "topline" bottomline.Name = "bottomline" Image1.Name = "Image1" rPROCEDURE Controlbuttons.buttonclose.Click _SCREEN.oRibbon.nOptionMessageBox = 0 THISFORM.RELEASE() ENDPROC 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC rTop = 18 Left = 11 Height = 2 Width = 2 BorderStyle = 0 Curvature = 0 BackColor = 255,255,255 Name = "z3" vWidth = 200 Height = 54 TabIndex = 2 autotabclick = .T. pageclass = lcurvature = .T. Name = "_menutabsbutton" 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC kPROCEDURE redraw WITH THIS .RibbonTextBox1.Redraw() .BACKCOLOR = .RibbonTextBox1.BACKCOLOR .BORDERCOLOR = .RibbonTextBox1.BORDERCOLOR .RibbonCommandButton1.Redraw() ENDWITH ENDPROC PROCEDURE thisenabled PARAMETERS tlEnabled WITH THIS IF PCOUNT() = 1 .ENABLED = tlEnabled .RibbonTextBox1.ENABLED = tlEnabled .RibbonCommandButton1.ThisEnabled(tlEnabled) ENDIF ENDWITH ENDPROC PROCEDURE setvalue *-- Thanks to Claudio Luna (Uruguay) LPARAMETERS ttvalue IF VARTYPE(ttvalue) = 'T' THIS.ribbontextbox1.VALUE = ttvalue ELSE RETURN .F. ENDIF ENDPROC PROCEDURE getvalue *-- Thanks to Claudio Luna (Uruguay) RETURN THIS.ribbontextbox1.VALUE ENDPROC PROCEDURE Init WITH THIS IF EMPTY(.RibbonTextBox1.CONTROLSOURCE) .RibbonTextBox1.VALUE = {//::} ENDIF .HEIGHT = 22 .Redraw() .ThisEnabled(.ENABLED) ENDWITH ENDPROC $Anchor = 13 Top = 0 Left = 0 baseobjectname = THIS.PARENT Name = "_verticalscrollbar" scrolltimer.Name = "scrolltimer" Slide.Label.Name = "Label" Slide.gradient1.Image1.Name = "Image1" Slide.gradient1.Name = "gradient1" Slide.Name = "Slide" TopArrow.Label.Name = "Label" TopArrow.gradient1.Image1.Name = "Image1" TopArrow.gradient1.Name = "gradient1" TopArrow.Name = "TopArrow" BottomArrow.Label.Name = "Label" BottomArrow.gradient1.Image1.Name = "Image1" BottomArrow.gradient1.Name = "gradient1" BottomArrow.Name = "BottomArrow" 7Width = 471 Height = 456 Name = "ribbonstartbutton" JWidth = 200 Height = 28 Name = "_sidebartitle" Image1.Name = "Image1" 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC ;FontBold = .T. Left = 28 Top = 7 Name = "ribbonlabel1" pFontSize = 8 Caption = "Auxiliary Label" Height = 16 Left = 122 Top = 8 Width = 73 Name = "Ribbonlabel2" ?Top = 6 Left = -15 Height = 13 Width = 13 Name = "Shape1" 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC f*timerstart (M) Starts a timer event. *timerstop (M) Stops the timer from executing Timer() events. MStretch = 2 Height = 17 Left = -28 Top = 24 Width = 17 Name = "Image1" 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC Picture = defaultimages\clocks.png Height = 16 Left = 179 Top = 111 Visible = .F. Width = 16 ZOrderSet = 43 Name = "Image3"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC $   v%U U6 CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT MOUSELEAVE6 CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT MOUSEENTER" CUTHISPARENTCLICK MouseLeave, MouseEnterClick11213B2~ %` ) 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC PTop = 3 Left = -109 Height = 17 Width = 100 Curvature = 7 Name = "Shape1" 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC jTop = 26 Left = 165 Height = 27 Width = 27 Caption = "" Style = 1 TabStop = .F. Name = "Command1" CWidth = 200 Height = 19 swapcolors = .F. Name = "_progressbar" ;swapcolors horizontal gradient *redraw *thisenabled qTop = 14 Left = 7 Height = 2 Width = 2 BorderStyle = 0 Curvature = 0 BackColor = 255,255,255 Name = "z6" SFontSize = 8 Height = 66 SpecialEffect = 1 Width = 132 Name = "ribbonlistbox" 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC eWidth = 200 Height = 200 BorderWidth = 2 BackColor = 255,255,255 lshadow = .T. Name = "_panel" 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC |Top = 0 Left = 0 Name = "TopArrow" Label.Name = "Label" gradient1.Image1.Name = "Image1" gradient1.Name = "gradient1"  r%J<U)CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTCOMMAND1 MOUSELEAVE)CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTCOMMAND1 MOUSEENTER MouseLeave, MouseEnter1112112f)PROCEDURE Init WITH THIS .BORDERWIDTH = 1 .Image2.VISIBLE = .F. .ZORDER(0) ENDWITH DODEFAULT() WITH THIS .LEFT = 0 .TOP = 0 .HEIGHT = THIS.PARENT.HEIGHT .WIDTH = 28 .ANCHOR = 5 .BACKCOLOR = _SCREEN.oRibbon.BackGround .RibbonLabel1.TOP = 0 .RibbonLabel1.HEIGHT = .HEIGHT .RibbonLabel1.ANCHOR = 512 ENDWITH WITH THIS.Shape1 .WIDTH = THIS.WIDTH .HEIGHT = THIS.HEIGHT .ANCHOR = 5 .MOUSEPOINTER = IIF(THIS.PARENT.lMinimize, 9, 0) .ZORDER(0) ENDWITH ENDPROC PROCEDURE MouseDown LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH THIS.PARENT .WIDTH = .PARENT.WIDTH THIS.VISIBLE = .F. ._Title.VISIBLE = .T. ._Splitter1.VISIBLE = .T. .ScrollBase.VISIBLE = .T. .ScrollPage.VISIBLE = .T. ENDWITH ENDPROC 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC  PROCEDURE redraw WITH THIS.Point .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .BACKCOLOR = _SCREEN.oRibbon.SelectedColor2 IF .BACKSTYLE = 1 .BORDERCOLOR = _SCREEN.oRibbon.SelectedColor2 ENDIF ENDWITH ENDPROC PROCEDURE Init WITH THIS .BACKSTYLE = 0 .BORDERWIDTH = 0 ENDWITH WITH THIS.POINT .LEFT = 0 .TOP = 0 .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .BACKCOLOR = _SCREEN.oRibbon.SelectedColor2 .BACKSTYLE = 0 ENDWITH WITH THIS.command1 .LEFT = -2 .TOP = -2 .HEIGHT = THIS.HEIGHT + 4 .WIDTH = THIS.WIDTH + 4 .ZORDER(0) ENDWITH ENDPROC PROCEDURE MouseUp LPARAMETERS nButton, nShift, nXCoord, nYCoord LOCAL lnI WITH THIS WITH .PARENT FOR lnI = 1 TO .CONTROLCOUNT IF .CONTROLS(lnI).CLASS == "_carouselpoint" .CONTROLS(lnI).POINT.BACKSTYLE = 0 .CONTROLS(lnI).POINT.BORDERCOLOR = _SCREEN.oRibbon.LinesColor ENDIF ENDFOR ENDWITH .POINT.BACKSTYLE = 1 .POINT.BORDERCOLOR = _SCREEN.oRibbon.SelectedColor2 WITH .PARENT FOR lnI = 1 TO .CONTROLCOUNT IF .CONTROLS(lnI).PARENTCLASS == "Ribbonpage" IF .CONTROLS(lnI).VISIBLE .oPreviusPage = .CONTROLS(lnI).NAME ENDIF .CONTROLS(lnI).VISIBLE = .F. .CONTROLS(lnI).LEFT = 0 ENDIF ENDFOR ENDWITH .PARENT.oLastClick = THIS.NAME lcMacro = .PageClass IF !EMPTY(.PageClass) **- ShowAnimation Page IF .PARENT.ShowAnimationPage AND .PARENT.oLastPage # THIS.PARENT. &lcMacro .NAME .PARENT.oLastPage = THIS.PARENT. &lcMacro .NAME lnLeft = .PARENT.WIDTH .PARENT. &lcMacro .LEFT = lnLeft .PARENT. &lcMacro .VISIBLE = .T. .PARENT.Timer1.ENABLED = .T. ENDIF **- .PARENT. &lcMacro .ZORDER(1) .PARENT.Shape1.ZORDER(1) .PARENT.SHADOW.ZORDER(1) .PARENT. &lcMacro .VISIBLE = .T. ENDIF ENDWITH ENDPROC  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)iHeight = 30 Width = 30 Alignment = 0 Caption = "" SpecialEffect = 2 Style = 1 Name = "graficheck" LBackStyle = 0 Height = 16 Left = 6 Top = 6 Width = 16 Name = "Image2" 7PROCEDURE Click THISFORM.SetTime(THIS.NAME) ENDPROC Top = 2 Left = 2 Width = 28 Height = 197 Name = "_bandmenu1" _Shape1.Name = "_Shape1" Ribbonmenuseparator1.Name = "Ribbonmenuseparator1" Ribbonmenuseparator2.Name = "Ribbonmenuseparator2" FontName = "Webdings" FontSize = 9 Alignment = 2 BackStyle = 0 Caption = ( "5") Height = 17 Left = 1 Top = 0 Width = 17 Name = "Label" G ..%U&%Cg Cg; MC T B5TCC CC06UTHISVALUEValid,1aAQ1).rTop = 14 Left = 11 Height = 2 Width = 2 BorderStyle = 0 Curvature = 0 BackColor = 255,255,255 Name = "z4" UHeight = 0 Left = 126 Top = 33 Width = 36 BorderColor = 255,0,0 Name = "Line1" fTop = 1 Left = 1 Width = 43 Height = 22 BorderWidth = 0 BorderColor = 138,175,225 Name = "bar" buttontype (N) Specifies how the button is used, and, therefore, the label to be displayed: 0 = Slide (no label), 1 = Top Arrow, 2 = Bottom Arrow. *redraw |Picture = defaultimages\startbuttonpressed.png BackStyle = 0 Height = 38 Left = 6 Top = 0 Width = 38 Name = "Image2" Width = 120 Height = 22 Name = "ribbonbuttonh" Image1.Picture = defaultimages\noimage16.bmp Image1.Height = 16 Image1.Left = 6 Image1.Top = 3 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.AutoSize = .T. Ribbonlabel1.WordWrap = .F. Ribbonlabel1.Alignment = 0 Ribbonlabel1.Left = 32 Ribbonlabel1.Top = 4 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 86 Ribbonlabel2.Top = 4 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.FontSize = 9 Marlett.Height = 12 Marlett.Left = 104 Marlett.Top = 5 Marlett.Width = 11 Marlett.Name = "Marlett"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)autotabclick pageclass disabledpicture Specifies the graphic to display when the control is disabled. *redraw *thisenabled _Height = 0 Left = 177 Top = 108 Width = 172 ZOrderSet = 23 Name = "Ribbonmenuseparator2" PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.FONTUNDERLINE = .T. ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.FONTUNDERLINE = .F. ENDPROC ` GGґ%U?%Cg &CgCCHoursv  6 fC T B5TCC CC06UTHISVALUEValid,1AQ2)GfPicture = defaultimages\clock_run32.png Height = 32 Left = 8 Top = 7 Width = 32 Name = "Image1" {Width = 120 Height = 25 BackColor = 0,128,255 autotabclick = .T. pageclass = disabledpicture = Name = "ribbontab" rTop = 10 Left = 11 Height = 2 Width = 2 BorderStyle = 0 Curvature = 0 BackColor = 255,255,255 Name = "z5" {Picture = defaultimages\startbuttonnormal.png BackStyle = 0 Height = 38 Left = 6 Top = 0 Width = 38 Name = "Image1" Width = 134 Height = 70 BorderWidth = 0 BackColor = 255,128,192 swapcolors = .F. horizontal = .F. gradient = .T. Name = "_gradient" uPicture = defaultimages\noimage32.bmp BackStyle = 0 Height = 32 Left = 11 Top = 11 Width = 32 Name = "Image1" dFontBold = .T. FontSize = 11 Height = 18 Left = 53 Top = 17 Width = 49 Name = "Ribbonlabel1" Height = 80 Name = "_titlebarmax" Controlbuttons.Buttonmin.Image1.Height = 16 Controlbuttons.Buttonmin.Image1.Width = 16 Controlbuttons.Buttonmin.Image1.Name = "Image1" Controlbuttons.Buttonmin.xShape2.Name = "xShape2" Controlbuttons.Buttonmin.Shape1.Name = "Shape1" Controlbuttons.Buttonmin.Command1.Name = "Command1" Controlbuttons.Buttonmin.Image2.Name = "Image2" Controlbuttons.Buttonmin.Ribbonlabel1.Name = "Ribbonlabel1" Controlbuttons.Buttonmin.Ribbonlabel2.Name = "Ribbonlabel2" Controlbuttons.Buttonmin.Marlett.Name = "Marlett" Controlbuttons.Buttonmin.Name = "Buttonmin" Controlbuttons.buttonmax.Image1.Height = 16 Controlbuttons.buttonmax.Image1.Width = 16 Controlbuttons.buttonmax.Image1.Name = "Image1" Controlbuttons.buttonmax.xShape2.Name = "xShape2" Controlbuttons.buttonmax.Shape1.Name = "Shape1" Controlbuttons.buttonmax.Command1.Name = "Command1" Controlbuttons.buttonmax.Image2.Name = "Image2" Controlbuttons.buttonmax.Ribbonlabel1.Name = "Ribbonlabel1" Controlbuttons.buttonmax.Ribbonlabel2.Name = "Ribbonlabel2" Controlbuttons.buttonmax.Marlett.Name = "Marlett" Controlbuttons.buttonmax.Name = "buttonmax" Controlbuttons.buttonclose.Image1.Height = 16 Controlbuttons.buttonclose.Image1.Width = 16 Controlbuttons.buttonclose.Image1.Name = "Image1" Controlbuttons.buttonclose.xShape2.Name = "xShape2" Controlbuttons.buttonclose.Shape1.Name = "Shape1" Controlbuttons.buttonclose.Command1.Name = "Command1" Controlbuttons.buttonclose.Image2.Name = "Image2" Controlbuttons.buttonclose.Ribbonlabel1.Name = "Ribbonlabel1" Controlbuttons.buttonclose.Ribbonlabel2.Name = "Ribbonlabel2" Controlbuttons.buttonclose.Marlett.Name = "Marlett" Controlbuttons.buttonclose.Name = "buttonclose" Controlbuttons.Name = "Controlbuttons" Ribbonlabel1.Left = 0 Ribbonlabel1.Top = -24 Ribbonlabel1.Name = "Ribbonlabel1" Image1.Left = 7 Image1.Top = -24 Image1.Name = "Image1" Shape1.Name = "Shape1" Image2.Name = "Image2" Command1.Name = "Command1"  m%w U CVTCRibbonFormTimeC]C]   NT9  CUNBUTTONNSHIFTNXCOORDNYCOORDLONAMETHISPARENT NMENULEFTHEIGHTNMENUTOPTHISFORMHWND REFERENCEDATEORIBBON LASTOPENFORM MOUSEENTERCommand1.MouseDown,11qc!A5)PROCEDURE redraw WITH THIS .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .SELECTEDBACKCOLOR = _SCREEN.oRibbon.BackGround .SELECTEDFORECOLOR = _SCREEN.oRibbon.FontColor .FORECOLOR = _SCREEN.oRibbon.ButtonFontColor .FONTNAME = _SCREEN.oRibbon.cFontName .BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .DISABLEDBACKCOLOR = _SCREEN.oRibbon.InEditBackDisable .DISABLEDFORECOLOR = _SCREEN.oRibbon.InEditForeDisable ENDWITH ENDPROC PROCEDURE thisenabled PARAMETERS tlEnabled WITH THIS IF PCOUNT() = 1 .ENABLED = tlEnabled ENDIF ENDWITH ENDPROC PROCEDURE Init WITH THIS .ReDraw() .ThisEnabled(.ENABLED) ENDWITH ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT._Shape2) = "O" THIS.PARENT._Shape2.MOUSEENTER() ENDIF ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT._Shape2) = "O" THIS.PARENT._Shape2.MOUSELEAVE() ENDIF ENDPROC PROCEDURE GotFocus WITH THIS .BORDERCOLOR = _SCREEN.oRibbon.InEditFrameColor .BACKCOLOR = _SCREEN.oRibbon.InEditBackColor .FORECOLOR = _SCREEN.oRibbon.InEditForeColor ENDWITH ENDPROC PROCEDURE LostFocus THIS.ReDraw() ENDPROC  V/%O]Ur kTTTT9TT T  T  &T C 6T T T  T T T  C CCUTHIS BACKSTYLE BORDERWIDTH_SHAPE1 BORDERSTYLE BACKCOLORORIBBON BACKCOLOR2LEFTTOPWIDTHHEIGHT CURVATURERIBBONMENUSEPARATOR1RIBBONMENUSEPARATOR2ZORDERInit,1aAaAA3o)u \\5%_ UCClickUTHISPARENTUNBUTTONNSHIFTNXCOORDNYCOORD&CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT HOTTRACKONCUTHISPARENT HOTTRACKONCUTHISPARENT HOTTRACKOFFClick, MouseLeaveX MouseEnterGotFocus LostFocus-1q21412210Q %= ]v)\AutoSize = .T. FontName = "MS Sans Serif" BackStyle = 0 Caption = "Label1" Height = 15 Width = 34 _idtranslate = lfontalternate = .F. Name = "ribbonlabel" zTop = 48 Left = -64 Height = 50 Width = 50 BorderWidth = 1 Curvature = 0 BackColor = 255,255,255 Name = "_Shape1" AutoSize = .F. FontSize = 8 Alignment = 2 Caption = "0 %" Height = 16 Left = 3 Top = 2 Width = 129 Name = "Ribbonlabel1" ButtonCount = 3 BackStyle = 0 Value = 0 Height = 66 SpecialEffect = 1 Width = 123 BorderColor = 255,0,255 Themes = .F. Name = "ribbonoptiongroup" Option1.FontSize = 8 Option1.BackStyle = 0 Option1.Caption = " Option1" Option1.Height = 22 Option1.Left = 5 Option1.TabStop = .F. Option1.Top = 0 Option1.Width = 79 Option1.Name = "Option1" Option2.FontSize = 8 Option2.BackStyle = 0 Option2.Caption = " Option2" Option2.Height = 22 Option2.Left = 5 Option2.TabStop = .F. Option2.Top = 22 Option2.Width = 79 Option2.Name = "Option2" Option3.FontSize = 8 Option3.BackStyle = 0 Option3.Caption = " Option3" Option3.Height = 22 Option3.Left = 5 Option3.TabStop = .F. Option3.Top = 44 Option3.Width = 79 Option3.Name = "Option3"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)AutoSize = .F. Alignment = 2 Caption = "....." Height = 17 Left = 7 Top = 27 Width = 236 ForeColor = 255,0,0 ZOrderSet = 3 Name = "Ribbonlabel2" itemcount lshowmain ltitlebar cbasefont lminimized nmaxitempos lshowhotkeys *addmenuitem *hidemenuitem *selectmenuitem *redraw qTop = 18 Left = 3 Height = 2 Width = 2 BorderStyle = 0 Curvature = 0 BackColor = 255,255,255 Name = "z1" 4 /%KUC CC%&~T-T  T TaT ,T&U THISPARENTCOMMAND1SETFOCUSREDRAWZORDERHEIGHTIMAGE1VISIBLEWIDTHTHISFORM*T-UNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTIMAGE1VISIBLEE%&>TaU NBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTHEIGHTIMAGE1VISIBLEClick, MouseEnterH MouseLeave1!QBA31A31qAA2GhO)Width = 17 Height = 17 BackStyle = 0 TabStop = .F. BorderColor = 96,96,96 ZOrderSet = 0 buttontype = 1 Name = "_scrollbarbutton"   %ShbU CUTHISFORMRELEASEClick,11#)PROCEDURE MouseUp LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT.MOUSEUP(nButton, nShift, nXCoord, nYCoord) ENDPROC PROCEDURE MouseDown LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT.MOUSEDOWN(nButton, nShift, nXCoord, nYCoord) ENDPROC PROCEDURE MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT.MOUSEMOVE(nButton, nShift, nXCoord, nYCoord) ENDPROC PROCEDURE redraw LOCAL lnI *_SCREEN.oRibbon.DrawGradient() WITH THIS .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .BACKCOLOR = _SCREEN.oRibbon.BackColor2 * .BACKCOLOR = _SCREEN.oRibbon.LinesColor .Image1.LEFT = .BORDERWIDTH .Image1.TOP = .BORDERWIDTH .Image1.HEIGHT = THIS.HEIGHT - (.BORDERWIDTH * 2) .Image1.WIDTH = THIS.WIDTH - (.BORDERWIDTH * 2) .Image1.ANCHOR = 15 .Image1.ZORDER(1) IF .Horizontal .Image1.PICTURE = IIF( NOT .SwapColors, _SCREEN.oRibbon.cFileBMP10, _SCREEN.oRibbon.cFileBMP11) ELSE .Image1.PICTURE = IIF( NOT .SwapColors, _SCREEN.oRibbon.cFileBMP8, _SCREEN.oRibbon.cFileBMP9) ENDIF .Image1.VISIBLE = .Gradient FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "redraw", 5) .CONTROLS(lnI).ReDraw() ENDIF ENDFOR .ZORDER(1) ENDWITH ENDPROC PROCEDURE thisenabled PARAMETERS tlEnabled LOCAL lnI WITH THIS IF PCOUNT() = 1 .ENABLED = tlEnabled FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "thisenabled", 5) .CONTROLS(lnI).ThisEnabled(.ENABLED) ENDIF ENDFOR ENDIF ENDWITH ENDPROC PROCEDURE Init THIS.ReDraw() ENDPROC BorderStyle = 2 Height = 240 Width = 372 Desktop = .T. ShowWindow = 1 DoCreate = .T. AutoCenter = .T. Caption = "" MaxButton = .F. MinButton = .F. TitleBar = 0 WindowType = 1 AlwaysOnTop = .T. nreturn = 0 ntime = 0 Name = "_messagebox"  [%Ej TU T%x#TC  6TC67TCCiCHC% U LNHOURTHISFORMNHOURSTHISVALUEOTEXTBOX _CALENDAR1THISDATENMINUTESNSECONDSValid,1qA1ArA2P)Top = 2 Left = 2 Width = 18 Height = 18 lcurvature = .F. Name = "Ribboncommandbutton1" Image1.Height = 16 Image1.Left = 78 Image1.Top = 6 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .T. Ribbonlabel1.FontSize = 12 Ribbonlabel1.Caption = "" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 20 Ribbonlabel1.Top = -1 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Caption = "3" Marlett.Left = 3 Marlett.Top = 3 Marlett.Name = "Marlett" PROCEDURE Init DODEFAULT() THIS.marlett.VISIBLE = .T. ENDPROC PROCEDURE Click THIS.PARENT.PARENT.nYear = THIS.PARENT.PARENT.nYear + 1 THIS.PARENT.cYear.CAPTION = TRANSFORM(THIS.PARENT.PARENT.nYear, "9999") ENDPROC 5 U%wUm CT9T*T C6T*T  C6C  fC C C TT  T3T C6UTHIS_IMAGE2PICTUREORIBBON CFILEBMP6LEFTTOPHEIGHTLSHADOWWIDTHZORDER_SHAPE2_SHAPE1SHADOW _MENUTABS1_IMAGE1$ CT9UTHIS_IMAGE2PICTUREORIBBON CFILEBMP6Init,redraw#11Aq1A32 &e) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)Top = 183 Left = 0 buttontype = 2 Name = "BottomArrow" Label.Caption = ( "6") Label.Name = "Label" gradient1.Image1.Name = "Image1" gradient1.Name = "gradient1" PROCEDURE Valid IF VAL(THIS.VALUE)<0 OR VAL(THIS.VALUE)>59 ?? CHR(7) THIS.VALUE="" RETURN 0 ENDIF THIS.VALUE = IIF(NOT EMPTY(THIS.VALUE), PADL(ALLTRIM(THIS.VALUE), 2, "0"), THIS.VALUE) ENDPROC  %(2U T9T9T T  T  T  T C%+TC 996(+TC 996T(%%CCredrawhCCCULNITHIS BORDERCOLORORIBBON LINESCOLOR BACKCOLOR BACKCOLOR2IMAGE1LEFT BORDERWIDTHTOPHEIGHTWIDTHANCHORZORDER HORIZONTALPICTURE SWAPCOLORS CFILEBMP10 CFILEBMP11 CFILEBMP8 CFILEBMP9VISIBLEGRADIENT CONTROLCOUNTCONTROLSCLASSREDRAW4 %CtT(*%CC thisenabledhU TLENABLEDLNITHISENABLED CONTROLCOUNTCONTROLSCLASS THISENABLED CUTHISREDRAWredraw, thisenabledInit1q11"!A!Q1AAA3qqAAAA221SO&jy-)PROCEDURE Valid IF VAL(THIS.VALUE)<0 OR VAL(THIS.VALUE)>59 ?? CHR(7) THIS.VALUE="" RETURN 0 ENDIF THIS.VALUE = IIF(NOT EMPTY(THIS.VALUE), PADL(ALLTRIM(THIS.VALUE), 2, "0"), THIS.VALUE) ENDPROC Width = 800 Height = 149 SpecialEffect = 2 BackColor = 191,219,255 yourstartbutton = yourstatusbar = yourtitlebar = firsttabclick = startmenu = .F. Name = "ribbon" Top = 0 Left = 0 Name = "_sidebartitle1" Image1.Name = "Image1" ribbonlabel1.Name = "ribbonlabel1" Image2.Name = "Image2" Shape1.Name = "Shape1" Ribbonlabel2.Name = "Ribbonlabel2" {Top = 86 Left = 215 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 15 lcurvature = .F. Name = "i3" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "03" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" | cc,%i2Us l(h%%CCredrawhdCCULNITHIS CONTROLCOUNTCONTROLSCLASSREDRAW mTTTTT,T& TaTTC  TTC  CTT C TCC a-6 TTTC TTC UTHIS BORDERWIDTH BACKSTYLETOPLEFTWIDTHHEIGHTVISIBLEIMAGE1ZORDERIMAGE2IMAGE3PICTURESHAPE1 BORDERSTYLE STARTPANELCUTHISSHAPE1CLICKredraw,InitClick81qQ1AAA2AAAAAA4Q2  /8)cPROCEDURE Init DODEFAULT() THIS.marlett.VISIBLE = .T. ENDPROC PROCEDURE Click THIS.PARENT.PARENT.nYear = THIS.PARENT.PARENT.nYear - 1 THIS.PARENT.cYear.CAPTION = TRANSFORM(THIS.PARENT.PARENT.nYear, "9999") ENDPROC  ? %wU %C 5T THIS.PARENT..VISIBLE = .T. &lcMacro ,T THIS.PARENT..LEFT9&lcMacro = &lcMacro - _SCREEN.oRibbon.AnimationFaster 1T THIS.PARENT. .PageClass2lcMacro2 = "THIS.PARENT." + &lcMacro + ".LEFT" ;&lcMacro2 = &lcMacro2 - _SCREEN.oRibbon.AnimationFaster IF &lcMacro2 <= 3&lcMacro2 = 3 %C 5T THIS.PARENT..VISIBLE = .F. &lcMacro T-ULCMACROLCMACRO2THISPARENT OPREVIUSPAGE OLASTCLICKENABLEDTimer,1aQA!aQAA4)Top = 91 Left = 0 buttontype = 0 Name = "Slide" Label.FontName = "Arial" Label.FontSize = 7 Label.Caption = "|||" Label.Rotation = 90 Label.Name = "Label" gradient1.Image1.Name = "Image1" gradient1.Name = "gradient1" PROCEDURE Timer LOCAL lcMacro, lcMacro2 IF ! EMPTY(THIS.PARENT.oPreviuspage) lcMacro = "THIS.PARENT." + THIS.PARENT.oPreviuspage + ".VISIBLE = .T." &lcMacro lcMacro = "THIS.PARENT." + THIS.PARENT.oPreviuspage + ".LEFT" &lcMacro = &lcMacro - _SCREEN.oRibbon.AnimationFaster ENDIF lcMacro = "THIS.PARENT." + THIS.PARENT.oLastClick + ".PageClass" lcMacro2 = "THIS.PARENT." + &lcMacro + ".LEFT" &lcMacro2 = &lcMacro2 - _SCREEN.oRibbon.AnimationFaster IF &lcMacro2 <= 0 &lcMacro2 = 0 IF ! EMPTY(THIS.PARENT.oPreviuspage) lcMacro = "THIS.PARENT." + THIS.PARENT.oPreviuspage + ".VISIBLE = .F." &lcMacro ENDIF THIS.ENABLED = .F. ENDIF ENDPROC lTop = 67 Left = 206 Width = 20 Height = 20 ZOrderSet = 7 lcurvature = .F. Name = "m00" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "00" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" pPROCEDURE otextbox_assign LPARAMETERS vNewVal *To do: Modify this routine for the Assign method THIS.otextbox = m.vNewVal ENDPROC PROCEDURE Init PARAMETERS tnLeft, tnTop, tnHWND, toTextBox, tdDate DODEFAULT(tnLeft, tnTop, tnHWND) WITH THIS .oTextBox = toTextBox ._Calendar1.ThisDate = tdDate ._Calendar1._Refresh() .SHOW() ENDWITH ENDPROC ;PROCEDURE redraw DODEFAULT() THIS.FORECOLOR = _SCREEN.oRibbon.TabFontColor ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT._Shape2.MOUSELEAVE() ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT._Shape2.MOUSEENTER() ENDPROC Y @@{% U6 CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTMOUSEUP6 CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT MOUSEDOWN6 CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT MOUSEMOVEMouseUp, MouseDown MouseMove1131312z# )@PROCEDURE Init DODEFAULT() WITH THIS .nMenuLeft = (.PARENT.RibbonTextBox1.WIDTH * -1) .PanelClass = "" .Path_Form_Menu = "" .Marlett.VISIBLE = .T. ENDWITH ENDPROC PROCEDURE Command1.MouseDown LPARAMETERS nButton, nShift, nXCoord, nYCoord LOCAL loName DODEFAULT() IF VARTYPE(THIS.PARENT.PARENT.RibbonTextBox1.VALUE) # "D" RETURN ENDIF WITH THIS.PARENT loName = CREATEOBJECT("RibbonFormCalendar", OBJTOCLIENT(THIS, 2) + .nMenuLeft, ; OBJTOCLIENT(THIS, 1) + THIS.HEIGHT - 2 + .nMenuTop, THISFORM.HWND, ; .PARENT.RibbonTextBox1, .PARENT.RibbonTextBox1.VALUE) _SCREEN.oRibbon.LastOpenForm = loName THIS.MOUSEENTER() ENDWITH ENDPROC  Top = 2 Left = 73 Width = 15 Height = 18 lcurvature = .F. Name = "Ribboncommandbutton1" Image1.Height = 16 Image1.Left = 6 Image1.Top = 30 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Left = 26 Ribbonlabel1.Top = 27 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 25 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Left = 2 Marlett.Top = 3 Marlett.Name = "Marlett" gPROCEDURE redraw WITH THIS .RibbonTextBox1.Redraw() .BACKCOLOR = .RibbonTextBox1.BACKCOLOR .BORDERCOLOR = .RibbonTextBox1.BORDERCOLOR .RibbonCommandButton1.Redraw() ENDWITH ENDPROC PROCEDURE thisenabled PARAMETERS tlEnabled WITH THIS IF PCOUNT() = 1 .ENABLED = tlEnabled .RibbonTextBox1.ENABLED = tlEnabled .RibbonCommandButton1.ThisEnabled(tlEnabled) ENDIF ENDWITH ENDPROC PROCEDURE setvalue *-- Thanks to Claudio Luna (Uruguay) LPARAMETERS tdvalue IF VARTYPE(tdvalue) = 'D' THIS.ribbontextbox1.VALUE = tdvalue ELSE RETURN .F. ENDIF ENDPROC PROCEDURE getvalue *-- Thanks to Claudio Luna (Uruguay) RETURN THIS.ribbontextbox1.VALUE ENDPROC PROCEDURE Init WITH THIS IF EMPTY(.RibbonTextBox1.CONTROLSOURCE) .RibbonTextBox1.VALUE = {} ENDIF .HEIGHT = 22 .Redraw() .ThisEnabled(.ENABLED) ENDWITH ENDPROC q XX%_A}U'   T-T9(C BACKCOLOR9Header(C FORECOLOR9 Header/CFONTNAME MS Sans SerifHeader"CFONTSIZE Header  T 18. &lcMacro .BORDERCOLOR = _SCREEN.oRibbon.LinesColor T 28. &lcMacro .BORDERCOLOR = _SCREEN.oRibbon.LinesColor T 38. &lcMacro .BORDERCOLOR = _SCREEN.oRibbon.LinesColor T 48. &lcMacro .BORDERCOLOR = _SCREEN.oRibbon.LinesColor U LNCONLCMACROTHISTHEMES GRIDLINECOLORORIBBON LINESCOLORSETALL BACKCOLOR2 FONTCOLORPARENTNAMEVB(>CC_LINE Ha: >TC_ . &lcMacro .LEFT = THIS.LEFT . &lcMacro .TOP = THIS.TOP . &lcMacro .HEIGHT = 0 &. &lcMacro .WIDTH = THIS.WIDTH - 4 . &lcMacro .ANCHOR = 10 . &lcMacro .VISIBLE = .T.  TC_ . &lcMacro .LEFT = THIS.LEFT . &lcMacro .TOP = THIS.TOP (. &lcMacro .HEIGHT = THIS.HEIGHT + 0 . &lcMacro .WIDTH = 0 . &lcMacro .ANCHOR = 5 !. &lcMacro .VISIBLE = .T.  +TC_ . &lcMacro .LEFT = THIS.LEFT 0. &lcMacro .TOP = THIS.TOP + THIS.HEIGHT - 1 . &lcMacro .HEIGHT = 0 &. &lcMacro .WIDTH = THIS.WIDTH - 4 . &lcMacro .ANCHOR = 10 . &lcMacro .VISIBLE = .T. . &lcMacro .COMMENT = "D"  :TC_1. &lcMacro .LEFT = THIS.LEFT + THIS.WIDTH - 1 . &lcMacro .TOP = THIS.TOP (. &lcMacro .HEIGHT = THIS.HEIGHT + 0 . &lcMacro .WIDTH = 0 . &lcMacro .ANCHOR = 5 !. &lcMacro .VISIBLE = .T. . &lcMacro .COMMENT = "H"  CULCNAMELNCONLCMACROTHISPARENT NEWOBJECTNAMEREDRAWredraw,Init11!AQQQQA3qaaaaaaAAA4Hc !)X J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)Tag = "DoN't_MoVe_SpLiT" Top = 48 Left = -31 Width = 28 Height = 192 Visible = .F. ZOrderSet = 1 horizontal = .T. swapcolors = .F. Name = "_Title2" Image1.ZOrderSet = 0 Image1.Name = "Image1" Ribbonlabel1.AutoSize = .F. Ribbonlabel1.FontSize = 11 Ribbonlabel1.Alignment = 2 Ribbonlabel1.Caption = "SiderBarTitle" Ribbonlabel1.Height = 96 Ribbonlabel1.Left = 6 Ribbonlabel1.Top = 48 Ribbonlabel1.Width = 16 Ribbonlabel1.ZOrderSet = 2 Ribbonlabel1.Rotation = 90 Ribbonlabel1.Name = "Ribbonlabel1" Image2.Left = -19 Image2.Top = 6 Image2.ZOrderSet = 1 Image2.Name = "Image2" Shape1.Name = "Shape1" Ribbonlabel2.Name = "Ribbonlabel2"  %UCUTHISPARENTCOMMAND1SETFOCUS 3%    C  C  U NBUTTONNSHIFTNXCOORDNYCOORDTHISFORM WINDOWSTATEMOVABLETHISPARENTFORMMAX SENDMESSAGEHWND'% CUTHISFORM MAXBUTTONTHISPARENT MAXIMIZEFORMClick, MouseMovehDblClickn11311AA3A22RI h)wPROCEDURE MouseDown LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH THIS.PARENT THIS.VISIBLE = .F. .WIDTH = 28 ._Title2.ZORDER(0) ._Title2.VISIBLE = .T. ._Splitter1.VISIBLE = .F. .ScrollBase.VISIBLE = .F. .ScrollPage.VISIBLE = .F. ENDWITH ENDPROC PROCEDURE redraw DODEFAULT() THIS.PARENT._Title2.Ribbonlabel1.CAPTION = THIS.Ribbonlabel1.CAPTION THIS.PARENT._Title2.Ribbonlabel1._IdTranslate = THIS.Ribbonlabel1._IdTranslate ENDPROC PROCEDURE Shape1.MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord IF THIS.PARENT.PARENT.lMinimize DODEFAULT() ENDIF ENDPROC PROCEDURE Shape1.MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord IF THIS.PARENT.PARENT.lMinimize DODEFAULT() ENDIF ENDPROC PROCEDURE Shape1.MouseDown LPARAMETERS nButton, nShift, nXCoord, nYCoord IF THIS.PARENT.PARENT.lMinimize DODEFAULT() ENDIF ENDPROC Top = 0 Left = 0 Width = 192 Height = 28 ZOrderSet = 0 horizontal = .T. swapcolors = .F. Name = "_Title" Image1.ZOrderSet = 0 Image1.Name = "Image1" Ribbonlabel1.FontSize = 11 Ribbonlabel1.Caption = "SiderBarTitle" Ribbonlabel1.Height = 20 Ribbonlabel1.Left = 20 Ribbonlabel1.Top = 5 Ribbonlabel1.Width = 97 Ribbonlabel1.ZOrderSet = 2 Ribbonlabel1.Name = "Ribbonlabel1" Image2.Left = 6 Image2.ZOrderSet = 1 Image2.Name = "Image2" Shape1.Name = "Shape1" Ribbonlabel2.Name = "Ribbonlabel2"  %Q1U&CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTMOUSEUP&CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT MOUSEENTER&CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT MOUSELEAVEUNBUTTONNSHIFTNXCOORDNYCOORD" CUTHISPARENTCLICKMouseUp, MouseEnter MouseLeave MouseDown^Click112131214A1Wx) I ) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)PROCEDURE Click THIS.PARENT.Command1.SETFOCUS() ENDPROC PROCEDURE MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH THISFORM IF nButton = 1 AND .WINDOWSTATE = 0 AND .MOVABLE AND ! THIS.PARENT.FormMax SendMessage(THISFORM.HWND, 0x202, 0, 0) SendMessage(THISFORM.HWND, 0x112, 0xF012, 0) ENDIF ENDWITH ENDPROC PROCEDURE DblClick IF THISFORM.MAXBUTTON THIS.PARENT.MaximizeForm() ENDIF ENDPROC  %%XU G'TC 996T9  %C9 C T TC 9 %CT T U THIS FORECOLORLFONTALTERNATEORIBBONFONTCOLORALTERNATE FONTCOLORFONTNAME CFONTNAME LCCAPTIONLANGUAGE _IDTRANSLATECAPTION TRANSLATE>4 7%Ct3TU TLENABLEDTHISENABLED CUTHISREDRAWredraw, thisenabledInit1q1AsAAA4qAA24 g)Width = 449 Height = 25 BackColor = 219,230,244 BorderColor = 138,175,225 itemcount = ( 0) lshowmain = ( .t.) ltitlebar = ( .t.) cbasefont = ( "Segoe UI") nmaxitempos = ( 0) Name = "cntbarra" PROCEDURE Command1.MouseDown LPARAMETERS nButton, nShift, nXCoord, nYCoord LOCAL loName DODEFAULT() WITH THIS.PARENT loName = CREATEOBJECT("RibbonFormTime", OBJTOCLIENT(THIS, 2) + .nMenuLeft, ; OBJTOCLIENT(THIS, 1) + THIS.HEIGHT - 2 + .nMenuTop, THISFORM.HWND, ; .Parent, .PARENT.ReferenceDate) _SCREEN.oRibbon.LastOpenForm = loName THIS.MOUSEENTER() ENDWITH ENDPROC @PROCEDURE Click WITH THIS .VISIBLE = .F. .PARENT.ThisDate = DATE(.PARENT.nYear, .PARENT.nMonth, 1) .PARENT._Refresh() ENDWITH ENDPROC PROCEDURE Init WITH this .Month1.RibbonLabel1.CAPTION = PROPER(LEFT(_SCREEN.oRibbon.c_cMonthEx(DATE(2011, 1, 1)), 3)) .Month2.RibbonLabel1.CAPTION = PROPER(LEFT(_SCREEN.oRibbon.c_cMonthEx(DATE(2011, 2, 1)), 3)) .Month3.RibbonLabel1.CAPTION = PROPER(LEFT(_SCREEN.oRibbon.c_cMonthEx(DATE(2011, 3, 1)), 3)) .Month4.RibbonLabel1.CAPTION = PROPER(LEFT(_SCREEN.oRibbon.c_cMonthEx(DATE(2011, 4, 1)), 3)) .Month5.RibbonLabel1.CAPTION = PROPER(LEFT(_SCREEN.oRibbon.c_cMonthEx(DATE(2011, 5, 1)), 3)) .Month6.RibbonLabel1.CAPTION = PROPER(LEFT(_SCREEN.oRibbon.c_cMonthEx(DATE(2011, 6, 1)), 3)) .Month7.RibbonLabel1.CAPTION = PROPER(LEFT(_SCREEN.oRibbon.c_cMonthEx(DATE(2011, 7, 1)), 3)) .Month8.RibbonLabel1.CAPTION = PROPER(LEFT(_SCREEN.oRibbon.c_cMonthEx(DATE(2011, 8, 1)), 3)) .Month9.RibbonLabel1.CAPTION = PROPER(LEFT(_SCREEN.oRibbon.c_cMonthEx(DATE(2011, 9, 1)), 3)) .Month10.RibbonLabel1.CAPTION = PROPER(LEFT(_SCREEN.oRibbon.c_cMonthEx(DATE(2011,10, 1)), 3)) .Month11.RibbonLabel1.CAPTION = PROPER(LEFT(_SCREEN.oRibbon.c_cMonthEx(DATE(2011,11, 1)), 3)) .Month12.RibbonLabel1.CAPTION = PROPER(LEFT(_SCREEN.oRibbon.c_cMonthEx(DATE(2011,12, 1)), 3)) endwith ENDPROC Top = 1 Left = 48 Width = 34 Height = 20 Name = "buttonclose" Image1.Picture = defaultimages\buttonclose.bmp Image1.Height = 16 Image1.Left = 9 Image1.Top = 2 Image1.Width = 16 Image1.Name = "Image1" xShape2.BackStyle = 1 xShape2.BackColor = 128,0,0 xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "" Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  <%G'U)4 #TCC 96 "T 9 T C% T C%(*TCCC6'TCCC6T%9 C UTCTITLETCTEXTTNTIMETLBEEPLNTIMELNTRANSORIBBON NTIMEMSGBOXTHIS BACKCOLOR FORMBACKCOLORLEFTWIDTHTOPHEIGHTPANEL1 RIBBONLABEL1CAPTIONTIMER1INTERVAL LBEEPMSGBOXInit,1111qAA2)PROCEDURE Image1.MouseDown * ScrollBarButton.Label.MouseDown() * LPARAMETERS nButton, nShift, nXCoord, nYCoord * Transfer MouseDown() events to the button. RETURN THIS.PARENT.PARENT.MOUSEDOWN( nButton, nShift, nXCoord, nYCoord ) ENDPROC PROCEDURE Image1.MouseMove * ScrollBarButton.Label.MouseMove() * LPARAMETERS nButton, nShift, nXCoord, nYCoord * Transfer MouseMove() events to the button. RETURN THIS.PARENT.PARENT.MOUSEMOVE( nButton, nShift, nXCoord, nYCoord ) ENDPROC PROCEDURE Image1.MouseUp LPARAMETERS nButton, nShift, nXCoord, nYCoord * Transfer MouseUp() events to the button. RETURN THIS.PARENT.PARENT.MOUSEUP( nButton, nShift, nXCoord, nYCoord ) ENDPROC w ^^% U9#BCUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT MOUSEDOWN9#BCUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT MOUSEMOVE9#BCUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTMOUSEUPImage1.MouseDown,Image1.MouseMoveImage1.MouseUp1333333132  )^Width = 17 Height = 200 BorderWidth = 1 TabStop = .F. BackColor = 208,208,208 fieldheight = 0 noresize = .T. continuousscroll = .T. lineincrement = 20 mouseyoffset = 0 draggingslide = .F. slidemoved = .NULL. slidetop = 0 scrollobject = .NULL. timerdelay = 200 timerinterval = 100 pagescrollfactor = 1 buttonspecialeffect = 2 baseobject = .NULL. scrollobjectname = baseobjectname = Name = "_verticalscrollbar"  rr%qEU l(h%%CCredrawhdCC T9 T 9 'T C999 T9T9T 9ULNITHIS CONTROLCOUNTCONTROLSCLASSREDRAW_SHAPE1 BORDERCOLORORIBBON LINESCOLOR_SHAPE2 BACKCOLOR2 BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLOR_IMAGE1PICTURE CFILEBMP6 RIBBONLABEL1 FORECOLOR FONTCOLORSHADOW SHADOWCOLOR )TTTT9TT T  C C  T9TT T  C T9$TC999TT TT  C  T9TT TT  C T T  TT  C T9T%T  TUTHIS BORDERWIDTH BACKSTYLE RIBBONLABEL1 BORDERSTYLE FORECOLORORIBBON FONTCOLORLEFTTOPWIDTHZORDERREDRAW_IMAGE1PICTURE CFILEBMP6_SHAPE2 BORDERCOLOR BACKCOLOR2 BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORHEIGHT_SHAPE1 LINESCOLORSHADOW SHADOWCOLORVISIBLELSHADOWredraw,InitG1qQ1AAAaaqaaaA5A1QA1RA1AQQA1AQQ1qqAA4;V)r J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)&PROCEDURE reload THIS.INIT() ENDPROC PROCEDURE Init LOCAL llOldLock llOldLock = THISFORM.LOCKSCREEN THISFORM.LOCKSCREEN = .T. DODEFAULT() WITH THIS .LEFT = 0 .WIDTH = .PARENT.WIDTH .ANCHOR = 15 ._Splitter1.VISIBLE = .lSplitter ENDWITH WITH THIS.ScrollPage .TOP = 0 .LEFT = THIS._Splitter1.LEFT + IIF(THIS.lSplitter, THIS._Splitter1.WIDTH, 1) .HEIGHT = THIS.HEIGHT .WIDTH = THIS.WIDTH - .LEFT .ANCHOR = 15 ENDWITH WITH THIS.ScrollBase .TOP = THIS._Title.HEIGHT .LEFT = 0 .HEIGHT = THIS.HEIGHT - .TOP .WIDTH = THIS._Splitter1.LEFT + 1 .ANCHOR = 7 IF VARTYPE(.ScrollContainer) = "O" .REMOVEOBJECT("ScrollContainer") ENDIF IF NOT EMPTY(THIS.ScrollContainer) .NEWOBJECT("ScrollContainer", THIS.ScrollContainer) .ZORDER(0) .VISIBLE = .T. WITH .ScrollContainer .LEFT = 0 .TOP = 0 .WIDTH = .PARENT.WIDTH - .PARENT._VerticalScrollBar.WIDTH .VISIBLE = .T. .ANCHOR = 10 .ZORDER(0) .PARENT._VerticalScrollBar.ScrollObjectName = "THIS.PARENT.ScrollContainer" .PARENT._VerticalScrollBar.RESIZE() ENDWITH ENDIF ENDWITH WITH THIS._Title .TOP = 0 .LEFT = 0 .WIDTH = THIS._Splitter1.LEFT + IIF(THIS.lSplitter, 0, 1) .BORDERWIDTH = 1 .Image2.VISIBLE = IIF(EMPTY(.Image2.PICTURE) OR !FILE(.Image2.PICTURE), .F., .T.) .RibbonLabel1.CAPTION = THIS.ScrollBase.ScrollContainer._Title .RibbonLabel1._IdTranslate = THIS.ScrollBase.ScrollContainer._TitleIdTranslate .RibbonLabel1.ReDraw() .Shape1.MOUSEPOINTER = IIF(THIS.lMinimize, 9, 0) .VISIBLE = .T. .ANCHOR = 0 ENDWITH WITH THIS._Title2 .RibbonLabel1.CAPTION = THIS._Title.RibbonLabel1.CAPTION .RibbonLabel1._IdTranslate = THIS._Title.RibbonLabel1._IdTranslate .VISIBLE = .F. .RibbonLabel1.ReDraw() ENDWITH THISFORM.LOCKSCREEN = llOldLock ENDPROC  %+p:U+ $%@!TC6 %TT T  T  TT-CTCC QC0'TCC\'T CC\=TCC \CC6=T CC \CC  6TTaUTHISFORM SHOWWINDOW WINDOWSTATETHISPARENTFORMMAX BORDERSTYLE FORMBORDERLEFTFORMLEFTTOPFORMTOPHEIGHT FORMHEIGHTWIDTH FORMWIDTH SETPARAMFORMLCBUFFERSYSTEMPARAMETERSINFO BUF2DWORDClick,1!aqqqqqA1qArrqAAAA2) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)PROCEDURE Click WITH THISFORM IF .SHOWWINDOW # 2 .WINDOWSTATE = IIF(.WINDOWSTATE = 0, 2, 0) ELSE IF THIS.PARENT.PARENT.FormMax .BORDERSTYLE = THIS.PARENT.PARENT.FormBorder .LEFT = THIS.PARENT.PARENT.FormLeft .TOP = THIS.PARENT.PARENT.FormTop .HEIGHT = THIS.PARENT.PARENT.FormHeight .WIDTH = THIS.PARENT.PARENT.FormWidth THIS.PARENT.PARENT.FormMax = .F. ELSE THIS.PARENT.PARENT.SetParamForm() LOCAL lcBuffer lcBuffer = REPLI(CHR(0), 16) = SystemParametersInfo(48, 0, @lcBuffer, 0) .LEFT = THIS.PARENT.PARENT.buf2dword(SUBSTR(lcBuffer, 1,4)) + 1 .TOP = THIS.PARENT.PARENT.buf2dword(SUBSTR(lcBuffer, 5,4)) + 1 .WIDTH = THIS.PARENT.PARENT.buf2dword(SUBSTR(lcBuffer, 9,4)) - IIF(EMPTY(.LEFT), 0, .LEFT) - 2 .HEIGHT = THIS.PARENT.PARENT.buf2dword(SUBSTR(lcBuffer, 13,4)) - IIF(EMPTY(.TOP), 0, .TOP) - 2 .BORDERSTYLE = 1 THIS.PARENT.PARENT.FormMax = .T. ENDIF ENDIF ENDWITH ENDPROC Top = 157 Left = 154 Width = 18 Height = 18 lcurvature = .F. Name = "Ribboncommandbutton3" Image1.Height = 16 Image1.Left = 6 Image1.Top = 34 Image1.Width = 16 Image1.Name = "Image1" xShape2.Top = 160 xShape2.Left = 84 xShape2.Name = "xShape2" Shape1.Top = 160 Shape1.Left = 36 Shape1.Name = "Shape1" Command1.Top = 100 Command1.Left = 50 Command1.Name = "Command1" Image2.Left = 12 Image2.Top = 103 Image2.Name = "Image2" Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "c" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 1 Ribbonlabel1.Width = 13 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 32 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" PROCEDURE MouseMove * ScrollBarButton.Label.MouseMove() * LPARAMETERS nButton, nShift, nXCoord, nYCoord * Transfer MouseMove() events to the button. RETURN this.Parent.MouseMove( nButton, nShift, nXCoord, nYCoord ) ENDPROC PROCEDURE MouseDown * ScrollBarButton.Label.MouseDown() * LPARAMETERS nButton, nShift, nXCoord, nYCoord * Transfer MouseDown() events to the button. RETURN this.Parent.MouseDown( nButton, nShift, nXCoord, nYCoord ) ENDPROC PROCEDURE MouseUp * ScrollBarButton.Label.MouseUp() * LPARAMETERS nButton, nShift, nXCoord, nYCoord * Transfer MouseUp() events to the button. RETURN this.Parent.MouseUp( nButton, nShift, nXCoord, nYCoord ) ENDPROC  fieldheight (N) Specifies the height of the scrollbar field - i.e. the space between the top and borrom arrow objects, in pixels. Returned from an _Access event. noresize (L) Specifies whether the internal resize code of the scrollbar is executed. Initialized to .T. continuousscroll (L) Specifies whether scrolling is continuous when the slide is moved, or occurs only when the mouse button is released. lineincrement (N) Specifies the number of pixels the scroll object is moved when an end button is pressed. Default is 10 pixels. mouseyoffset (N) Specifies the offset between the top of the slide control and the mouse position on the slide. Set in Slide.MouseDown(). draggingslide (L) Specifies whether the slide control is being dragged. Default is false. Set in the Slide.MouseDown() event. slidemoved (L) Specifies whether the slide control was moved. Set in the Slide.MouseMove() event. slidetop (N) Specifies the top position of the slide at the beginning of a slide move. Set in the MouseDown() event. scrollobject (O) A pseudo property used solely to link _Access() and _Assign() methods. The property is never set at run time. timerdelay (N) Specifies in miliseconds the interval between the initial mouse press and the start of repeat scrolling. timerinterval (N) (N) Specifies in miliseconds the timer interval between repeat scrolls. Default is 100 mSecs. which is as fast as Windows can handle without getting confused. pagescrollfactor (N) Specifies the portion of a page to scroll when the user clicks on the scroll bar background. Range is 0 to 1 where 0 is no scroll and 1 is the full page. buttonspecialeffect (N) Specifies the appearance to be applied to the bar: 0 = 3-D, 2 = Flat baseobject NULL A pseudo property used solely to link _Access() and _Assign() methods. scrollobjectname (C) Specifies the full hierarchy path of the object to be scrolled. baseobjectname (C) Specifies the full hierarchy path name of the Base Object. *fieldheight_access (E) Returns the value of the Fieldheight property. *scrolled (M) Occurs when either arrow is clicked or the slide is moved. *scroll (M) Moves the scroll object up or down one line. *enabled_assign *scrollslide (M) Executues a scroll when the user moves the slide. *setslidetop (M) Positions the slide after a scroll from clicking an arrow or bar background. *scrollpage (M) Scrolls one page up or down. *scrollobject_access *buttonspecialeffect_assign *baseobject_access *scrollobjectname_assign *baseobjectname_assign *redraw *omove PROCEDURE Init DODEFAULT() WITH THIS .WIDTH = .PARENT.WIDTH - (.LEFT * 2) .ANCHOR = 10 .nHeight = .HEIGHT IF .lminimized AND .lminimize ._SideBarTitle1.MOUSEDOWN() ENDIF ENDWITH ENDPROC PROCEDURE Moved WITH THIS ._SideBarTitle1.VISIBLE = IIF(.PARENT.TOP + .TOP + ._SideBarTitle1.HEIGHT < 0, .F., .T.) .VISIBLE = IIF(.PARENT.TOP + .TOP + .HEIGHT < 0, .F., .T.) ENDWITH ENDPROC  hh%u-U T9'TC999*T C 9 9 6*TC 996UTHISSHAPE1 BORDERCOLORORIBBON LINESCOLOR BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORIMAGE1PICTURE SWAPCOLORS CFILEBMP2 CFILEBMP7 RIBBONLABEL1 FORECOLORSELECTEDBUTTONFONTCOLORBUTTONFONTCOLOR4 T %TaT)T Cd 999_ %T-U TNVALUETNMAX TLPERCENTAGE LNWIDTHBARTHISWIDTHIMAGE1VISIBLE RIBBONLABEL1CAPTION2 )TT{TTTTTTT 0 % TTTT T - C U THIS BORDERWIDTH BACKSTYLESHAPE1TOPLEFTHEIGHTWIDTH RIBBONLABEL1CAPTIONIMAGE1VISIBLEREDRAWredraw,progressInit1aqA3qAA3AABQA3 9)h %~ U T9T9T9T9 T 9 $T C999 UTHIS BORDERCOLORORIBBON LINESCOLORSELECTEDITEMBACKCOLOR ROWBACKCOLORSELECTEDITEMFORECOLOR ROWFONTCOLORFONTNAME CFONTNAME ITEMFORECOLORBUTTONFONTCOLOR ITEMBACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLOR>4 7%Ct3TU TLENABLEDTHISENABLED. ' CCUTHISREDRAW THISENABLEDENABLEDH%COACUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSEENTERH%COACUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSELEAVEredraw, thisenabledInit MouseEnterZ MouseLeave111111AA3qAA2A311A211A1  !Z{!) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)#Top = 201 Left = 252 Width = 108 Height = 28 TabIndex = 3 Name = "Ribboncommandbutton3" Image1.Height = 16 Image1.Left = 6 Image1.Top = 30 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.TabStop = .T. Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "Return 3" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 6 Ribbonlabel1.Width = 103 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  %?1UT9UORIBBON LASTOPENFORM4 TC^TTTC T C  #T CC C C  %T C4RSC4RSC TCC \4RS TCC \4RS%C%iTC%%C%T5C CT C  C C  C $C @TTTTTT9'TC9 9!9C"U#TNLEFTTNTOPTNHWNDTHIS BACKCOLOR BORDERSTYLELEFTTOPCOMMAND1CLICKLSTYLEGETWINDOWLONGAHWNDSETWINDOWLONGALQPTCLIENTTOSCREENWIDTHHEIGHT SETWINDOWRGNCREATEROUNDRECTRGN NCURVATURELNSTYLE GETCLASSLONG SETCLASSLONG SETPARENT SETWINDOWPOS_SHAPE11 CURVATURE BORDERCOLORORIBBON LINESCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORZORDER CUTHISRELEASEs l(h%%CCredrawhdCCULNITHIS CONTROLCOUNTCONTROLSCLASSREDRAWUnload,Init\ Deactivateredraw1!2q1S!A!ARAaa!aqA53qQ1AAA13N[&|<(F@)PROCEDURE redraw WITH THIS .BACKCOLOR = _SCREEN.oRibbon.BackColor2 .TopLine.BORDERCOLOR = _SCREEN.oRibbon.BackGround .BottomLine.BORDERCOLOR = _SCREEN.oRibbon.BackGround .Image1.PICTURE = _SCREEN.oRibbon.cFileBMP6 .Image1.VISIBLE = .ShowBackImage ENDWITH LOCAL lnI WITH THIS FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "redraw", 5) .CONTROLS(lnI).ReDraw() ENDIF ENDFOR ENDWITH ENDPROC PROCEDURE Init WITH THIS .WIDTH = THIS.PARENT.WIDTH .ANCHOR = 10 .BACKCOLOR = _SCREEN.oRibbon.BackColor2 .BORDERWIDTH = 0 .TopLine.BORDERCOLOR = _SCREEN.oRibbon.BackGround .TopLine.TOP = 0 .TopLine.LEFT = 0 .TopLine.WIDTH = .WIDTH .TopLine.VISIBLE = .ShowTopLine .TopLine.ANCHOR = .ANCHOR .BottomLine.BORDERCOLOR = _SCREEN.oRibbon.BackGround .BottomLine.TOP = THIS.HEIGHT - 1 .BottomLine.LEFT = 0 .BottomLine.WIDTH = .WIDTH .BottomLine.VISIBLE = .ShowBottomLine .BottomLine.ANCHOR = .ANCHOR ENDWITH WITH THIS.Image1 .ZORDER(1) .LEFT = 0 .TOP = 0 .HEIGHT = THIS.HEIGHT .WIDTH = THIS.WIDTH .PICTURE = _SCREEN.oRibbon.cFileBMP6 .ANCHOR = 15 .VISIBLE = THIS.ShowBackImage ENDWITH ENDPROC PROCEDURE MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH THISFORM IF nButton = 1 AND .WINDOWSTATE = 0 AND .MOVABLE AND THIS.MOVABLE SendMessage(THISFORM.HWND, 0x202, 0, 0) SendMessage(THISFORM.HWND, 0x112, 0xF012, 0) ENDIF ENDWITH ENDPROC  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)#Top = 201 Left = 132 Width = 108 Height = 28 TabIndex = 2 Name = "Ribboncommandbutton2" Image1.Height = 16 Image1.Left = 6 Image1.Top = 30 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.TabStop = .T. Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "Return 2" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 6 Ribbonlabel1.Width = 103 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" Top = 1 Left = 24 Width = 24 Height = 20 Name = "buttonmax" Image1.Picture = defaultimages\buttonmax.bmp Image1.Height = 16 Image1.Left = 4 Image1.Top = 2 Image1.Width = 16 Image1.Name = "Image1" xShape2.BackStyle = 1 xShape2.BackColor = 0,128,255 xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "" Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)lTop = 67 Left = 225 Width = 20 Height = 20 ZOrderSet = 8 lcurvature = .F. Name = "m10" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "10" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" G ..8%$]U T9T9T9T9T 9T 9 T 9 $TC999T9 TUTHIS BORDERCOLORORIBBON LINESCOLORSELECTEDBACKCOLOR ROWBACKCOLORSELECTEDFORECOLOR ROWFONTCOLORSELECTEDITEMBACKCOLORSELECTEDITEMFORECOLOR FORECOLORBUTTONFONTCOLORFONTNAME CFONTNAME BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLOR ITEMFORECOLOR ITEMBACKCOLOR>4 7%Ct3TU TLENABLEDTHISENABLEDH%COACUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSELEAVEH%COACUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSEENTER. ' CCUTHISREDRAW THISENABLEDENABLEDredraw, thisenabled, MouseLeave MouseEnterInit11111111A1A3qAA211A211A2A2;]VwI$).]AutoSize = .F. ButtonCount = 2 BackStyle = 0 BorderStyle = 0 Value = 1 Height = 17 Left = 33 Top = 138 Width = 80 ZOrderSet = 51 Name = "OptAmPm" Option1.FontSize = 8 Option1.BackStyle = 0 Option1.Caption = "AM" Option1.Value = 1 Option1.Height = 17 Option1.Left = 5 Option1.Style = 0 Option1.Top = 0 Option1.Width = 34 Option1.AutoSize = .F. Option1.Name = "Option1" Option2.FontSize = 8 Option2.BackStyle = 0 Option2.Caption = "PM" Option2.Height = 17 Option2.Left = 48 Option2.Style = 0 Option2.Top = 0 Option2.Width = 34 Option2.AutoSize = .F. Option2.Name = "Option2" Y @@{% U6 BCUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT MOUSEMOVE6 BCUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT MOUSEDOWN6 BCUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTMOUSEUP MouseMove, MouseDownMouseUp1323231 )@PROCEDURE redraw WITH THIS .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .SELECTEDITEMBACKCOLOR = _SCREEN.oRibbon.RowBackColor .SELECTEDITEMFORECOLOR = _SCREEN.oRibbon.RowFontColor .FONTNAME = _SCREEN.oRibbon.cFontName .ITEMFORECOLOR = _SCREEN.oRibbon.ButtonFontColor .ITEMBACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) ENDWITH ENDPROC PROCEDURE thisenabled PARAMETERS tlEnabled WITH THIS IF PCOUNT() = 1 .ENABLED = tlEnabled ENDIF ENDWITH ENDPROC PROCEDURE Init WITH THIS .ReDraw() .ThisEnabled(.ENABLED) ENDWITH ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT._Shape2) = "O" THIS.PARENT._Shape2.MOUSEENTER() ENDIF ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT._Shape2) = "O" THIS.PARENT._Shape2.MOUSELEAVE() ENDIF ENDPROC PROCEDURE Timer LOCAL lcMacro, lcMacro2 IF ! EMPTY(THIS.PARENT.oPreviuspage) lcMacro = "THIS.PARENT." + THIS.PARENT.oPreviuspage + ".VISIBLE = .T." &lcMacro lcMacro = "THIS.PARENT." + THIS.PARENT.oPreviuspage + ".LEFT" &lcMacro = &lcMacro - _SCREEN.oRibbon.AnimationFaster ENDIF lcMacro = "THIS.PARENT." + THIS.PARENT.oLastClick + ".PageClass" lcMacro2 = "THIS.PARENT." + &lcMacro + ".LEFT" &lcMacro2 = &lcMacro2 - _SCREEN.oRibbon.AnimationFaster IF &lcMacro2 <= THIS.Parent.ShapeTabs.LEFT &lcMacro2 = THIS.Parent.ShapeTabs.LEFT IF ! EMPTY(THIS.PARENT.oPreviuspage) lcMacro = "THIS.PARENT." + THIS.PARENT.oPreviuspage + ".VISIBLE = .F." &lcMacro ENDIF THIS.ENABLED = .F. ENDIF ENDPROC  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)Top = 72 Left = 3 Name = "Ribbonbuttongroup1" Image1.Height = 32 Image1.Width = 32 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" x1.Name = "x1" x2.Name = "x2" z1.Name = "z1" z2.Name = "z2" x6.Name = "x6" x5.Name = "x5" x4.Name = "x4" x3.Name = "x3" z3.Name = "z3" z4.Name = "z4"   %n@ ZUL4 #TCCC6JTCCC-CC\CCC> ...66 7T J ( J(T9T%CN H- MT- sT  T 0T @T%CCTCCf H  C>T- XeT ?T !T IT*%CCC CC0 TC"TCC a-6$TCCC6CTCC,C C TC H} T -T!-T"- \T -T!C T!CC T"- T -T!C T!CC T"C T"CC  }T C T CC T!C T!CC T"C T"CC C C!C"+%CNC 9# 3T$T%&T%'aT(&T('aT)aC U* TCCAPTIONTXICONTCTITLE TCBUTTONS TCICONFILE TNTIMEOUT LNBUTTONSLNCON LCCAPTION LACAPTIONTHIS BORDERSTYLEHEIGHT MAXHEIGHT MINHEIGHTWIDTHMAXWIDTHMINWIDTH BACKCOLORORIBBON FORMBACKCOLOR RIBBONLABEL1CAPTIONIMAGE1VISIBLEPICTURE_16_32_48_64 _TITLEBAR1REDRAWRIBBONCOMMANDBUTTON1RIBBONCOMMANDBUTTON2RIBBONCOMMANDBUTTON3SHOWPROGRESSMESSAGEBOXNTIMETIMER1INTERVALENABLEDTIMER2 _PROGRESSBAR1B9UORIBBONNOPTIONMESSAGEBOXInit,Unload=12AA1QQQQQAAQ!Q!Q!Q!QAA1A!AAAA32 X e) PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT.COMMAND1.MOUSEENTER() ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT.COMMAND1.MOUSELEAVE() ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT.COMMAND1.MOUSELEAVE() ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT.COMMAND1.MOUSEENTER() ENDPROC  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,),Height = 28 border = .T. Name = "ribboncommandbutton" Image1.Height = 16 Image1.Top = 6 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.AutoSize = .F. Ribbonlabel1.FontSize = 9 Ribbonlabel1.Alignment = 2 Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 26 Ribbonlabel1.Top = 6 Ribbonlabel1.Width = 56 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Top = 7 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Top = 8 Marlett.Name = "Marlett"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)2PROCEDURE redraw LOCAL lnI, lcMacro WITH THIS FOR lnI = 1 TO .BUTTONCOUNT TRY lcMacro = ".Option" + TRANSFORM(lnI) + ".FORECOLOR = _SCREEN.oRibbon.ButtonFontColor" &lcMacro lcMacro = ".Option" + TRANSFORM(lnI) + ".FONTNAME = _SCREEN.oRibbon.cFontName" &lcMacro lcMacro = ".Option" + TRANSFORM(lnI) + ".INIT()" &lcMacro CATCH ENDTRY ENDFOR ENDWITH ENDPROC PROCEDURE thisenabled PARAMETERS tlEnabled LOCAL lnI WITH THIS IF PCOUNT() = 1 .ENABLED = tlEnabled .SETALL("Enabled", tlEnabled, "OptionButton") ENDIF ENDWITH ENDPROC PROCEDURE Init WITH THIS .BORDERSTYLE = 0 .ReDraw() .ThisEnabled(.ENABLED) ENDWITH ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT._Shape2) = "O" THIS.PARENT._Shape2.MOUSEENTER() ENDIF ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT._Shape2) = "O" THIS.PARENT._Shape2.MOUSELEAVE() ENDIF ENDPROC PROCEDURE Option1.MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT.PARENT._Shape2) = "O" THIS.PARENT.PARENT._Shape2.MOUSELEAVE() ENDIF ENDPROC PROCEDURE Option1.MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT.PARENT._Shape2) = "O" THIS.PARENT.PARENT._Shape2.MOUSEENTER() ENDIF ENDPROC PROCEDURE Option2.MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT.PARENT._Shape2) = "O" THIS.PARENT.PARENT._Shape2.MOUSEENTER() ENDIF ENDPROC PROCEDURE Option2.MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT.PARENT._Shape2) = "O" THIS.PARENT.PARENT._Shape2.MOUSELEAVE() ENDIF ENDPROC PROCEDURE Option3.MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT.PARENT._Shape2) = "O" THIS.PARENT.PARENT._Shape2.MOUSELEAVE() ENDIF ENDPROC PROCEDURE Option3.MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT.PARENT._Shape2) = "O" THIS.PARENT.PARENT._Shape2.MOUSEENTER() ENDIF ENDPROC  b I I v%R f U.TMenuItemCCZ 0T.TMenuItemCCZ 0'C cntMenuItemTC -6%'=lnLeft = this.&lcPrevItem..Left + this.&lcPrevItem..Width WITH this.&lcItemName.T C 6T T CC6TT TaRETURN this.&lcItemName. U VCCAPTIONVCHOTKEYVNWIDTH LCITEMNAMELNLEFT LCPREVITEMTHIS ITEMCOUNT ADDOBJECT LSHOWMAINTOP LTITLEBARLEFTCHOTKEY ITEMINDEX CBASEFONTVISIBLEl+TMenuItemCCZ 0#this.&lcItemName..Visible = .f. CU VNITEMINDEX LCITEMNAMETHISREFRESHd %QTwinCC Z&vname..show T%](Y+TMenuItemCCZ 0WITH this.&lcItemName.U%   T -Q%  M T aC U VNITEMINDEX VLSHOWHOTKEYSVNAMELNCOUNT LCITEMNAME LLSUBMENUTHIS LSHOWHOTKEYS ITEMCOUNT LSELECTED ITEMINDEXPARENTREFRESH\ UT9T9"TC99U THIS BORDERCOLORORIBBON LINESCOLOR BACKCOLOR BACKCOLOR2BAR CHANGECOLOR BACKGROUNDT UTHISIMAGE1LEFTWIDTH#TC -6 T TT ( +TMenuItemCCZ 0$IF this.&lcItemName..VisibleT% TNClnLeft = this.&lcPrevVisible..Left + this.&lcPrevVisible..Width WITH this.&lcItemName. C T TC6%  T  T  T&IF this.&lcItemName..lSelected%this.&lcItemName..lSelected = .f. %C 2lnNewSelected = this.&lcPrevVisible..ItemIndex %  %C 3lnNewSelected = this.&lcFirstVisible..ItemIndex ULNCOUNT LCITEMNAMELNLEFTLNITEMS LNNEWSELECTED LCPREVVISIBLELCFIRSTVISIBLE LLANYSELECTEDTHIS LSHOWMAIN NMAXITEMPOS ITEMCOUNTREFRESHLEFTTOP LTITLEBARWIDTH LSELECTED LMINIMIZED  CUTHISREDRAW addmenuitem, hidemenuitemselectmenuitemPredrawAResizeRefresh:Init! 1qqAAA2ur12qAAAAAB311!A32>A2AbAeAcQ#AAAA3AB2A2B$X23u. Q9K m Y; \b=)I  %-$NUa 8TT-C C TTTT T T 9 TTT ZT  TT "TC 6CUTHIS BORDERWIDTHIMAGE2VISIBLEZORDERLEFTTOPHEIGHTPARENTWIDTHANCHOR BACKCOLORORIBBON BACKGROUND RIBBONLABEL1SHAPE1 MOUSEPOINTER LMINIMIZETT-TaT aT aT aU NBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTWIDTHVISIBLE_TITLE _SPLITTER1 SCROLLBASE SCROLLPAGEInit, MouseDown61AA1!!A!A31!A2)AutoSize = .F. Alignment = 2 Caption = "....." Height = 17 Left = 7 Top = 43 Width = 236 ZOrderSet = 3 Name = "Ribbonlabel1"  Top = 2 Left = 138 Width = 15 Height = 18 lcurvature = .F. Name = "Ribboncommandbutton1" Image1.Height = 16 Image1.Left = 6 Image1.Top = 30 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Left = 26 Ribbonlabel1.Top = 27 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 25 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Left = 2 Marlett.Top = 3 Marlett.Name = "Marlett"  hhՄ%.UT-TC TaT -T -T -U NBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTVISIBLEWIDTH_TITLE2ZORDER _SPLITTER1 SCROLLBASE SCROLLPAGEJ CTTUTHISPARENT_TITLE2 RIBBONLABEL1CAPTION _IDTRANSLATE9%2 CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT LMINIMIZE9%2 CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT LMINIMIZE9%2 CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT LMINIMIZE MouseDown,redraw9Shape1.MouseLeaveShape1.MouseEnter<Shape1.MouseDown11A431aA31aA31aA2 #S{l#)hi PPR%U~ C wTT T% sC U THISWIDTHPARENTLEFTANCHORNHEIGHTHEIGHT LMINIMIZED LMINIMIZE_SIDEBARTITLE1 MOUSEDOWNn g0TC -a6*TC -a6UTHIS_SIDEBARTITLE1VISIBLEPARENTTOPHEIGHTInit,Moved1aAA3A3  )PC **7%r U*TaUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTIMAGE1VISIBLE*T-UNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTIMAGE1VISIBLE&CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT MOUSEDOWN MouseLeave, MouseEnter MouseDown 11A21A311e= )*PROCEDURE MouseUp LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT.MOUSEUP() ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT.MOUSEENTER() ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT.MOUSELEAVE() ENDPROC PROCEDURE MouseDown LPARAMETERS nButton, nShift, nXCoord, nYCoord *THIS.PARENT.MOUSEDOWN() ENDPROC PROCEDURE Click WITH THIS .PARENT.CLICK() ENDWITH ENDPROC  %UsU! CT9UTHIS BACKCOLORORIBBON BACKGROUNDD jTT T/TCC C0 -a6T T T T TT  T C4,TCAuxiliary Label-a6 CUTHISWIDTHPARENTANCHOR BORDERWIDTHIMAGE2VISIBLEPICTURESHAPE1 BORDERSTYLE BACKSTYLETOPLEFTHEIGHTZORDER RIBBONLABEL2CAPTIONredraw,Initw1Q2!AAA4Je)TPROCEDURE redraw WITH THIS .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .SELECTEDBACKCOLOR = _SCREEN.oRibbon.RowBackColor .SELECTEDFORECOLOR = _SCREEN.oRibbon.RowFontColor .SELECTEDITEMBACKCOLOR = _SCREEN.oRibbon.RowBackColor .SELECTEDITEMFORECOLOR = _SCREEN.oRibbon.RowFontColor .FORECOLOR = _SCREEN.oRibbon.ButtonFontColor .FONTNAME = _SCREEN.oRibbon.cFontName .BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .ITEMFORECOLOR = _SCREEN.oRibbon.ButtonFontColor .ITEMBACKCOLOR = .BACKCOLOR ENDWITH ENDPROC PROCEDURE thisenabled PARAMETERS tlEnabled WITH THIS IF PCOUNT() = 1 .ENABLED = tlEnabled ENDIF ENDWITH ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT._Shape2) = "O" THIS.PARENT._Shape2.MOUSELEAVE() ENDIF ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT._Shape2) = "O" THIS.PARENT._Shape2.MOUSEENTER() ENDIF ENDPROC PROCEDURE Init WITH THIS .ReDraw() .ThisEnabled(.ENABLED) ENDWITH ENDPROC $PROCEDURE redraw DODEFAULT() THIS.BACKCOLOR = _SCREEN.oRibbon.BackGround ENDPROC PROCEDURE Init WITH THIS .WIDTH = .PARENT.WIDTH .ANCHOR = 10 .BORDERWIDTH = 1 .Image2.VISIBLE = IIF(EMPTY(.Image2.PICTURE) OR !FILE(.Image2.PICTURE), .F., .T.) ENDWITH WITH THIS.Shape1 .BORDERSTYLE = 0 .BACKSTYLE = 0 .TOP = 0 .LEFT = 0 .WIDTH = THIS.WIDTH .HEIGHT = THIS.HEIGHT .ANCHOR = 10 .ZORDER(0) ENDWITH WITH THIS.RibbonLabel2 .VISIBLE = IIF(.CAPTION = "Auxiliary Label", .F., .T.) ENDWITH DODEFAULT() ENDPROC HPROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT.Image1.VISIBLE = .T. ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT.Image1.VISIBLE = .F. ENDPROC PROCEDURE MouseDown LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT.MOUSEDOWN() ENDPROC     T% j b U T9T9TT  C C C  (%%CCredrawhCCUTHIS BACKCOLORORIBBON BACKCOLOR2IMAGE2PICTURE CFILEBMP6VISIBLE SHOWBACKIMAGE RIBBONLABEL1CAPTIONTHISFORMCONTROLBUTTONS BUTTONMINREDRAW BUTTONMAX BUTTONCLOSELNI CONTROLCOUNTCONTROLSCLASSY4OBCC\CCC\CCC\CCC\UTCBUFFERw pTTTT T  T -U THISFORMTHIS FORMBORDER BORDERSTYLEFORMLEFTLEFTFORMTOPTOP FORMHEIGHTHEIGHT FORMWIDTHWIDTHFORMMAXCUTHISCONTROLBUTTONS BUTTONMAXCLICKS L%1T-HTaUTHIS RIBBONLABEL1WIDTHCONTROLBUTTONSVISIBLE`T CFormMax-CFormLeftCFormTopC FormHeightC FormWidthC FormBorder%BTTT TC%ATC%( C C U C TTT TTT TaCTTTCC-a6CTTTTT9T  _)T% %T  T T   T% T  T T% T  T% TT TTCT T T C9TTTT T!CT C  C"U#THISFORMTITLEBARTHIS ADDPROPERTY WINDOWSTATELEFTTOPHEIGHTWIDTH SETPARAMFORMCONTROLBUTTONS BUTTONMAXCLICKPARENT BORDERWIDTHANCHORVISIBLEIMAGE1ZORDERPICTUREIMAGE2ORIBBON CFILEBMP6 BUTTONMIN MINBUTTON BUTTONCLOSE MAXBUTTONCLOSABLE CONTROLBOX RIBBONLABEL1CAPTIONSHAPE1 BACKSTYLE BORDERSTYLEREDRAWredraw, buf2dword setparamformw maximizeformhResizeInit511a!AArQ1AAA2q2A613QAA2aBqqAAAA1AQAAQAAAAAAAA22*! .)8 7) PROCEDURE thisenabled PARAMETERS tlEnabled WITH THIS IF PCOUNT() = 1 .ENABLED = tlEnabled ENDIF ENDWITH ENDPROC PROCEDURE redraw WITH THIS .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .FORECOLOR = _SCREEN.oRibbon.ButtonFontColor .SELECTEDBACKCOLOR = _SCREEN.oRibbon.BackGround .SELECTEDFORECOLOR = _SCREEN.oRibbon.FontColor .FONTNAME = _SCREEN.oRibbon.cFontName .BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .DISABLEDBACKCOLOR = _SCREEN.oRibbon.InEditBackDisable .DISABLEDFORECOLOR = _SCREEN.oRibbon.InEditForeDisable ENDWITH ENDPROC PROCEDURE Init WITH THIS .ReDraw() .ThisEnabled(.ENABLED) ENDWITH ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT._Shape2) = "O" THIS.PARENT._Shape2.MOUSEENTER() ENDIF ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT._Shape2) = "O" THIS.PARENT._Shape2.MOUSELEAVE() ENDIF ENDPROC PROCEDURE GotFocus WITH THIS .BORDERCOLOR = _SCREEN.oRibbon.InEditFrameColor .BACKCOLOR = _SCREEN.oRibbon.InEditBackColor .FORECOLOR = _SCREEN.oRibbon.InEditForeColor ENDWITH ENDPROC PROCEDURE LostFocus THIS.Redraw() ENDPROC PROCEDURE Click RAISEEVENT(this.Parent,"Click") ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord *this.Parent.Hottrackoff() ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord this.Parent.Hottrackon() ENDPROC PROCEDURE GotFocus this.Parent.Hottrackon() ENDPROC PROCEDURE LostFocus this.Parent.Hottrackoff() ENDPROC  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)caption Specifies the text displayed in an object's caption. lselected Specifies if an item is selected in a ComboBox or ListBox control. itemindex chotkey lshowhotkey cskipforexp citemkey cbasefont ccomponentid Used to link with the skin definition lfixedwidth lsubmenu npopuplocation *caption_assign *lselected_assign *hottrackon *hottrackoff *chotkey_assign *lshowhotkey_assign *cskipforexp_assign *enabled_assign *cbasefont_assign *skin ^askindata[1,0] *lsubmenu_assign PROCEDURE Timer LOCAL lcMacro, lcMacro2 IF ! EMPTY(THIS.PARENT.oPreviuspage) lcMacro = "THIS.PARENT." + THIS.PARENT.oPreviuspage + ".VISIBLE = .T." &lcMacro lcMacro = "THIS.PARENT." + THIS.PARENT.oPreviuspage + ".LEFT" &lcMacro = &lcMacro - _SCREEN.oRibbon.AnimationFaster ENDIF lcMacro = "THIS.PARENT." + THIS.PARENT.oLastClick + ".PageClass" lcMacro2 = "THIS.PARENT." + &lcMacro + ".LEFT" &lcMacro2 = &lcMacro2 - _SCREEN.oRibbon.AnimationFaster IF &lcMacro2 <= 3 &lcMacro2 = 3 IF ! EMPTY(THIS.PARENT.oPreviuspage) lcMacro = "THIS.PARENT." + THIS.PARENT.oPreviuspage + ".VISIBLE = .F." &lcMacro ENDIF THIS.ENABLED = .F. ENDIF ENDPROC  U% J^U CUTHIS MOUSELEAVE4TC 9 9 6%C C T  CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTIMAGE2PICTURE SWAPCOLORSORIBBON CFILEBMP2 CFILEBMP7HELPOBJTHISFORM REMOVEOBJECT MOUSEENTERT 9 %C 0T SIF (OBJTOCLIENT(THIS, 2) + 2 + THISFORM. &lcMacro .WIDTH) <= THISFORM.WIDTHDTHISFORM. &lcMacro .LEFT = OBJTOCLIENT(THIS, 2) - 2 + .nMenuLeft OITHISFORM. &lcMacro .LEFT = THISFORM.WIDTH - THISFORM. &lcMacro .WIDTH PTHISFORM. &lcMacro .TOP = OBJTOCLIENT(THIS, 1) + THIS.HEIGHT + 2 + .nMenuTop !THISFORM. &lcMacro .ZORDER(0) THISFORM. &lcMacro .ReDraw() LTHISFORM. &lcMacro .VISIBLE = IIF(THISFORM. &lcMacro .VISIBLE, .F., .T.) %C HJC]C]T9  CUNBUTTONNSHIFTNXCOORDNYCOORDLCMARCO LLVISIBLELONAMETHISPARENTIMAGE2PICTUREORIBBON CFILEBMP4 PANELCLASSLCMACROPATH_FORM_MENU NMENULEFTHEIGHTNMENUTOPTHISFORMHWND LASTOPENFORM MOUSEENTERSL CCT  T  *T C 996$T C  a-6*TC 996*TC 996T9%C HCTUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT MOUSELEAVEXSHAPE2SHAPE1VISIBLEBORDERIMAGE2PICTURE SWAPCOLORSORIBBON CFILEBMP2 CFILEBMP7ENABLED RIBBONLABEL1 FORECOLORSELECTEDBUTTONFONTCOLORBUTTONFONTCOLOR RIBBONLABEL2MARLETTHELPOBJTHISFORM REMOVEOBJECT %COfC C T C a 6T C a 6'T C  a 6*TC 996*TC 996*TC 996T9$%C C - TC]TC RibbonHelpSIF (OBJTOCLIENT(THIS, 2) - 2 + THISFORM. &lcMacro .WIDTH) <= THISFORM.WIDTHN7THISFORM. &lcMacro .LEFT = OBJTOCLIENT(THIS, 2) + 2 ITHISFORM. &lcMacro .LEFT = THISFORM.WIDTH - THISFORM. &lcMacro .WIDTH 2THISFORM. &lcMacro .TOP = OBJTOCLIENT(THIS, 1) %C OPbTHISFORM. &lcMacro .TOP = OBJTOCLIENT(.PARENT.Shape1, 1) + OBJTOCLIENT(.PARENT.Shape1, 4) + 6 @THISFORM. &lcMacro .TOP = OBJTOCLIENT(THIS, 1) + .HEIGHT + 5 !THISFORM. &lcMacro .ZORDER(0) ]THISFORM. &lcMacro .Label1.CAPTION = _SCREEN.oRibbon.TRANSLATE(.HelpTitle_Id, .helptitle) YTHISFORM. &lcMacro .Label2.CAPTION = _SCREEN.oRibbon.TRANSLATE(.HelpTxt_Id, .HelpTxt) 8THISFORM. &lcMacro .Image1.PICTURE = .Image1.PICTURE 8THISFORM. &lcMacro .Image1.VISIBLE = .Image1.VISIBLE U NBUTTONNSHIFTNXCOORDNYCOORDLCMACROOOBJTHISPARENT_SHAPE2 MOUSEENTERSHAPE1VISIBLEBORDERENABLEDXSHAPE2IMAGE2PICTURE SWAPCOLORSORIBBON CFILEBMP7 CFILEBMP2 RIBBONLABEL1 FORECOLORBUTTONFONTCOLORSELECTEDBUTTONFONTCOLOR RIBBONLABEL2MARLETT HELPTITLEHELPOBJPMENUTHISFORM NEWOBJECT*%#CUTHISPARENTENABLEDCLICK LostFocus,MouseUpR MouseDown MouseLeave& MouseEnterClick 121AAA51a1AAA!AA31!!AaAA31AqaB1qA!"AAA31A3&Dd *$K.5AZ7k) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)[Width = 200 Height = 21 Picture = ..\..\..\prueba\ BorderColor = 255,255,255 caption = ("") lselected = ( .f.) itemindex = ( 0) chotkey = ( "") lshowhotkey = ( .f.) cskipforexp = ( "") citemkey = ( "") cbasefont = ( "") ccomponentid = ( "0000000003") lfixedwidth = ( .f.) lsubmenu = ( .f.) npopuplocation = 0 Name = "cntmenuitem"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)PROCEDURE redraw WITH THIS .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .SELECTEDBACKCOLOR = _SCREEN.oRibbon.BackGround .SELECTEDFORECOLOR = _SCREEN.oRibbon.FontColor .FORECOLOR = _SCREEN.oRibbon.ButtonFontColor .FONTNAME = _SCREEN.oRibbon.cFontName .BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .DISABLEDBACKCOLOR = _SCREEN.oRibbon.InEditBackDisable .DISABLEDFORECOLOR = _SCREEN.oRibbon.InEditForeDisable ENDWITH ENDPROC PROCEDURE thisenabled PARAMETERS tlEnabled WITH THIS IF PCOUNT() = 1 .ENABLED = tlEnabled ENDIF ENDWITH ENDPROC PROCEDURE Init WITH THIS .ReDraw() .ThisEnabled(.ENABLED) ENDWITH ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT._Shape2) = "O" THIS.PARENT._Shape2.MOUSEENTER() ENDIF ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT._Shape2) = "O" THIS.PARENT._Shape2.MOUSELEAVE() ENDIF ENDPROC PROCEDURE GotFocus WITH THIS .BORDERCOLOR = _SCREEN.oRibbon.InEditFrameColor .BACKCOLOR = _SCREEN.oRibbon.InEditBackColor .FORECOLOR = _SCREEN.oRibbon.InEditForeColor ENDWITH ENDPROC PROCEDURE LostFocus THIS.ReDraw() ENDPROC FTop = 136 Left = 136 Width = 40 Height = 20 ZOrderSet = 38 lcurvature = .F. Name = "Ribboncommandbutton1" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "x" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 1 Ribbonlabel1.Width = 34 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)PROCEDURE redraw WITH THIS .FORECOLOR = IIF(.lFontAlternate, _SCREEN.oRibbon.FontColorAlternate,_SCREEN.oRibbon.FontColor) .FONTNAME = _SCREEN.oRibbon.cFontName ENDWITH *--THIS.Caption translate LOCAL lcCaption WITH THIS IF !EMPTY(_SCREEN.oRibbon.LANGUAGE) AND !EMPTY(._IdTranslate) lcCaption = .CAPTION lcCaption = _SCREEN.oRibbon.Translate(._IdTranslate, .CAPTION) IF ISNULL(lcCaption) lcCaption = .CAPTION ENDIF .CAPTION = lcCaption ENDIF ENDWITH *-- ENDPROC PROCEDURE thisenabled PARAMETERS tlEnabled WITH THIS IF PCOUNT() = 1 .ENABLED = tlEnabled ENDIF ENDWITH ENDPROC PROCEDURE Init THIS.ReDraw() ENDPROC Ubackcolor1 backcolor2 fontcolor linescolor autotabclick fileini selectedcolor1 selectedcolor2 formbackcolor cfilebmp1 cfilebmp2 cfontname selectedtabfontcolor buttonfontcolor cfilebmp3 cfilebmp4 cfilebmp5 selectedbuttonfontcolor seeoutlinegroup _classname _version _date _author _email cfilebmp6 language background cfilepng1 _site lastopenform cfilebmp7 ntheme nfactorbackcolor shadowcolor c_firstdayweek c_todaycolor c_7satholi c_monholi c_3tueholi c_4wedholi c_1sunholi c_2monholi c_5thuholi c_6friholi tabfontcolor fontcoloralternate showanimationpage animationfaster ntimemsgbox lbeepmsgbox noptionmessagebox showprogressmessagebox ineditbackcolor ineditforecolor ineditframecolor ineditbackdisable ineditforedisable cfilebmp8 cfilebmp9 cfilebmp10 cfilebmp11 rowbackcolor rowfontcolor *settings *readfileini *writefileini *temppath *drawbmp *changecolor *deletebmp *translate *ntorgb *c_cdateex *c_cdowex *c_cmonthex *redraw *msgbox *waiton *waitoff *waitrefresh *messagebox *declareapi *drawgradient \backcolor1 = (RGB(234,242,253)) backcolor2 = (RGB(191,219,255)) fontcolor = (RGB(21,66,139)) linescolor = (RGB(141,178,227)) autotabclick = .F. fileini = selectedcolor1 = (RGB(255,253,222)) selectedcolor2 = (RGB(255,215,80)) formbackcolor = (RGB(255,255,255)) cfilebmp1 = cfilebmp2 = cfontname = MS Sans Serif selectedtabfontcolor = (RGB(21,66,139)) buttonfontcolor = (RGB(21,66,139)) cfilebmp3 = cfilebmp4 = cfilebmp5 = selectedbuttonfontcolor = (RGB(21,66,139)) seeoutlinegroup = .T. _classname = FoxRibbon _version = Beta v 0.14 _date = 2012.08.01 _author = Guillermo Carrero - Barcelona (Spain) _email = foxribbonclass@gmail.com cfilebmp6 = language = background = (RGB(149,194,255)) cfilepng1 = _site = http://sites.google.com/site/foxribbonclass lastopenform = cfilebmp7 = ntheme = 1 nfactorbackcolor = 50 shadowcolor = (RGB(180,180,180)) c_firstdayweek = 1 c_todaycolor = (RGB(255,150,75)) c_7satholi = .F. c_monholi = .F. c_3tueholi = .F. c_4wedholi = .F. c_1sunholi = .F. c_2monholi = .F. c_5thuholi = .F. c_6friholi = .F. tabfontcolor = (RGB(21,66,139)) fontcoloralternate = (RGB(0,0,0)) showanimationpage = .F. animationfaster = 5 ntimemsgbox = 5000 lbeepmsgbox = .F. noptionmessagebox = 0 showprogressmessagebox = .T. ineditbackcolor = (RGB(255,238,194)) ineditforecolor = (RGB(0,0,0)) ineditframecolor = (RGB(255,0,0)) ineditbackdisable = (RGB(240,240,240)) ineditforedisable = (RGB(128,128,128)) cfilebmp8 = cfilebmp9 = cfilebmp10 = cfilebmp11 = rowbackcolor = (RGB(0,64,128)) rowfontcolor = (RGB(255,255,255)) Name = "ribbonsettings"  X%B%U CUTHISINIT>TTa C {TTTT   T /TC 6T  TTT  TT  TT%COCScrollContainer%C #CScrollContainerC T aTT T T aT C/TTHIS.PARENT.ScrollContainerCT T)TC 6T/T CC C0 -a6TTC"T C! 6 T aT"'TT T -CTU# LLOLDLOCKTHISFORM LOCKSCREENTHISLEFTWIDTHPARENTANCHOR _SPLITTER1VISIBLE LSPLITTER SCROLLPAGETOPHEIGHT SCROLLBASE_TITLESCROLLCONTAINER REMOVEOBJECT NEWOBJECTZORDER_VERTICALSCROLLBARSCROLLOBJECTNAMERESIZE BORDERWIDTHIMAGE2PICTURE RIBBONLABEL1CAPTION _IDTRANSLATE_TITLEIDTRANSLATEREDRAWSHAPE1 MOUSEPOINTER LMINIMIZE_TITLE2reload,InitL12q!!AaAAaaA11AAA!AA28) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)Top = 9 Left = 152 Width = 18 Height = 18 lcurvature = .F. Name = "Ribboncommandbutton2" Image1.Height = 16 Image1.Left = 78 Image1.Top = 6 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .T. Ribbonlabel1.FontSize = 12 Ribbonlabel1.Caption = "" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 20 Ribbonlabel1.Top = -1 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Caption = "8" Marlett.Left = 3 Marlett.Top = 3 Marlett.Name = "Marlett" Top = 9 Left = 2 Width = 18 Height = 18 lcurvature = .F. Name = "Ribboncommandbutton1" Image1.Height = 16 Image1.Left = 78 Image1.Top = 6 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .T. Ribbonlabel1.FontSize = 12 Ribbonlabel1.Caption = "" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 20 Ribbonlabel1.Top = -1 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Caption = "3" Marlett.Left = 3 Marlett.Top = 3 Marlett.Name = "Marlett"  %'*Uk  `T TaTTC BU TLPAGESCROLLTNSCROLLDIRECTIONTHIS LNTIMERDELAYPARENT TIMERDELAYENABLED PAGESCROLLSCROLLDIRECTIONTIMER2 ' T-TBUTHISENABLEDINTERVAL  TTE%      %CT "CC  6  TTBU TNINTERVAL LLPAGESCROLLLNSCROLLDIRECTIONTHISSCROLLDIRECTION PAGESCROLLPARENT MOUSEOVERTOPARROW BOTTOMARROW TIMERINTERVALSCROLL PAGEINCREMENT LINEINCREMENTINTERVALT FC PageScroll- CScrollDirectionBaUTHIS ADDPROPERTY timerstart, timerstopTimer`Init$1BB2BB2sXA*ABBB2Br1 &#)? :$ v)BTop = 140 Left = 116 Width = 54 Height = 32 lcurvature = .F. Name = "Month12" Image1.Height = 16 Image1.Left = 78 Image1.Top = 28 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "Mon" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 8 Ribbonlabel1.Width = 48 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 26 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" ATop = 140 Left = 59 Width = 54 Height = 32 lcurvature = .F. Name = "Month11" Image1.Height = 16 Image1.Left = 78 Image1.Top = 28 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "Mon" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 8 Ribbonlabel1.Width = 48 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 26 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" @Top = 140 Left = 2 Width = 54 Height = 32 lcurvature = .F. Name = "Month10" Image1.Height = 16 Image1.Left = 78 Image1.Top = 28 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "Mon" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 8 Ribbonlabel1.Width = 48 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 26 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" >Top = 36 Left = 2 Width = 54 Height = 32 lcurvature = .F. Name = "Month1" Image1.Height = 16 Image1.Left = 78 Image1.Top = 28 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "Mon" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 8 Ribbonlabel1.Width = 48 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 26 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" ATop = 105 Left = 116 Width = 54 Height = 32 lcurvature = .F. Name = "Month9" Image1.Height = 16 Image1.Left = 78 Image1.Top = 28 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "Mon" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 8 Ribbonlabel1.Width = 48 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 26 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" @Top = 105 Left = 59 Width = 54 Height = 32 lcurvature = .F. Name = "Month8" Image1.Height = 16 Image1.Left = 78 Image1.Top = 28 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "Mon" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 8 Ribbonlabel1.Width = 48 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 26 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" ?Top = 105 Left = 2 Width = 54 Height = 32 lcurvature = .F. Name = "Month7" Image1.Height = 16 Image1.Left = 78 Image1.Top = 28 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "Mon" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 8 Ribbonlabel1.Width = 48 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 26 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" @Top = 71 Left = 116 Width = 54 Height = 32 lcurvature = .F. Name = "Month6" Image1.Height = 16 Image1.Left = 78 Image1.Top = 28 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "Mon" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 8 Ribbonlabel1.Width = 48 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 26 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" ?Top = 71 Left = 59 Width = 54 Height = 32 lcurvature = .F. Name = "Month5" Image1.Height = 16 Image1.Left = 78 Image1.Top = 28 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "Mon" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 8 Ribbonlabel1.Width = 48 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 26 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" >Top = 71 Left = 2 Width = 54 Height = 32 lcurvature = .F. Name = "Month4" Image1.Height = 16 Image1.Left = 78 Image1.Top = 28 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "Mon" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 8 Ribbonlabel1.Width = 48 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 26 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)@Top = 36 Left = 116 Width = 54 Height = 32 lcurvature = .F. Name = "Month3" Image1.Height = 16 Image1.Left = 78 Image1.Top = 28 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "Mon" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 8 Ribbonlabel1.Width = 48 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 26 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" 2PROCEDURE Init DODEFAULT() THIS.ReDraw() ENDPROC PROCEDURE redraw LOCAL lnColor1, lnColor2 DODEFAULT() lnColor1 = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackGround, -25) lnColor2 = RGB(240,240,240) WITH THIS .x1.BORDERCOLOR = lnColor1 .x2.BORDERCOLOR = lnColor1 .x3.BORDERCOLOR = lnColor1 .x4.BORDERCOLOR = lnColor1 .x5.BORDERCOLOR = lnColor1 .x6.BORDERCOLOR = lnColor1 .x6.BACKCOLOR = lnColor1 .z1.BORDERCOLOR = lnColor2 .z2.BORDERCOLOR = lnColor2 .z3.BORDERCOLOR = lnColor2 .z4.BORDERCOLOR = lnColor2 ENDWITH ENDPROC ?Top = 36 Left = 59 Width = 54 Height = 32 lcurvature = .F. Name = "Month2" Image1.Height = 16 Image1.Left = 78 Image1.Top = 28 Image1.Visible = .F. Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "Mon" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 8 Ribbonlabel1.Width = 48 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 26 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" Top = 1 Left = 0 Width = 24 Height = 20 Name = "Buttonmin" Image1.Picture = defaultimages\buttonmin.bmp Image1.Height = 16 Image1.Left = 4 Image1.Top = 2 Image1.Width = 16 Image1.Name = "Image1" xShape2.BackStyle = 1 xShape2.BackColor = 0,128,255 xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "" Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  ,% U1 U 4 T-TTTT 9 C Ta   T-TTTT 9 C TaUTNLEFTTNWIDTHTHISLINE1VISIBLETOPSHAPE1LEFTWIDTH BORDERCOLORORIBBON BACKCOLOR1ZORDERLINE2TTa T9T9 T 9 T 9T 9T 9 d(`$%C Ribbonpage %%CCredrawh\CC (@%CCfCfCCredrawh CCTU LLOLDLOCKTHISFORM LOCKSCREENTHIS BACKCOLORORIBBON FORMBACKCOLORIMAGE1PICTURE CFILEBMP1SHAPE1 BORDERCOLOR LINESCOLORSHAPE2 BACKGROUNDLINE1 BACKCOLOR1LINE2LNI CONTROLCOUNTCONTROLS PARENTCLASSZORDERCLASSREDRAWNAME CUTHISREDRAWc%C9OFC9fRIBBONFORMMSGBOX C9fRIBBONFORMWAIT  }<,9%C T THISFORM. IF &lcMacro .HEIGHT # 38&lcMacro .CLICK() ULCMACROORIBBON LASTOPENFORMNAMETHISYOURSTARTBUTTONM  C oLastClickC oLastPageC oPreviusPage%C 9TTHISFORM.NEWOBJECT('', '') &lcMacro %C 9TTHISFORM.NEWOBJECT('', '') &lcMacro %C t9TTHISFORM.NEWOBJECT('', '') &lcMacro TT T  T T T CT 9TT&T wCC 6TT9T  CT&TCC 6T ^TT9T  CT&TCC 6T \TT9T  T T-CBT T-C F( #%C!" RibbontabTC!#%C C$!%C% 1#TTHIS.%.CLICK() &lcMacro CU&LCMACRO LCPAGECLASSTHIS ADDPROPERTY YOURTITLEBARYOURSTARTBUTTON YOURSTATUSBARLEFTWIDTHTHISFORMHEIGHT BORDERWIDTH BACKSTYLEANCHORZORDER BACKCOLORORIBBON FORMBACKCOLORSHAPE2TOPPARENT BACKGROUNDSHAPE1 BORDERCOLOR LINESCOLORIMAGE1PICTURE CFILEBMP1LINE1VISIBLELINE2LNI CONTROLCOUNTCONTROLSCLASS PAGECLASS NEWOBJECT FIRSTTABCLICKsetline,redrawGotFocusResizeInit1A1A!!1A3qQaaaaaArAqAQ1AAAq1AAA32q31A1QAA3ACAQCaA1Aa1Aa1AAAAq1a1AqAA1AA2A5`m?7#BB>Q) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,){Top = 23 Left = 156 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 50 lcurvature = .F. Name = "o9" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "09" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" {Top = 23 Left = 137 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 49 lcurvature = .F. Name = "o8" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "08" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" {Top = 23 Left = 118 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 48 lcurvature = .F. Name = "o7" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "07" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" zTop = 23 Left = 99 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 47 lcurvature = .F. Name = "o6" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "06" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" zTop = 23 Left = 80 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 46 lcurvature = .F. Name = "o5" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "05" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" zTop = 23 Left = 61 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 45 lcurvature = .F. Name = "o4" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "04" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" zTop = 23 Left = 42 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 44 lcurvature = .F. Name = "o3" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "03" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" zTop = 23 Left = 23 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 43 lcurvature = .F. Name = "o2" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "02" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" yTop = 23 Left = 4 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 42 lcurvature = .F. Name = "o1" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "01" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" Top = 111 Left = 156 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 36 lcurvature = .F. Name = "e9" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "09" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" Top = 111 Left = 137 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 35 lcurvature = .F. Name = "e8" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "08" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" Top = 111 Left = 118 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 34 lcurvature = .F. Name = "e7" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "07" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" PROCEDURE redraw WITH THIS .Shape1.BORDERCOLOR = _SCREEN.oRibbon.LinesColor .Shape1.BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .Shadow.BACKCOLOR = _SCREEN.oRibbon.ShadowColor ENDWITH LOCAL lnI WITH THIS FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "redraw", 5) .CONTROLS(lnI).ReDraw() ENDIF ENDFOR ENDWITH ENDPROC PROCEDURE Init LOCAL lcMacro, lcPageClass WITH THIS .BORDERWIDTH = 0 .BACKSTYLE = 0 .ADDPROPERTY("oLastClick" , "") .ADDPROPERTY("oLastPage" , "") .ADDPROPERTY("oPreviusPage" , "") .ADDPROPERTY("nPages" , 0) .ADDPROPERTY("aPage[1,1]") ENDWITH WITH THIS.Shape1 .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .LEFT = 0 .TOP = 0 .HEIGHT = THIS.HEIGHT .WIDTH = THIS.WIDTH .CURVATURE = IIF(THIS.lCurvature, 7, 0) ENDWITH WITH THIS.SHADOW .LEFT = 10 .TOP = 10 .HEIGHT = THIS.HEIGHT - 6 .WIDTH = THIS.WIDTH - 6 .BACKCOLOR = _SCREEN.oRibbon.ShadowColor .CURVATURE = IIF(THIS.lCurvature, 7, 0) .VISIBLE = THIS.lShadow IF .VISIBLE THIS.WIDTH = THIS.WIDTH + 3 THIS.HEIGHT = THIS.HEIGHT + 3 ENDIF ENDWITH WITH THIS LOCAL lnI, lnIndex FOR lnI = 1 TO .CONTROLCOUNT IF .CONTROLS(lnI).CLASS == "_carouselpoint" lcPageClass = .CONTROLS(lnI).PageClass IF !EMPTY(lcPageClass) .NEWOBJECT(lcPageClass, lcPageClass) ENDIF .CONTROLS(lnI).ZORDER(1) ENDIF ENDFOR .nPages = 0 FOR lnI = 1 TO .CONTROLCOUNT IF .CONTROLS(lnI).CLASS == "_carouselpoint" .nPages = .nPages + 1 DIMENSION .aPage(.nPages) .aPage[.nPages] = PADL(TRANSFORM(.nPages), 4, "0") + .CONTROLS(lnI).NAME .CONTROLS(lnI).ZORDER(1) ENDIF ENDFOR ASORT(.aPage, 1, -1, 1) .Timer2.ENABLED = .T. TRY lcMacro = "THIS." + SUBSTR(.aPage[1], 5) +".MOUSEUP()" &lcMacro CATCH .Timer2.ENABLED = .F. ENDTRY .Shape1.ZORDER(1) .SHADOW.ZORDER(1) ENDWITH ENDPROC Top = 111 Left = 99 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 33 lcurvature = .F. Name = "e6" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "06" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)#Width = 15 Height = 15 Visible = .F. BackColor = 255,128,0 Name = "ribbonbuttongroup" Image1.Height = 32 Image1.Left = 48 Image1.Top = 120 Image1.Width = 32 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Top = 85 Shape1.Left = 3 Shape1.Name = "Shape1" Command1.Top = 72 Command1.Left = 50 Command1.Name = "Command1" Image2.Left = 12 Image2.Top = 75 Image2.Name = "Image2" Ribbonlabel1.Left = 108 Ribbonlabel1.Top = 120 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" mTop = 48 Left = 128 Width = 20 Height = 20 ZOrderSet = 10 lcurvature = .F. Name = "m50" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "50" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" ePROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH THIS .PARENT.PARENT.SETALL("VISIBLE", .T., "RIBBONGROUP") .PARENT.PARENT.SETALL("BACKCOLOR", _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackGround, 30), "RIBBONLABEL") .PARENT.Image1.VISIBLE = .T. .PARENT.RibbonLabel1.BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackGround, 20) ENDWITH ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH THIS.PARENT .Image1.VISIBLE = .F. .RibbonLabel1.BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackGround, 30) ENDWITH ENDPROC  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)Top = 0 Left = 0 Height = 160 Width = 180 DoCreate = .T. nhours = 0 nminutes = 0 nseconds = 0 otimepicker = .F. Name = "ribbonformtime" _Shape11.ZOrderSet = 0 _Shape11.Name = "_Shape11" Command1.ZOrderSet = 1 Command1.Name = "Command1"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)Top = 111 Left = 80 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 32 lcurvature = .F. Name = "e5" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "05" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)[PROCEDURE Valid LOCAL lnHour WITH THISFORM lnHour = .nHours IF THIS.VALUE = 2 lnHour = lnHour + IIF(lnHour > 12 , 0, 12) lnHour = IIF(lnHour = 24, 0, lnHour) ENDIF .oTextBox.VALUE = DATETIME(YEAR(._Calendar1.ThisDate), MONTH(._Calendar1.ThisDate), DAY(._Calendar1.ThisDate), ; lnHour, .nMinutes, .nSeconds) ENDWITH ENDPROC PROCEDURE Init DODEFAULT() WITH THIS .nMenuLeft = (.PARENT.RibbonTextBox1.WIDTH * -1) .PanelClass = "" .Path_Form_Menu = "" .Marlett.VISIBLE = .T. ENDWITH ENDPROC PROCEDURE Command1.MouseDown LPARAMETERS nButton, nShift, nXCoord, nYCoord LOCAL loName DODEFAULT() IF VARTYPE(THIS.PARENT.PARENT.RibbonTextBox1.VALUE) # "T" RETURN ENDIF WITH THIS.PARENT loName = CREATEOBJECT("RibbonFormDateTime", OBJTOCLIENT(THIS, 2) + .nMenuLeft, ; OBJTOCLIENT(THIS, 1) + THIS.HEIGHT - 2 + .nMenuTop, THISFORM.HWND, ; .PARENT.RibbonTextBox1, .PARENT.RibbonTextBox1.VALUE) _SCREEN.oRibbon.LastOpenForm = loName THIS.MOUSEENTER() ENDWITH ENDPROC Top = 111 Left = 61 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 31 lcurvature = .F. Name = "e4" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "04" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" Top = 111 Left = 42 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 30 lcurvature = .F. Name = "e3" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "03" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" Top = 111 Left = 23 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 29 lcurvature = .F. Name = "e2" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "02" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" Top = 111 Left = 4 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 28 lcurvature = .F. Name = "e1" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "01" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" |Top = 92 Left = 128 Width = 20 Height = 20 Visible = .F. ZOrderSet = 27 lcurvature = .F. Name = "s50" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "50" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" |Top = 92 Left = 109 Width = 20 Height = 20 Visible = .F. ZOrderSet = 26 lcurvature = .F. Name = "s40" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "40" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)"Top = 201 Left = 11 Width = 109 Height = 28 TabIndex = 1 Name = "Ribboncommandbutton1" Image1.Height = 16 Image1.Left = 6 Image1.Top = 30 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.TabStop = .T. Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "Return 1" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 6 Ribbonlabel1.Width = 103 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" 6 %4,U! CT9UTHIS BACKCOLORORIBBON BACKGROUNDr% (B  &T C    6!TC 6 / T%T   T  ( A%C _sidebargroupC  T "T C(+7T THIS.PARENT.PARENT.C .TOP"&lcMacro = &lcMacro - lnHeight #T  C UNBUTTONNSHIFTNXCOORDNYCOORDTHISENABLEDLNILNHEIGHTLNINDEXLCMACROPARENTHEIGHTNHEIGHT CONTROLCOUNTCONTROLSCLASSTOPAGROUPSNAME_VERTICALSCROLLBARRESIZE9%2 CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT LMINIMIZEm%f4TC  6 CU NBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT LMINIMIZE MOUSEPOINTERHEIGHTNHEIGHTm%f C4TC  6U NBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT LMINIMIZE MOUSEPOINTERHEIGHTNHEIGHTredraw, MouseDownwShape1.MouseLeaveShape1.MouseEnter!Shape1.MouseDown1Q21AA2aA1A1!AAqq!AA231aA31aAA31aAA2Jj*#R*(1.9) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,) J%eztUCUTHISFORMSETTIMETHISNAMEClick,111,)1 @%BuUs l(h%%CCredrawhdCCULNITHIS CONTROLCOUNTCONTROLSCLASSREDRAW4 %CtT(*%CC thisenabledhU TLENABLEDLNITHISENABLED CONTROLCOUNTCONTROLSCLASS THISENABLED? 8TTCUTHIS BORDERWIDTH BACKSTYLE THISENABLEDENABLEDredraw, thisenabledInit1qQ1AAA2qqAAAA2A3  ;)PROCEDURE Destroy pmenu = .F. ENDPROC PROCEDURE Init PARAMETERS tnLeft, tnTop, tnHWND DODEFAULT(tnLeft, tnTop, tnHWND) THIS._BandMenu1.RibbonMenuSeparator1.VISIBLE = .F. pmenu = .T. ENDPROC {Top = 92 Left = 90 Width = 20 Height = 20 Visible = .F. ZOrderSet = 25 lcurvature = .F. Name = "s30" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "30" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" {Top = 92 Left = 71 Width = 20 Height = 20 Visible = .F. ZOrderSet = 24 lcurvature = .F. Name = "s20" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "20" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" {Top = 92 Left = 52 Width = 20 Height = 20 Visible = .F. ZOrderSet = 23 lcurvature = .F. Name = "s10" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "10" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" {Top = 92 Left = 33 Width = 20 Height = 20 Visible = .F. ZOrderSet = 22 lcurvature = .F. Name = "s00" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "00" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" {Top = 67 Left = 156 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 19 lcurvature = .F. Name = "i9" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "09" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" {Top = 67 Left = 137 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 18 lcurvature = .F. Name = "i8" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "08" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" {Top = 67 Left = 118 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 17 lcurvature = .F. Name = "i7" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "07" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" zTop = 67 Left = 99 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 16 lcurvature = .F. Name = "i6" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "06" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  Q%U0 C$TUTHIS RIBBONLABEL2LEFTWIDTHInit,1A2`) PPROCEDURE redraw LOCAL lnI WITH THIS FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "redraw", 5) .CONTROLS(lnI).ReDraw() ENDIF ENDFOR ENDWITH WITH THIS .Image1.HEIGHT = .HEIGHT - IIF(_SCREEN.oRibbon.SeeOutlineGroup, 16, -40) .Image1.PICTURE = _SCREEN.oRibbon.cFileBMP1 .Image1.VISIBLE = .F. .Shape1.BORDERCOLOR = _SCREEN.oRibbon.LinesColor ._Shape2.BORDERCOLOR = _SCREEN.oRibbon.BackColor1 .Shape1.VISIBLE = _SCREEN.oRibbon.SeeOutlineGroup ._Shape2.VISIBLE = _SCREEN.oRibbon.SeeOutlineGroup ENDWITH WITH THIS.Ribbonlabel1 .BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackGround, 30) .BACKSTYLE = IIF(_SCREEN.oRibbon.SeeOutlineGroup, 1, 0) ENDWITH ENDPROC PROCEDURE thisenabled PARAMETERS tlEnabled LOCAL lnI WITH THIS IF PCOUNT() = 1 .ENABLED = tlEnabled FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "thisenabled", 5) .CONTROLS(lnI).ThisEnabled(.ENABLED) ENDIF ENDFOR ENDIF ENDWITH ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS._Shape2.MOUSEENTER() ENDPROC PROCEDURE Init WITH THIS .BORDERWIDTH = 0 .BACKSTYLE = 0 .TOP = 2 .ThisEnabled(.ENABLED) ENDWITH WITH THIS.Image1 .ZORDER(1) .LEFT = 1 .TOP = 1 .HEIGHT = THIS.HEIGHT - IIF(_SCREEN.oRibbon.SeeOutlineGroup, 16, -40) .WIDTH = THIS.WIDTH - 2 .PICTURE = _SCREEN.oRibbon.cFileBMP1 .VISIBLE = .F. ENDWITH WITH THIS.shape1 .TOP = 0 .LEFT = 0 .HEIGHT = THIS.HEIGHT .WIDTH = THIS.WIDTH .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .VISIBLE = _SCREEN.oRibbon.SeeOutlineGroup ENDWITH WITH THIS._Shape2 .TOP = 1 .LEFT = 1 .HEIGHT = THIS.HEIGHT - 2 .WIDTH = THIS.WIDTH - 2 .BORDERCOLOR = _SCREEN.oRibbon.BackColor1 .VISIBLE = _SCREEN.oRibbon.SeeOutlineGroup ENDWITH WITH THIS.Ribbonlabel1 .ZORDER(0) .TOP = 71 .LEFT = 2 .HEIGHT = 15 .WIDTH = THIS.WIDTH - 4 .BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackGround, 30) .CAPTION = .CAPTION + IIF(THIS.RibbonButtonGroup1.VISIBLE, SPACE(2), SPACE(0)) .BACKSTYLE = IIF(_SCREEN.oRibbon.SeeOutlineGroup, 1, 0) ENDWITH WITH THIS.RibbonButtonGroup1 .ZORDER(0) .TOP = 71 .LEFT = THIS.WIDTH - 17 ENDWITH ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS._Shape2.MOUSELEAVE() ENDPROC  PROCEDURE setline PARAMETERS tnLeft, tnWidth WITH THIS.Line1 .VISIBLE = .F. .TOP = THIS.Shape1.TOP .LEFT = tnLeft .WIDTH = tnWidth .BORDERCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .ZORDER(0) .VISIBLE = .T. ENDWITH WITH THIS.line2 .VISIBLE = .F. .TOP = THIS.Shape1.TOP - 1 .LEFT = tnLeft + 1 .WIDTH = tnWidth - 2 .BORDERCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .ZORDER(0) .VISIBLE = .T. ENDWITH ENDPROC PROCEDURE redraw WITH THIS .Shape1.BORDERCOLOR = _SCREEN.oRibbon.LinesColor .Shape1.BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .Shadow.BACKCOLOR = _SCREEN.oRibbon.ShadowColor .Line1.BORDERCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .Line2.BORDERCOLOR = .Line1.BORDERCOLOR ENDWITH LOCAL lnI WITH THIS FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "redraw", 5) .CONTROLS(lnI).ReDraw() ENDIF ENDFOR ENDWITH ENDPROC PROCEDURE Init LOCAL lcMacro, lcPageClass WITH THIS .BORDERWIDTH = 0 .BACKSTYLE = 0 .ADDPROPERTY("oLastClick" , "") .ADDPROPERTY("oLastPage" , "") .ADDPROPERTY("oPreviusPage" , "") ENDWITH WITH THIS.Shape1 .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .LEFT = 0 .TOP = 26 .HEIGHT = THIS.HEIGHT - 26 .WIDTH = THIS.WIDTH .CURVATURE = IIF(THIS.lCurvature, 7, 0) .ANCHOR = 0 .ZORDER(1) ENDWITH WITH THIS.Line1 .TOP = THIS.Shape1.TOP .VISIBLE = .F. .ZORDER(0) ENDWITH WITH THIS.line2 .TOP = THIS.Shape1.TOP - 1 .VISIBLE = .F. .ZORDER(0) ENDWITH WITH THIS.SHADOW .LEFT = 10 .TOP = 36 .HEIGHT = THIS.HEIGHT - 6 - 26 .WIDTH = THIS.WIDTH - 6 .BACKCOLOR = _SCREEN.oRibbon.ShadowColor .CURVATURE = IIF(THIS.lCurvature, 7, 0) .VISIBLE = THIS.lShadow IF THIS.lShadow THIS.WIDTH = THIS.WIDTH + 3 THIS.HEIGHT = THIS.HEIGHT + 3 ENDIF .ANCHOR = THIS.ANCHOR ENDWITH WITH THIS LOCAL lnI FOR lnI = 1 TO .CONTROLCOUNT IF .CONTROLS(lnI).CLASS == "Ribbontab" lcPageClass = .CONTROLS(lnI).PageClass IF !EMPTY(lcPageClass) .NEWOBJECT(lcPageClass, lcPageClass) ENDIF .CONTROLS(lnI).ZORDER(1) ENDIF ENDFOR IF !EMPTY(.FirstTabClick) lcMacro = "THIS." + .FirstTabClick + ".CLICK()" &lcMacro ENDIF .SHADOW.ZORDER(1) .oPreviusPage = "" ENDWITH ENDPROC PROCEDURE Resize WITH THIS.shape1 .LEFT = 0 .TOP = 26 TRY .HEIGHT = THIS.HEIGHT - 26 - IIF(THIS.lShadow, 3, 0) .WIDTH = THIS.WIDTH- IIF(THIS.lShadow, 3, 0) CATCH ENDTRY ENDWITH ENDPROC b II/%U4 %Ct3TTTT%T C  #TCCC $T C  a-6T  T  U TLENABLEDTHISENABLED RIBBONLABEL1 RIBBONLABEL2MARLETTIMAGE1PICTUREENABLEDPICTURE MOUSELEAVEDISABLEDPICTUREIMAGE2VISIBLEBORDERSHAPE1XSHAPE2 zFTCC99C996,TC 9 9 6% *T C 996*T C 996T9T TT TC6 TC6 C)TC 996T9Te C)TC 996T9!TCCfFX-a6%C CC U THISSHAPE1 BORDERCOLORBORDERORIBBON CHANGECOLOR LINESCOLORSELECTEDCOLOR2XSHAPE2 BACKCOLOR2SELECTEDCOLOR1 SWAPCOLORSIMAGE2PICTURE CFILEBMP7 CFILEBMP2MARLETT FORECOLORBUTTONFONTCOLORVISIBLE CURVATURE LCURVATURE RIBBONLABEL1REDRAWSELECTEDBUTTONFONTCOLORFONTNAME CFONTNAMECOMMAND1CAPTION RIBBONLABEL2 CSKIPFOREXP THISENABLED2T TUVNEWVALTHISCANCELCOMMAND1&CUNBUTTONNSHIFTNXCOORDNYCOORDTHISCOMMAND1 MOUSELEAVE&CUNBUTTONNSHIFTNXCOORDNYCOORDTHISCOMMAND1 MOUSEENTERCHelpObj %CEnabledPictureTT% RIBBONBUTTONVTC T TT  T  % 7)TC 996h)TC 996TTCTC6T TT  T  CTCC99C996TCTRTC6T TT  T  )TC 996TCT)TC 9 9!6T"9#C$/)TC 9 9!6T"9#C!TCC%fFX-a6%C&fT&&TCCC0 -a6C'MT TT  T  T%%T((T))TC %C* C**+,(T-CC*C. -a6T-9!C0/U1THIS ADDPROPERTYIMAGE1PICTURE BACKSTYLE BORDERWIDTHCLASSTOPZORDERIMAGE2LEFTHEIGHTWIDTH SWAPCOLORSBORDERORIBBON CFILEBMP7 CFILEBMP2VISIBLEANCHORSHAPE1 CURVATURE LCURVATURE BORDERCOLOR CHANGECOLOR LINESCOLORSELECTEDCOLOR2XSHAPE2 BACKCOLOR2SELECTEDCOLOR1 RIBBONLABEL1 FORECOLORSELECTEDBUTTONFONTCOLORBUTTONFONTCOLORFONTNAME CFONTNAME RIBBONLABEL2CAPTIONDISABLEDPICTURECOMMAND1TABSTOPCANCEL PANELCLASSTHISFORM NEWOBJECTMARLETTPATH_FORM_MENU THISENABLEDENABLED thisenabled,redraw cancel_assign MouseLeaveT MouseEnterInit&1qA!!!A1A!!AA3bAa!!!A1AA1A2aA2r"a31213bQAAQQAA2AQQA1A1A!AaAQQAAQAaA2-3Q:7fB:F=;K)I2 I%VU }T9T9JTCRibbonformmenuCX6CC 9 U THIS FORECOLORORIBBONBUTTONFONTCOLORFONTNAME CFONTNAMECAPTIONPARENTCLASS TRANSLATE _IDTRANSLATE>4 7%Ct3TU TLENABLEDTHISENABLEDH%COACUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSELEAVEH%COACUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSEENTER. ' CCUTHISREDRAW THISENABLEDENABLEDredraw, thisenabled% MouseLeave MouseEnterInit111A5qAA311A311A2A2( %F!):Top = 1 Left = 1 Name = "_calendar1" CntYearMonth.Month1.Image1.Height = 16 CntYearMonth.Month1.Image1.Width = 16 CntYearMonth.Month1.Image1.Name = "Image1" CntYearMonth.Month1.xShape2.Name = "xShape2" CntYearMonth.Month1.Shape1.Name = "Shape1" CntYearMonth.Month1.Command1.Name = "Command1" CntYearMonth.Month1.Image2.Name = "Image2" CntYearMonth.Month1.Ribbonlabel1.Name = "Ribbonlabel1" CntYearMonth.Month1.Ribbonlabel2.Name = "Ribbonlabel2" CntYearMonth.Month1.Marlett.Name = "Marlett" CntYearMonth.Month1.Name = "Month1" CntYearMonth.Month2.Image1.Height = 16 CntYearMonth.Month2.Image1.Width = 16 CntYearMonth.Month2.Image1.Name = "Image1" CntYearMonth.Month2.xShape2.Name = "xShape2" CntYearMonth.Month2.Shape1.Name = "Shape1" CntYearMonth.Month2.Command1.Name = "Command1" CntYearMonth.Month2.Image2.Name = "Image2" CntYearMonth.Month2.Ribbonlabel1.Name = "Ribbonlabel1" CntYearMonth.Month2.Ribbonlabel2.Name = "Ribbonlabel2" CntYearMonth.Month2.Marlett.Name = "Marlett" CntYearMonth.Month2.Name = "Month2" CntYearMonth.Month3.Image1.Height = 16 CntYearMonth.Month3.Image1.Width = 16 CntYearMonth.Month3.Image1.Name = "Image1" CntYearMonth.Month3.xShape2.Name = "xShape2" CntYearMonth.Month3.Shape1.Name = "Shape1" CntYearMonth.Month3.Command1.Name = "Command1" CntYearMonth.Month3.Image2.Name = "Image2" CntYearMonth.Month3.Ribbonlabel1.Name = "Ribbonlabel1" CntYearMonth.Month3.Ribbonlabel2.Name = "Ribbonlabel2" CntYearMonth.Month3.Marlett.Name = "Marlett" CntYearMonth.Month3.Name = "Month3" CntYearMonth.Month4.Image1.Height = 16 CntYearMonth.Month4.Image1.Width = 16 CntYearMonth.Month4.Image1.Name = "Image1" CntYearMonth.Month4.xShape2.Name = "xShape2" CntYearMonth.Month4.Shape1.Name = "Shape1" CntYearMonth.Month4.Command1.Name = "Command1" CntYearMonth.Month4.Image2.Name = "Image2" CntYearMonth.Month4.Ribbonlabel1.Name = "Ribbonlabel1" CntYearMonth.Month4.Ribbonlabel2.Name = "Ribbonlabel2" CntYearMonth.Month4.Marlett.Name = "Marlett" CntYearMonth.Month4.Name = "Month4" CntYearMonth.Month5.Image1.Height = 16 CntYearMonth.Month5.Image1.Width = 16 CntYearMonth.Month5.Image1.Name = "Image1" CntYearMonth.Month5.xShape2.Name = "xShape2" CntYearMonth.Month5.Shape1.Name = "Shape1" CntYearMonth.Month5.Command1.Name = "Command1" CntYearMonth.Month5.Image2.Name = "Image2" CntYearMonth.Month5.Ribbonlabel1.Name = "Ribbonlabel1" CntYearMonth.Month5.Ribbonlabel2.Name = "Ribbonlabel2" CntYearMonth.Month5.Marlett.Name = "Marlett" CntYearMonth.Month5.Name = "Month5" CntYearMonth.Month6.Image1.Height = 16 CntYearMonth.Month6.Image1.Width = 16 CntYearMonth.Month6.Image1.Name = "Image1" CntYearMonth.Month6.xShape2.Name = "xShape2" CntYearMonth.Month6.Shape1.Name = "Shape1" CntYearMonth.Month6.Command1.Name = "Command1" CntYearMonth.Month6.Image2.Name = "Image2" CntYearMonth.Month6.Ribbonlabel1.Name = "Ribbonlabel1" CntYearMonth.Month6.Ribbonlabel2.Name = "Ribbonlabel2" CntYearMonth.Month6.Marlett.Name = "Marlett" CntYearMonth.Month6.Name = "Month6" CntYearMonth.Month7.Image1.Height = 16 CntYearMonth.Month7.Image1.Width = 16 CntYearMonth.Month7.Image1.Name = "Image1" CntYearMonth.Month7.xShape2.Name = "xShape2" CntYearMonth.Month7.Shape1.Name = "Shape1" CntYearMonth.Month7.Command1.Name = "Command1" CntYearMonth.Month7.Image2.Name = "Image2" CntYearMonth.Month7.Ribbonlabel1.Name = "Ribbonlabel1" CntYearMonth.Month7.Ribbonlabel2.Name = "Ribbonlabel2" CntYearMonth.Month7.Marlett.Name = "Marlett" CntYearMonth.Month7.Name = "Month7" CntYearMonth.Month8.Image1.Height = 16 CntYearMonth.Month8.Image1.Width = 16 CntYearMonth.Month8.Image1.Name = "Image1" CntYearMonth.Month8.xShape2.Name = "xShape2" CntYearMonth.Month8.Shape1.Name = "Shape1" CntYearMonth.Month8.Command1.Name = "Command1" CntYearMonth.Month8.Image2.Name = "Image2" CntYearMonth.Month8.Ribbonlabel1.Name = "Ribbonlabel1" CntYearMonth.Month8.Ribbonlabel2.Name = "Ribbonlabel2" CntYearMonth.Month8.Marlett.Name = "Marlett" CntYearMonth.Month8.Name = "Month8" CntYearMonth.Month9.Image1.Height = 16 CntYearMonth.Month9.Image1.Width = 16 CntYearMonth.Month9.Image1.Name = "Image1" CntYearMonth.Month9.xShape2.Name = "xShape2" CntYearMonth.Month9.Shape1.Name = "Shape1" CntYearMonth.Month9.Command1.Name = "Command1" CntYearMonth.Month9.Image2.Name = "Image2" CntYearMonth.Month9.Ribbonlabel1.Name = "Ribbonlabel1" CntYearMonth.Month9.Ribbonlabel2.Name = "Ribbonlabel2" CntYearMonth.Month9.Marlett.Name = "Marlett" CntYearMonth.Month9.Name = "Month9" CntYearMonth.Month10.Image1.Height = 16 CntYearMonth.Month10.Image1.Width = 16 CntYearMonth.Month10.Image1.Name = "Image1" CntYearMonth.Month10.xShape2.Name = "xShape2" CntYearMonth.Month10.Shape1.Name = "Shape1" CntYearMonth.Month10.Command1.Name = "Command1" CntYearMonth.Month10.Image2.Name = "Image2" CntYearMonth.Month10.Ribbonlabel1.Name = "Ribbonlabel1" CntYearMonth.Month10.Ribbonlabel2.Name = "Ribbonlabel2" CntYearMonth.Month10.Marlett.Name = "Marlett" CntYearMonth.Month10.Name = "Month10" CntYearMonth.Month11.Image1.Height = 16 CntYearMonth.Month11.Image1.Width = 16 CntYearMonth.Month11.Image1.Name = "Image1" CntYearMonth.Month11.xShape2.Name = "xShape2" CntYearMonth.Month11.Shape1.Name = "Shape1" CntYearMonth.Month11.Command1.Name = "Command1" CntYearMonth.Month11.Image2.Name = "Image2" CntYearMonth.Month11.Ribbonlabel1.Name = "Ribbonlabel1" CntYearMonth.Month11.Ribbonlabel2.Name = "Ribbonlabel2" CntYearMonth.Month11.Marlett.Name = "Marlett" CntYearMonth.Month11.Name = "Month11" CntYearMonth.Month12.Image1.Height = 16 CntYearMonth.Month12.Image1.Width = 16 CntYearMonth.Month12.Image1.Name = "Image1" CntYearMonth.Month12.xShape2.Name = "xShape2" CntYearMonth.Month12.Shape1.Name = "Shape1" CntYearMonth.Month12.Command1.Name = "Command1" CntYearMonth.Month12.Image2.Name = "Image2" CntYearMonth.Month12.Ribbonlabel1.Name = "Ribbonlabel1" CntYearMonth.Month12.Ribbonlabel2.Name = "Ribbonlabel2" CntYearMonth.Month12.Marlett.Name = "Marlett" CntYearMonth.Month12.Name = "Month12" CntYearMonth.Ribboncommandbutton1.Image1.Height = 16 CntYearMonth.Ribboncommandbutton1.Image1.Width = 16 CntYearMonth.Ribboncommandbutton1.Image1.Name = "Image1" CntYearMonth.Ribboncommandbutton1.xShape2.Name = "xShape2" CntYearMonth.Ribboncommandbutton1.Shape1.Name = "Shape1" CntYearMonth.Ribboncommandbutton1.Command1.Name = "Command1" CntYearMonth.Ribboncommandbutton1.Image2.Name = "Image2" CntYearMonth.Ribboncommandbutton1.Ribbonlabel1.Name = "Ribbonlabel1" CntYearMonth.Ribboncommandbutton1.Ribbonlabel2.Name = "Ribbonlabel2" CntYearMonth.Ribboncommandbutton1.Marlett.Name = "Marlett" CntYearMonth.Ribboncommandbutton1.Name = "Ribboncommandbutton1" CntYearMonth.Ribboncommandbutton2.Image1.Height = 16 CntYearMonth.Ribboncommandbutton2.Image1.Width = 16 CntYearMonth.Ribboncommandbutton2.Image1.Name = "Image1" CntYearMonth.Ribboncommandbutton2.xShape2.Name = "xShape2" CntYearMonth.Ribboncommandbutton2.Shape1.Name = "Shape1" CntYearMonth.Ribboncommandbutton2.Command1.Name = "Command1" CntYearMonth.Ribboncommandbutton2.Image2.Name = "Image2" CntYearMonth.Ribboncommandbutton2.Ribbonlabel1.Name = "Ribbonlabel1" CntYearMonth.Ribboncommandbutton2.Ribbonlabel2.Name = "Ribbonlabel2" CntYearMonth.Ribboncommandbutton2.Marlett.Name = "Marlett" CntYearMonth.Ribboncommandbutton2.Name = "Ribboncommandbutton2" CntYearMonth.cYear.Name = "cYear" CntYearMonth.Name = "CntYearMonth" _day1.Shape1.Name = "Shape1" _day1.Command1.Name = "Command1" _day1.Label1.Name = "Label1" _day1.Name = "_day1" _day2.Shape1.Name = "Shape1" _day2.Command1.Name = "Command1" _day2.Label1.Name = "Label1" _day2.Name = "_day2" _day3.Shape1.Name = "Shape1" _day3.Command1.Name = "Command1" _day3.Label1.Name = "Label1" _day3.Name = "_day3" _day4.Shape1.Name = "Shape1" _day4.Command1.Name = "Command1" _day4.Label1.Name = "Label1" _day4.Name = "_day4" _day5.Shape1.Name = "Shape1" _day5.Command1.Name = "Command1" _day5.Label1.Name = "Label1" _day5.Name = "_day5" _day6.Shape1.Name = "Shape1" _day6.Command1.Name = "Command1" _day6.Label1.Name = "Label1" _day6.Name = "_day6" _day7.Shape1.Name = "Shape1" _day7.Command1.Name = "Command1" _day7.Label1.Name = "Label1" _day7.Name = "_day7" _day8.Shape1.Name = "Shape1" _day8.Command1.Name = "Command1" _day8.Label1.Name = "Label1" _day8.Name = "_day8" _day9.Shape1.Name = "Shape1" _day9.Command1.Name = "Command1" _day9.Label1.Name = "Label1" _day9.Name = "_day9" _day10.Shape1.Name = "Shape1" _day10.Command1.Name = "Command1" _day10.Label1.Name = "Label1" _day10.Name = "_day10" _day11.Shape1.Name = "Shape1" _day11.Command1.Name = "Command1" _day11.Label1.Name = "Label1" _day11.Name = "_day11" _day12.Shape1.Name = "Shape1" _day12.Command1.Name = "Command1" _day12.Label1.Name = "Label1" _day12.Name = "_day12" _day13.Shape1.Name = "Shape1" _day13.Command1.Name = "Command1" _day13.Label1.Name = "Label1" _day13.Name = "_day13" _day14.Shape1.Name = "Shape1" _day14.Command1.Name = "Command1" _day14.Label1.Name = "Label1" _day14.Name = "_day14" _day15.Shape1.Name = "Shape1" _day15.Command1.Name = "Command1" _day15.Label1.Name = "Label1" _day15.Name = "_day15" _day16.Shape1.Name = "Shape1" _day16.Command1.Name = "Command1" _day16.Label1.Name = "Label1" _day16.Name = "_day16" _day17.Shape1.Name = "Shape1" _day17.Command1.Name = "Command1" _day17.Label1.Name = "Label1" _day17.Name = "_day17" _day18.Shape1.Name = "Shape1" _day18.Command1.Name = "Command1" _day18.Label1.Name = "Label1" _day18.Name = "_day18" _day19.Shape1.Name = "Shape1" _day19.Command1.Name = "Command1" _day19.Label1.Name = "Label1" _day19.Name = "_day19" _day20.Shape1.Name = "Shape1" _day20.Command1.Name = "Command1" _day20.Label1.Name = "Label1" _day20.Name = "_day20" _day21.Shape1.Name = "Shape1" _day21.Command1.Name = "Command1" _day21.Label1.Name = "Label1" _day21.Name = "_day21" _day22.Shape1.Name = "Shape1" _day22.Command1.Name = "Command1" _day22.Label1.Name = "Label1" _day22.Name = "_day22" _day23.Shape1.Name = "Shape1" _day23.Command1.Name = "Command1" _day23.Label1.Name = "Label1" _day23.Name = "_day23" _day24.Shape1.Name = "Shape1" _day24.Command1.Name = "Command1" _day24.Label1.Name = "Label1" _day24.Name = "_day24" _day25.Shape1.Name = "Shape1" _day25.Command1.Name = "Command1" _day25.Label1.Name = "Label1" _day25.Name = "_day25" _day26.Shape1.Name = "Shape1" _day26.Command1.Name = "Command1" _day26.Label1.Name = "Label1" _day26.Name = "_day26" _day27.Shape1.Name = "Shape1" _day27.Command1.Name = "Command1" _day27.Label1.Name = "Label1" _day27.Name = "_day27" _day28.Shape1.Name = "Shape1" _day28.Command1.Name = "Command1" _day28.Label1.Name = "Label1" _day28.Name = "_day28" _day29.Shape1.Name = "Shape1" _day29.Command1.Name = "Command1" _day29.Label1.Name = "Label1" _day29.Name = "_day29" _day30.Shape1.Name = "Shape1" _day30.Command1.Name = "Command1" _day30.Label1.Name = "Label1" _day30.Name = "_day30" _day31.Shape1.Name = "Shape1" _day31.Command1.Name = "Command1" _day31.Label1.Name = "Label1" _day31.Name = "_day31" _day32.Shape1.Name = "Shape1" _day32.Command1.Name = "Command1" _day32.Label1.Name = "Label1" _day32.Name = "_day32" _day33.Shape1.Name = "Shape1" _day33.Command1.Name = "Command1" _day33.Label1.Name = "Label1" _day33.Name = "_day33" _day34.Shape1.Name = "Shape1" _day34.Command1.Name = "Command1" _day34.Label1.Name = "Label1" _day34.Name = "_day34" _day35.Shape1.Name = "Shape1" _day35.Command1.Name = "Command1" _day35.Label1.Name = "Label1" _day35.Name = "_day35" _day36.Shape1.Name = "Shape1" _day36.Command1.Name = "Command1" _day36.Label1.Name = "Label1" _day36.Name = "_day36" _day37.Shape1.Name = "Shape1" _day37.Command1.Name = "Command1" _day37.Label1.Name = "Label1" _day37.Name = "_day37" _day38.Shape1.Name = "Shape1" _day38.Command1.Name = "Command1" _day38.Label1.Name = "Label1" _day38.Name = "_day38" _day39.Shape1.Name = "Shape1" _day39.Command1.Name = "Command1" _day39.Label1.Name = "Label1" _day39.Name = "_day39" _day40.Shape1.Name = "Shape1" _day40.Command1.Name = "Command1" _day40.Label1.Name = "Label1" _day40.Name = "_day40" _day41.Shape1.Name = "Shape1" _day41.Command1.Name = "Command1" _day41.Label1.Name = "Label1" _day41.Name = "_day41" _day42.Shape1.Name = "Shape1" _day42.Command1.Name = "Command1" _day42.Label1.Name = "Label1" _day42.Name = "_day42" d7.Name = "d7" d6.Name = "d6" d5.Name = "d5" d4.Name = "d4" d3.Name = "d3" d2.Name = "d2" d1.Name = "d1" Timer1.Name = "Timer1" marc.Name = "marc" w1.Name = "w1" w2.Name = "w2" w3.Name = "w3" w4.Name = "w4" w5.Name = "w5" w6.Name = "w6" Ribbonmenuseparator1.Name = "Ribbonmenuseparator1" Ribbonmenuseparator2.Name = "Ribbonmenuseparator2" Ribboncommandbutton1.Image1.Height = 16 Ribboncommandbutton1.Image1.Width = 16 Ribboncommandbutton1.Image1.Name = "Image1" Ribboncommandbutton1.xShape2.Name = "xShape2" Ribboncommandbutton1.Shape1.Name = "Shape1" Ribboncommandbutton1.Command1.Name = "Command1" Ribboncommandbutton1.Image2.Name = "Image2" Ribboncommandbutton1.Ribbonlabel1.Name = "Ribbonlabel1" Ribboncommandbutton1.Ribbonlabel2.Name = "Ribbonlabel2" Ribboncommandbutton1.Marlett.Name = "Marlett" Ribboncommandbutton1.Name = "Ribboncommandbutton1" Ribboncommandbutton2.Image1.Height = 16 Ribboncommandbutton2.Image1.Width = 16 Ribboncommandbutton2.Image1.Name = "Image1" Ribboncommandbutton2.xShape2.Name = "xShape2" Ribboncommandbutton2.Shape1.Name = "Shape1" Ribboncommandbutton2.Command1.Name = "Command1" Ribboncommandbutton2.Image2.Name = "Image2" Ribboncommandbutton2.Ribbonlabel1.Name = "Ribbonlabel1" Ribboncommandbutton2.Ribbonlabel2.Name = "Ribbonlabel2" Ribboncommandbutton2.Marlett.Name = "Marlett" Ribboncommandbutton2.Left = 154 Ribboncommandbutton2.Name = "Ribboncommandbutton2" RibbonMonthYear.Image1.Height = 16 RibbonMonthYear.Image1.Width = 16 RibbonMonthYear.Image1.Name = "Image1" RibbonMonthYear.xShape2.Name = "xShape2" RibbonMonthYear.Shape1.Name = "Shape1" RibbonMonthYear.Command1.Name = "Command1" RibbonMonthYear.Image2.Name = "Image2" RibbonMonthYear.Ribbonlabel1.Name = "Ribbonlabel1" RibbonMonthYear.Ribbonlabel2.Name = "Ribbonlabel2" RibbonMonthYear.Marlett.Name = "Marlett" RibbonMonthYear.Name = "RibbonMonthYear" RibbonDateTime.Image1.Height = 16 RibbonDateTime.Image1.Width = 16 RibbonDateTime.Image1.Name = "Image1" RibbonDateTime.xShape2.Name = "xShape2" RibbonDateTime.Shape1.Name = "Shape1" RibbonDateTime.Command1.Name = "Command1" RibbonDateTime.Image2.Name = "Image2" RibbonDateTime.Ribbonlabel1.Name = "Ribbonlabel1" RibbonDateTime.Ribbonlabel2.Name = "Ribbonlabel2" RibbonDateTime.Marlett.Name = "Marlett" RibbonDateTime.Top = 157 RibbonDateTime.Left = 2 RibbonDateTime.Width = 151 RibbonDateTime.Height = 18 RibbonDateTime.Name = "RibbonDateTime" Monthandyear.Name = "Monthandyear"  $%dLU T9'TC999/T C 9 96'T C999T 9( C,TC  996T9T C,TC  996T9UTHISSHAPE1 BORDERCOLORORIBBON LINESCOLOR BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORSHAPE2PARENT LCURVATURE BACKCOLOR2IMAGE2PICTURE CFILEBMP7 RIBBONLABEL1REDRAW FORECOLORVISIBLE TABFONTCOLORSELECTEDTABFONTCOLORFONTNAME CFONTNAMECOMMAND1CAPTION RIBBONLABEL2q j% BB ( )%C _menutabsbuttonT  9T 9T aT-T 9T9 ( $%C  Ribbonpage%C TC T - T  T T%C fIF _SCREEN.oRibbon.ShowAnimationPage AND .PARENT.ShowAnimationPage AND .PARENT.oLastPage # THIS.PARENT. &lcMacro .NAME>3.PARENT.oLastPage = THIS.PARENT. &lcMacro .NAME T $.PARENT. &lcMacro .LEFT = lnLeft $.PARENT. &lcMacro .VISIBLE = .T. T a$.PARENT. &lcMacro .VISIBLE = .T. UNBUTTONNSHIFTNXCOORDNYCOORDLNILCMACROLNLEFTTHIS AUTOTABCLICKPARENT CONTROLCOUNTCONTROLSCLASS RIBBONLABEL1 FORECOLORORIBBON TABFONTCOLOR RIBBONLABEL2IMAGE2VISIBLESELECTEDTABFONTCOLOR PARENTCLASS OPREVIUSPAGENAMELEFT SHAPETABS OLASTCLICK PAGECLASSWIDTHTIMER1ENABLEDw #TCa-6TT"TC6"TC6c"T C 6TC6T T  TT 9$TC999C4T TC6T T  T,T C 996$TC999C!TC6T T  TT9C Ta(T9T9CT !T9T9C,TC"Auxiliary Label-a6#&TCCC0 -a6C$pTT T  TT""CT U%LLLEFTTHISLEFTPARENT SHAPETABS BACKSTYLE BORDERWIDTHWIDTHSHAPE1 CURVATURE LCURVATURETOPHEIGHT BORDERCOLORORIBBON LINESCOLOR BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORZORDERSHAPE2 BACKCOLOR2IMAGE2PICTURE CFILEBMP7VISIBLE RIBBONLABEL1 FORECOLOR TABFONTCOLORFONTNAME CFONTNAMETABINDEX RIBBONLABEL2CAPTIONIMAGE1COMMAND1n g%9 E CcT 9 U NBUTTONNSHIFTNXCOORDNYCOORDTHISORIBBON AUTOTABCLICKMOUSEUPIMAGE2PICTURE CFILEBMP2= 6T9U NBUTTONNSHIFTNXCOORDNYCOORDTHISIMAGE2PICTUREORIBBON CFILEBMP7redraw,MouseUpInit MouseEnter MouseLeavef1aqqaA1AA1A31AAAAAaaAaqAQAAAA1AA!ABAA2q1!!A!Q1AAQAAQ1A11A11AaAQQAA51aAA31aA1y? G~D)lTop = 23 Left = 244 Width = 20 Height = 20 ZOrderSet = 6 lcurvature = .F. Name = "h20" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "20" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  9998 .ThisDate = DATE() .nYear = YEAR(DATE()) .nMonth = MONTH(DATE()) ENDIF .RibbonMonthYear.Ribbonlabel1.CAPTION = _SCREEN.oRibbon.c_cMonthEx(DATE(.nYear, .nMonth, 1)) + " " + TRANSFORM(.nYear) .MonthAndYear.CAPTION = .RibbonMonthYear.Ribbonlabel1.CAPTION .MonthAndYear.FORECOLOR = IIF(.nMonth = MONTH(DATE()) AND .nYear = YEAR(DATE()),_SCREEN.oRibbon.c_TodayColor, 0) .ControlWeek() lcDateRef=DATE(.nYear, .nMonth,1) lnLastDay = DAY(GOMONTH(lcDateRef ,1) - DAY(GOMONTH(lcDateRef ,1))) lnDay1 = DOW(lcDateRef, _SCREEN.oRibbon.c_FirstDayWeek) .w1.CAPTION = TRANSFORM(WEEK(lcDateRef, 2, _SCREEN.oRibbon.c_FirstDayWeek)) .w2.CAPTION = TRANSFORM(WEEK(lcDateRef+7, 2, _SCREEN.oRibbon.c_FirstDayWeek)) .w3.CAPTION = TRANSFORM(WEEK(lcDateRef+14, 2, _SCREEN.oRibbon.c_FirstDayWeek)) .w4.CAPTION = TRANSFORM(WEEK(lcDateRef+21, 2, _SCREEN.oRibbon.c_FirstDayWeek)) .w5.CAPTION = TRANSFORM(WEEK(lcDateRef+28, 2, _SCREEN.oRibbon.c_FirstDayWeek)) .w6.CAPTION = TRANSFORM(WEEK(lcDateRef+35, 2, _SCREEN.oRibbon.c_FirstDayWeek)) .w1.FORECOLOR = IIF(VAL(.w1.CAPTION)=WEEK(DATE(),2, _SCREEN.oRibbon.c_FirstDayWeek) AND .nYear=YEAR(DATE()), _SCREEN.oRibbon.c_TodayColor,0) .w2.FORECOLOR = IIF(VAL(.w2.CAPTION)=WEEK(DATE(),2, _SCREEN.oRibbon.c_FirstDayWeek) AND .nYear=YEAR(DATE()), _SCREEN.oRibbon.c_TodayColor,0) .w3.FORECOLOR = IIF(VAL(.w3.CAPTION)=WEEK(DATE(),2, _SCREEN.oRibbon.c_FirstDayWeek) AND .nYear=YEAR(DATE()), _SCREEN.oRibbon.c_TodayColor,0) .w4.FORECOLOR = IIF(VAL(.w4.CAPTION)=WEEK(DATE(),2, _SCREEN.oRibbon.c_FirstDayWeek) AND .nYear=YEAR(DATE()), _SCREEN.oRibbon.c_TodayColor,0) .w5.FORECOLOR = IIF(VAL(.w5.CAPTION)=WEEK(DATE(),2, _SCREEN.oRibbon.c_FirstDayWeek) AND .nYear=YEAR(DATE()), _SCREEN.oRibbon.c_TodayColor,0) .w6.FORECOLOR = IIF(VAL(.w6.CAPTION)=WEEK(DATE(),2, _SCREEN.oRibbon.c_FirstDayWeek) AND .nYear=YEAR(DATE()), _SCREEN.oRibbon.c_TodayColor,0) ENDWITH FOR lnCounter=1 TO 7 lcMacro = "d" + TRANSFORM(lnCounter) THIS. &lcMacro .FORECOLOR = 0 IF lnCounter = DOW(DATE(), _SCREEN.oRibbon.c_FirstDayWeek) AND THIS.nMonth = MONTH(DATE()) AND THIS.nYear = YEAR(DATE()) THIS. &lcMacro .FORECOLOR = _SCREEN.oRibbon.c_TodayColor ENDIF ENDFOR lnCon = 0 FOR lnCounter = 1 TO 42 lcMacro = "THIS._Day"+TRANSFORM(lnCounter) WITH &lcMacro .BACKSTYLE=0 .Label1.FORECOLOR = 0 .Label1.FONTBOLD = .F. .shape1.VISIBLE = .F. .TAG = "" .nEvents = 0 .nDuration = 0 .lHoliDay = .F. .cComment = "" DO CASE CASE lnCounter < lnDay1 .DateValue = (lcDateRef-lnDay1) + lnCounter .Label1.CAPTION = PADL(TRANSFORM(DAY(.DateValue)), 2, " ") .Label1.FORECOLOR = RGB(128,128,128) lnCon = lnCon + 1 CASE lnCounter >= lnDay1 AND lnCounter <= lnLastDay + lnDay1 - 1 .Label1.FORECOLOR = RGB(0,0,0) .Label1.CAPTION = PADL(TRANSFORM(lnCounter - (lnDay1 - 1)), 2, " ") .DateValue = DATE(THIS.nYear, THIS.nMonth, VAL(.Label1.CAPTION)) lnCon = lnCon + 1 CASE lnCounter >= lnLastDay + lnDay1 .DateValue = (GOMONTH(lcDateRef, 1) - DAY(GOMONTH(lcDateRef, 1))) + (lnCounter - lnCon) .Label1.CAPTION = PADL(TRANSFORM(DAY(.DateValue)), 2, " ") .Label1.FORECOLOR = RGB(128,128,128) ENDCASE llWorkDay = .T. DO CASE CASE DOW(.DateValue) = 1 AND _SCREEN.oRibbon.c_1SunHoli llWorkDay = .F. CASE DOW(.DateValue) = 2 AND _SCREEN.oRibbon.c_2MonHoli llWorkDay = .F. CASE DOW(.DateValue) = 3 AND _SCREEN.oRibbon.c_3TueHoli llWorkDay = .F. CASE DOW(.DateValue) = 4 AND _SCREEN.oRibbon.c_4WedHoli llWorkDay = .F. CASE DOW(.DateValue) = 5 AND _SCREEN.oRibbon.c_5ThuHoli llWorkDay = .F. CASE DOW(.DateValue) = 6 AND _SCREEN.oRibbon.c_6FriHoli llWorkDay = .F. CASE DOW(.DateValue) = 7 AND _SCREEN.oRibbon.c_7SatHoli llWorkDay = .F. ENDCASE IF !llWorkDay .Label1.FORECOLOR = IIF(.Label1.FORECOLOR = 0, RGB(255,0,0), RGB(255,128,128)) ENDIF IF .DateValue = DATE() .BACKSTYLE = 1 .BACKCOLOR = _SCREEN.oRibbon.c_TodayColor .Label1.FORECOLOR = RGB(255,255,255) .ZORDER(0) ENDIF IF .DateValue = THIS.ThisDate IF .DateValue >= DATE() THIS.Marc.BORDERCOLOR = RGB(0,255,0) ELSE THIS.Marc.BORDERCOLOR = RGB(255,0,0) ENDIF THIS.Marc.LEFT = .LEFT - 2 THIS.Marc.TOP = .TOP - 2 ENDIF THIS.dayevent(&lcMacro ) IF .lHoliDay IF .Label1.FORECOLOR <> RGB(255,0,0) .Label1.FORECOLOR = IIF(.Label1.FORECOLOR = 0, RGB(255,0,0), RGB(255,128,128)) ENDIF .Label1.FONTBOLD = .T. ENDIF ENDWITH ENDFOR IF !THIS.noControls THIS.Marc.VISIBLE = .T. ENDIF THIS.Marc.ZORDER(1) ENDPROC PROCEDURE controldate PARAMETERS oDateValue WITH THIS IF .noControls RETURN ENDIF .ThisDate = oDateValue ._Refresh() ENDWITH ENDPROC PROCEDURE controlweek LOCAL ldDate ldDate = DATE(2011, 1, 2) WITH THIS DO CASE CASE _SCREEN.oRibbon.c_FirstDayWeek = 1 ldDate = DATE(2011, 1, 2) CASE _SCREEN.oRibbon.c_FirstDayWeek = 2 ldDate = DATE(2011, 1, 3) CASE _SCREEN.oRibbon.c_FirstDayWeek = 3 ldDate = DATE(2011, 1, 4) CASE _SCREEN.oRibbon.c_FirstDayWeek = 4 ldDate = DATE(2011, 1, 5) CASE _SCREEN.oRibbon.c_FirstDayWeek = 5 ldDate = DATE(2011, 1, 6) CASE _SCREEN.oRibbon.c_FirstDayWeek = 6 ldDate = DATE(2011, 1, 7) CASE _SCREEN.oRibbon.c_FirstDayWeek = 7 ldDate = DATE(2011, 1, 8) OTHERWISE ldDate = DATE(2011, 1, 2) ENDCASE .d1.CAPTION = LEFT(_SCREEN.oRibbon.c_cDowEx(ldDate), .nLongDay) .d2.CAPTION = LEFT(_SCREEN.oRibbon.c_cDowEx(ldDate + 1), .nLongDay) .d3.CAPTION = LEFT(_SCREEN.oRibbon.c_cDowEx(ldDate + 2), .nLongDay) .d4.CAPTION = LEFT(_SCREEN.oRibbon.c_cDowEx(ldDate + 3), .nLongDay) .d5.CAPTION = LEFT(_SCREEN.oRibbon.c_cDowEx(ldDate + 4), .nLongDay) .d6.CAPTION = LEFT(_SCREEN.oRibbon.c_cDowEx(ldDate + 5), .nLongDay) .d7.CAPTION = LEFT(_SCREEN.oRibbon.c_cDowEx(ldDate + 6), .nLongDay) ENDWITH ENDPROC PROCEDURE Init WITH THIS .CntYearMonth.LEFT = 1 .Timer1.TIMER() .ReDraw() ENDWITH ENDPROC  O%G U>  iT9T9T  T 9 TC9 9TC^%TTTTTTTTTTTTT T a T - 7(3%%CC !redrawh/CC "U#LNCOLOR1LNCOLOR2THIS BACKCOLORORIBBON BACKCOLOR2IMAGE1PICTURE CFILEBMP6VISIBLE SHOWBACKIMAGELINE1 BORDERCOLOR BACKGROUND CHANGECOLORORESIZETHISFORM BORDERSTYLEX1X2X3X4X5X6Z1Z2Z3Z4Z5Z6LNI CONTROLCOUNTCONTROLSCLASSREDRAW ~TTTTTC T a CTTTTT 9 T rTTTT9 CT TT CUTHISTOPPARENTHEIGHTLEFTWIDTH BORDERWIDTHANCHORZORDERVISIBLEIMAGE1PICTUREORIBBON CFILEBMP6LINE1 BORDERCOLOR BACKGROUNDORESIZEREDRAWredraw,Init11a!aAaAAArQ1AAA3AA1AA1AaA2''+) {{8%"U$TaUNBUTTONNSHIFTNXCOORDNYCOORDTHIS FONTUNDERLINE$T-UNBUTTONNSHIFTNXCOORDNYCOORDTHIS FONTUNDERLINE MouseEnter, MouseLeave11312_){l SShf%U: 3T9T9UTHIS BORDERCOLORORIBBON BACKCOLOR2 BACKCOLOR FORMBACKCOLOR TTTTTT9 T 9 C U THISLEFTTOPHEIGHTTHISFORMWIDTHANCHOR BORDERCOLORORIBBON BACKCOLOR2 BACKCOLOR FORMBACKCOLORZORDERredraw,Init111A311A2p)S#PROCEDURE redraw WITH THIS .FORECOLOR = _SCREEN.oRibbon.ButtonFontColor .FONTNAME = _SCREEN.oRibbon.cFontName .CAPTION = IIF(.PARENT.CLASS == "Ribbonformmenu", SPACE(3), "") + ALLTRIM(_SCREEN.oRibbon.Translate(._IdTranslate, THIS.CAPTION) ) ENDWITH ENDPROC PROCEDURE thisenabled PARAMETERS tlEnabled WITH THIS IF PCOUNT() = 1 .ENABLED = tlEnabled ENDIF ENDWITH ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT._Shape2) = "O" THIS.PARENT._Shape2.MOUSELEAVE() ENDIF ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord IF VARTYPE(THIS.PARENT._Shape2) = "O" THIS.PARENT._Shape2.MOUSEENTER() ENDIF ENDPROC PROCEDURE Init WITH THIS .ReDraw() .ThisEnabled(.ENABLED) ENDWITH ENDPROC  %9 U C CUTHISREDRAW  CTC99TC^ TTT T T T T TTTTULNCOLOR1LNCOLOR2ORIBBON CHANGECOLOR BACKGROUNDTHISX1 BORDERCOLORX2X3X4X5X6 BACKCOLORZ1Z2Z3Z4Init,redrawW13aA2,I')= $$W%wUc C \TTTTaU THIS NMENULEFTPARENTRIBBONTEXTBOX1WIDTH PANELCLASSPATH_FORM_MENUMARLETTVISIBLE C!%CTHB`TCRibbonFormDateTimeC] C]   NT9 CUNBUTTONNSHIFTNXCOORDNYCOORDLONAMETHISPARENTRIBBONTEXTBOX1VALUE NMENULEFTHEIGHTNMENUTOPTHISFORMHWNDORIBBON LASTOPENFORM MOUSEENTERInit,Command1.MouseDown1A31qAA!A5  )$ {{8% 2 U %%   |CCU NBUTTONNSHIFTNXCOORDNYCOORDTHISFORM WINDOWSTATEMOVABLE SENDMESSAGEHWND MouseMove,11QAA1){E ,,5% U^ C WTPTTT-UTHISHEIGHTIMAGE2SHAPE1 RIBBONLABEL1VISIBLEInit,1!!A2), Top = 2 Left = 93 Width = 15 Height = 18 lcurvature = .F. Name = "Ribboncommandbutton1" Image1.Height = 16 Image1.Left = 6 Image1.Top = 30 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" RIBBONLABEL1.Left = 26 RIBBONLABEL1.Top = 27 RIBBONLABEL1.Name = "RIBBONLABEL1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 25 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Left = 2 Marlett.Top = 3 Marlett.Name = "Marlett" zTop = 67 Left = 80 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 15 lcurvature = .F. Name = "i5" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "05" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" zTop = 67 Left = 61 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 14 lcurvature = .F. Name = "i4" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "04" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" zTop = 67 Left = 42 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 13 lcurvature = .F. Name = "i3" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "03" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" zTop = 67 Left = 23 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 12 lcurvature = .F. Name = "i2" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "02" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" yTop = 67 Left = 4 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 11 lcurvature = .F. Name = "i1" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "01" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" lTop = 48 Left = 109 Width = 20 Height = 20 ZOrderSet = 9 lcurvature = .F. Name = "m40" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "40" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" kTop = 48 Left = 90 Width = 20 Height = 20 ZOrderSet = 8 lcurvature = .F. Name = "m30" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "30" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" kTop = 48 Left = 71 Width = 20 Height = 20 ZOrderSet = 7 lcurvature = .F. Name = "m20" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "20" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" kTop = 48 Left = 52 Width = 20 Height = 20 ZOrderSet = 6 lcurvature = .F. Name = "m10" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "10" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" kTop = 48 Left = 33 Width = 20 Height = 20 ZOrderSet = 5 lcurvature = .F. Name = "m00" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "00" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" jTop = 4 Left = 71 Width = 20 Height = 20 ZOrderSet = 4 lcurvature = .F. Name = "h20" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "20" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" jTop = 4 Left = 52 Width = 20 Height = 20 ZOrderSet = 3 lcurvature = .F. Name = "h10" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "10" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" jTop = 4 Left = 33 Width = 20 Height = 20 ZOrderSet = 2 lcurvature = .F. Name = "h00" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "00" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  *%  U;T9TU NBUTTONNSHIFTNXCOORDNYCOORDTHIS BACKCOLORORIBBON BACKCOLOR2 MOUSEDOWNAT[ C TTTT9T9TT  % T T  TT TT  T!TC   8T9TCUTHIS BORDERWIDTH BACKSTYLE BORDERCOLORORIBBON LINESCOLOR BACKCOLOR BACKCOLOR1TOPHEIGHTPARENTVERTICALLEFTWIDTH MOUSEPOINTERANCHORLABEL1 FORECOLOR FONTCOLORZORDERR%3TKTUNBUTTONNSHIFTNXCOORDNYCOORDTHISVERTICAL MOUSEDOWNAT;T9TU NBUTTONNSHIFTNXCOORDNYCOORDTHIS BACKCOLORORIBBON BACKCOLOR1 MOUSEDOWNAT#%   %% T  5%C     +C    T % T  5%C    +C   T UNBUTTONNSHIFTNXCOORDNYCOORD LNMOVEMENTTHIS MOUSEDOWNATVERTICALLEFT MINIMUMSIZEPARENTWIDTHMOVETOPHEIGHT  % k!C   B T T DoN't_MoVe_SpLiTT  T TaT  T     %  ..%C AnchorhT  T  T  Splitter% T C  8%  -2%      )"T C  D%  g"T C  DT   zT C  8%  2%      "T C  Dv%  U"T C  DT   T  T  T !C   T  T T UNLEFTNTOPNWIDTHNHEIGHT LOCONTROLLLLOCKSCREENWAS LNMOVEMENT LLISSPLITTER LCUNIQUETAGLNMARGINOFERROR LNANCHORWASTHIS MOUSEDOWNATTAGTHISFORM LOCKSCREENLNMOVEMENTLEFTLEFT LNMOVEMENTTOPTOPPARENTCONTROLSANCHORCLASSVERTICALWIDTHHEIGHT&TUNBUTTONNSHIFTNXCOORDNYCOORDTHIS MOUSEDOWNATY IT9T9T9 CU THIS BORDERCOLORORIBBON LINESCOLOR BACKCOLOR BACKCOLOR1LABEL1 FORECOLOR FONTCOLOR MouseEnter,Init MouseDown MouseLeaveu MouseMove Move?MouseUph redraw 11Q211!!!Aa!A61A31Q21q1aQ!AAaQ!AAAA31AAA!!raAAA!a!!A!AAa!!A!AAAAAA!!!31211aA2'($H1(6>!Nvy) {{8% 2 U %%   |CCU NBUTTONNSHIFTNXCOORDNYCOORDTHISFORM WINDOWSTATEMOVABLE SENDMESSAGEHWND MouseMove,11QAA1){PROCEDURE settime PARAMETERS tcTime WITH THIS DO CASE CASE UPPER(LEFT(tcTime, 1)) = "H" .nHours = VAL(SUBSTR(tcTime, 2)) IF .OptAmPm.VISIBLE IF .OptAmPm.VALUE = 1 IF .nHours = 12 .nHours = 0 ENDIF ELSE IF .nHours # 12 .nHours = .nHours + 12 ENDIF ENDIF ENDIF .O1.ThisEnabled(.T.) .O2.ThisEnabled(.T.) .O3.ThisEnabled(.T.) .O4.ThisEnabled(.T.) .O5.ThisEnabled(.T.) .O6.ThisEnabled(.T.) .O7.ThisEnabled(.T.) .O8.ThisEnabled(.T.) .O9.ThisEnabled(.T.) IF .nHours = 20 AND NOT .OptAmPm.VISIBLE .O4.ThisEnabled(.F.) .O5.ThisEnabled(.F.) .O6.ThisEnabled(.F.) .O7.ThisEnabled(.F.) .O8.ThisEnabled(.F.) .O9.ThisEnabled(.F.) ENDIF IF (.nHours = 10 OR .nHours = 22) AND .OptAmPm.VISIBLE .O2.ThisEnabled(.F.) .O3.ThisEnabled(.F.) .O4.ThisEnabled(.F.) .O5.ThisEnabled(.F.) .O6.ThisEnabled(.F.) .O7.ThisEnabled(.F.) .O8.ThisEnabled(.F.) .O9.ThisEnabled(.F.) ENDIF CASE UPPER(LEFT(tcTime, 1)) = "O" .nHours = .nHours + VAL(SUBSTR(tcTime, 2)) .O1.ThisEnabled(.F.) .O2.ThisEnabled(.F.) .O3.ThisEnabled(.F.) .O4.ThisEnabled(.F.) .O5.ThisEnabled(.F.) .O6.ThisEnabled(.F.) .O7.ThisEnabled(.F.) .O8.ThisEnabled(.F.) .O9.ThisEnabled(.F.) CASE UPPER(LEFT(tcTime, 1)) = "M" .nMinutes = VAL(SUBSTR(tcTime, 2)) .I1.ThisEnabled(.T.) .I2.ThisEnabled(.T.) .I3.ThisEnabled(.T.) .I4.ThisEnabled(.T.) .I5.ThisEnabled(.T.) .I6.ThisEnabled(.T.) .I7.ThisEnabled(.T.) .I8.ThisEnabled(.T.) .I9.ThisEnabled(.T.) CASE UPPER(LEFT(tcTime, 1)) = "I" .nMinutes = .nMinutes + VAL(SUBSTR(tcTime, 2)) .I1.ThisEnabled(.F.) .I2.ThisEnabled(.F.) .I3.ThisEnabled(.F.) .I4.ThisEnabled(.F.) .I5.ThisEnabled(.F.) .I6.ThisEnabled(.F.) .I7.ThisEnabled(.F.) .I8.ThisEnabled(.F.) .I9.ThisEnabled(.F.) CASE UPPER(LEFT(tcTime, 1)) = "S" .nSeconds = VAL(SUBSTR(tcTime, 2)) .e1.ThisEnabled(.T.) .e2.ThisEnabled(.T.) .e3.ThisEnabled(.T.) .e4.ThisEnabled(.T.) .e5.ThisEnabled(.T.) .e6.ThisEnabled(.T.) .e7.ThisEnabled(.T.) .e8.ThisEnabled(.T.) .e9.ThisEnabled(.T.) CASE UPPER(LEFT(tcTime, 1)) = "E" .nSeconds = .nSeconds + VAL(SUBSTR(tcTime, 2)) .e1.ThisEnabled(.F.) .e2.ThisEnabled(.F.) .e3.ThisEnabled(.F.) .e4.ThisEnabled(.F.) .e5.ThisEnabled(.F.) .e6.ThisEnabled(.F.) .e7.ThisEnabled(.F.) .e8.ThisEnabled(.F.) .e9.ThisEnabled(.F.) ENDCASE .oTimePicker.ReferenceDate = DATETIME(YEAR(.oTimePicker.ReferenceDate), MONTH(.oTimePicker.ReferenceDate), DAY(.oTimePicker.ReferenceDate), ; .nHours, .nMinutes, .nSeconds) .oTimePicker.RibbonLabel3.CAption = IIF(.OptAmPm.VAlue = 1, "AM", "PM") .oTimePicker.SetValue(.oTimePicker.ReferenceDate) ENDWITH ENDPROC PROCEDURE otimepicker_assign LPARAMETERS vNewVal *To do: Modify this routine for the Assign method THIS.oTimePicker = m.vNewVal ENDPROC PROCEDURE Init PARAMETERS tnLeft, tnTop, tnHWND, toTimePicker, ttDate DODEFAULT(tnLeft, tnTop, tnHWND) WITH THIS .oTimePicker = toTimePicker IF .oTimePicker.SECONDS # 0 .s00.VISIBLE = .T. .s10.VISIBLE = .T. .s20.VISIBLE = .T. .s30.VISIBLE = .T. .s40.VISIBLE = .T. .s50.VISIBLE = .T. .e1.VISIBLE = .T. .e2.VISIBLE = .T. .e3.VISIBLE = .T. .e4.VISIBLE = .T. .e5.VISIBLE = .T. .e6.VISIBLE = .T. .e7.VISIBLE = .T. .e8.VISIBLE = .T. .e9.VISIBLE = .T. .Image3.VISIBLE = .T. ENDIF IF SET("Hours") = 24 .OptAmPm.VISIBLE = .F. ELSE .H20.VISIBLE = .F. ENDIF .oTimePicker.ReferenceDate = IIF(EMPTY(ttDate), DATETIME(2000, 1, 1, ; VAL(LEFT(TIME(), 2)), VAL(SUBSTR(TIME(), 4, 2)), IIF(.oTimePicker.SECONDS # 0, VAL(RIGHT(TIME(), 2)), 0)), ttDate) .nHours = HOUR(.oTimePicker.ReferenceDate) .OptAmPm.VALUE = IIF(.oTimePicker.RibbonLabel3.CAPTION = "AM", 1, 2) .nMinutes = MINUTE(.oTimePicker.ReferenceDate) .nSeconds = SEC(.oTimePicker.ReferenceDate) ._Shape11.BORDERCOLOR = _SCREEN.oRibbon.LinesColor ._Shape11.BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .SHOW() ENDWITH ENDPROC {Top = 42 Left = 329 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 52 lcurvature = .F. Name = "o9" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "09" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" ^AutoSize = .F. ButtonCount = 2 BackStyle = 0 BorderStyle = 0 Value = 1 Height = 17 Left = 206 Top = 157 Width = 80 ZOrderSet = 53 Name = "OptAmPm" Option1.FontSize = 8 Option1.BackStyle = 0 Option1.Caption = "AM" Option1.Value = 1 Option1.Height = 17 Option1.Left = 5 Option1.Style = 0 Option1.Top = 0 Option1.Width = 34 Option1.AutoSize = .F. Option1.Name = "Option1" Option2.FontSize = 8 Option2.BackStyle = 0 Option2.Caption = "PM" Option2.Height = 17 Option2.Left = 48 Option2.Style = 0 Option2.Top = 0 Option2.Width = 34 Option2.AutoSize = .F. Option2.Name = "Option2" {Top = 42 Left = 310 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 51 lcurvature = .F. Name = "o8" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "08" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" {Top = 42 Left = 291 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 50 lcurvature = .F. Name = "o7" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "07" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  %U/( TC$ CUTHISPARENTTHISDATE_REFRESHClick,1A2O){Top = 42 Left = 272 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 49 lcurvature = .F. Name = "o6" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "06" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" #   T%#;UT MCTTCUTHISRIBBONTEXTBOX1REDRAW BACKCOLOR BORDERCOLORRIBBONCOMMANDBUTTON1a4 Z%CtVTTCU TLENABLEDTHISENABLEDRIBBONTEXTBOX1RIBBONCOMMANDBUTTON1 THISENABLEDE%CT/T>B-UTTVALUETHISRIBBONTEXTBOX1VALUEBUTHISRIBBONTEXTBOX1VALUEj c%C7TT CCUTHISRIBBONTEXTBOX1 CONTROLSOURCEVALUEHEIGHTREDRAW THISENABLEDENABLEDredraw, thisenabledsetvaluegetvalueInit$1!!A3q!AA3rQ1qA331qAA2 Ba`$) = $$W%wUc C \TTTTaU THIS NMENULEFTPARENTRIBBONTEXTBOX1WIDTH PANELCLASSPATH_FORM_MENUMARLETTVISIBLE C!%CDHB`TCRibbonFormCalendarC] C]   NT9 CUNBUTTONNSHIFTNXCOORDNYCOORDLONAMETHISPARENTRIBBONTEXTBOX1VALUE NMENULEFTHEIGHTNMENUTOPTHISFORMHWNDORIBBON LASTOPENFORM MOUSEENTERInit,Command1.MouseDown1A31qAA!A5  )$PROCEDURE Valid IF VAL(THIS.VALUE)<0 OR VAL(THIS.VALUE) > IIF(SET("Hours") = 12, 12, 23) ?? CHR(7) THIS.VALUE="" RETURN 0 ENDIF THIS.VALUE = IIF(NOT EMPTY(THIS.VALUE), PADL(ALLTRIM(THIS.VALUE), 2, "0"), THIS.VALUE) ENDPROC {Top = 42 Left = 253 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 48 lcurvature = .F. Name = "o5" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "05" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" {Top = 42 Left = 234 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 47 lcurvature = .F. Name = "o4" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "04" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" ; ""% i K UK DT9CT9U THIS BORDERCOLORORIBBON LINESCOLOR GRADIENT1REDRAWLABEL FORECOLOR FONTCOLORR%G C%? %  tB T T T,T CCC ]D F ;%#C T-7 TaBUNBUTTONNSHIFTNXCOORDNYCOORDLNBOTTOMARROWTOPLNMOUSEYOFFSETLNTOPARROWBOTTOMTHIS BUTTONTYPEPARENT DRAGGINGSLIDETOPARROWTOPHEIGHT BOTTOMARROW MOUSEYOFFSETCONTINUOUSSCROLL SCROLLSLIDE SCROLLOBJECT SLIDEMOVEDd Y% IT- T -BU NBUTTONNSHIFTNXCOORDNYCOORDTHIS BUTTONTYPEENABLED GRADIENT1VISIBLE MOUSEOVERd Y% ITa T aBU NBUTTONNSHIFTNXCOORDNYCOORDTHIS BUTTONTYPEENABLED GRADIENT1VISIBLE MOUSEOVER TTT9T-%T  TaT T T  T  T Cs"T C 67TC |||C5666T9C C MouseOver-BU LNBUTTONTYPETHIS BUTTONTYPE BORDERWIDTH BORDERCOLORORIBBON LINESCOLOR GRADIENT1VISIBLEWIDTHTOPLEFTHEIGHTANCHORZORDERLABELCAPTION FORECOLOR FONTCOLORMOVE ADDPROPERTY  TT%  TB#C BULNHEIGHTLNWIDTHTHISHEIGHTWIDTHLABELMOVET I%ET T T a %  B%TC] TaT TC6%# TC-AC- BUNBUTTONNSHIFTNXCOORDNYCOORD LNBUTTONTYPE LNDIRECTION LLENABLEDLNTOPTHIS BUTTONTYPETOP MOUSEOVERPARENTENABLED MOUSEYOFFSET DRAGGINGSLIDESLIDETOP AUTOYIELD SCROLLTIMER TIMERSTART 5%T T -%   C  T - T-CBUNBUTTONNSHIFTNXCOORDNYCOORD LNBUTTONTYPETHISPARENT BUTTONTYPE MOUSEYOFFSET DRAGGINGSLIDE SLIDEMOVEDCONTINUOUSSCROLL SCROLLSLIDE SCROLLOBJECT MOUSEOVER SCROLLTIMER TIMERSTOPredraw, MouseMove MouseLeave MouseEnterInitResize MouseDownMouseUp 11aA39"AA1ABABBBBB43AAB33AAB311Aaa$v1BBB3AA1ABB3;2AABBmBBBB2;rG !ABBBB1K $l7 Y-X # h6> wP<]^y|&5)"H //%UUNTC9999_TaCUTHISPARENT CNTYEARMONTHCYEARCAPTIONNYEARVISIBLEZORDERClick,1A2)/iPROCEDURE redraw LOCAL lnI WITH THIS .BACKCOLOR = _SCREEN.oRibbon.BackColor2 .ShapeTabs.BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .Shape1.BACKCOLOR = _SCREEN.oRibbon.BackColor2 .Shape2.BACKCOLOR = _SCREEN.oRibbon.BackColor2 FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "redraw", 5) .CONTROLS(lnI).ReDraw() ENDIF ENDFOR ENDWITH ENDPROC PROCEDURE MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH THISFORM IF nButton = 1 AND .WINDOWSTATE = 0 AND .MOVABLE SendMessage(THISFORM.HWND, 0x202, 0, 0) SendMessage(THISFORM.HWND, 0x112, 0xF012, 0) ENDIF ENDWITH ENDPROC PROCEDURE Init LOCAL lcMacro, lcPageClass WITH THIS .BORDERWIDTH = 0 .BACKCOLOR = _SCREEN.oRibbon.BackColor2 .ADDPROPERTY("oLastClick" , "") .ADDPROPERTY("oLastPage" , "") .ADDPROPERTY("oPreviusPage" , "") ENDWITH WITH THIS.ShapeTabs .BORDERSTYLE = 0 .BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .CURVATURE = IIF(THIS.lCurvature, 7, 0) .ANCHOR = THIS.ANCHOR ENDWITH WITH THIS.Shape1 .LEFT = 0 .TOP = 0 .HEIGHT = THIS.HEIGHT .WIDTH = THIS.ShapeTabs.LEFT .BORDERSTYLE = 0 .BACKCOLOR = _SCREEN.oRibbon.BackColor2 ENDWITH WITH THIS.Shape2 .LEFT = THIS.ShapeTabs.LEFT + THIS.ShapeTabs.WIDTH - 1 .TOP = 0 .HEIGHT = THIS.HEIGHT .WIDTH = THIS.WIDTH - THIS.ShapeTabs.LEFT - THIS.ShapeTabs.WIDTH + 1 .BORDERSTYLE = 0 .BACKCOLOR = _SCREEN.oRibbon.BackColor2 .ANCHOR = 8 ENDWITH WITH THIS LOCAL lnI FOR lnI = 1 TO .CONTROLCOUNT IF .CONTROLS(lnI).CLASS == "_menutabsbutton" lcPageClass = .CONTROLS(lnI).PageClass IF !EMPTY(lcPageClass) .NEWOBJECT(lcPageClass, lcPageClass) ENDIF .CONTROLS(lnI).ZORDER(1) ENDIF ENDFOR IF !EMPTY(.FirstTabClick) lcMacro = "THIS." + .FirstTabClick + ".MOUSEUP()" &lcMacro ENDIF .Shape2.ZORDER(0) .Shape1.ZORDER(0) FOR lnI = .CONTROLCOUNT TO 1 STEP -1 IF .CONTROLS(lnI).CLASS == "_menutabsbutton" .CONTROLS(lnI).ZORDER(0) ENDIF ENDFOR ENDWITH ENDPROC  ]%nXUT TTTaT%,TCC 8DT U VCNEWVALTHISCAPTION LBLCAPTION CMDMENUITEMVISIBLELEFT LFIXEDWIDTHWIDTHT % TCTaTCT 9 TCT-TCT 9 U VLNEWVALTHIS LSELECTEDPICTURE ASKINDATAIMGLEFTVISIBLEIMGRIGHT LBLCAPTION FORECOLORORIBBONSELECTEDBUTTONFONTCOLORBUTTONFONTCOLOR% T-TC TC T 9 % C tbmMinimizeUTHISENABLED LSELECTEDIMGLEFTVISIBLEPICTURE ASKINDATAIMGRIGHT LBLCAPTION FORECOLORORIBBONSELECTEDBUTTONFONTCOLORPARENT LMINIMIZED% T-TCTCT9 % C tbmMinimizeU THIS LSELECTEDIMGLEFTVISIBLEPICTURE ASKINDATAIMGRIGHT LBLCAPTION FORECOLORORIBBONBUTTONFONTCOLORPARENT LMINIMIZEDT UVCNEWVALTHISCHOTKEYlT  #T C #T C UVLNEWVALTHIS LSHOWHOTKEYENABLED LBLHOTKEYVISIBLECHOTKEY IMGHOTKEYT UVCNEWVALTHIS CSKIPFOREXPlT %CTCeTCUVLNEWVALTHISENABLED LBLCAPTION FORECOLOR ASKINDATAKT9TTUVCNEWVALTHIS CBASEFONTORIBBON CFONTNAME LBLCAPTIONFONTNAME LBLHOTKEYTtC] T9TCB^TC^&TTABSEPARATOR.BMP!T TABLEFT.BMPT9"T TABRIGHT.BMP!T HOVLEFT.BMPT 9"T  HOVRIGHT.BMP!T  POPUPDN.BMPT CU LNSELECT LCTBLSKINDEF LLHOVCAPTIONTHIS ASKINDATAORIBBON CFILEBMP1 CFILEBMP7 CFILEBMP2PICTURE2T TUVLNEWVALTHISLSUBMENU IMGSUBMENUVISIBLET %C 9TaT CT<TC   8C ?8 T    T  T  T  T  T 9T9U VCCAPTIONVNWIDTHTHIS LFIXEDWIDTHWIDTHSKINCAPTION LBLCAPTIONTOPHEIGHT IMGHOTKEYLEFT LBLHOTKEY FORECOLORORIBBONBUTTONFONTCOLORFONTNAME CFONTNAMEO<TC 8C?8 TT T TT T T $T  'T C  8U THIS LBLCAPTIONTOPHEIGHTIMGRIGHTLEFTWIDTH CMDMENUITEM IMGHOTKEY LBLHOTKEY IMGSUBMENU-%&CUTHISENABLEDPARENTSELECTMENUITEM ITEMINDEX# CUNBUTTONNSHIFTNXCOORDNYCOORDTHIS HOTTRACKOFF# CUNBUTTONNSHIFTNXCOORDNYCOORDTHIS HOTTRACKON_% +T %C XTC UTHIS LFIXEDWIDTHWIDTH LBLCAPTION CSKIPFOREXPENABLED CUTHIScaption_assign,lselected_assignS hottrackon hottrackoff"chotkey_assignRlshowhotkey_assigncskipforexp_assignIenabled_assigncbasefont_assign1skinlsubmenu_assign InitM ResizeQ Click  MouseLeavel MouseEnterRefresh%Destroy1y"aa1A2{"qqA2q2AA2q2AA4q"4q213u"3y"A3uRba3Va!!qP1u"b3A3Bq3aA21212A2aA21 { 5% [ O/ k2r7{:5+BRG&Y '7(.]R(,:m,D0]x`0j1v|11112O234Q4)5) T%(M ;U 2%    C  C  U NBUTTONNSHIFTNXCOORDNYCOORDTHISFORM WINDOWSTATEMOVABLETHISPARENT SENDMESSAGEHWND MouseMove,11!AA2 )PROCEDURE redraw DODEFAULT() THIS.BACKCOLOR = _SCREEN.oRibbon.BackGround ENDPROC PROCEDURE MouseDown LPARAMETERS nButton, nShift, nXCoord, nYCoord IF NOT THIS.ENABLED RETURN ENDIF LOCAL lnI, lnHeight, lnIndex, lcMacro WITH THIS.PARENT .HEIGHT = IIF(.HEIGHT = .nHeight, THIS.HEIGHT, .nHeight) lnI = IIF(.HEIGHT = .nHeight, 0, 1) ENDWITH WITH THIS.PARENT.PARENT lnIndex = 0 IF lnI = 1 lnHeight = THIS.PARENT.nHeight - THIS.PARENT.HEIGHT ELSE lnHeight = (THIS.PARENT.HEIGHT - THIS.HEIGHT) * -1 ENDIF FOR lnI = 1 TO .CONTROLCOUNT IF .CONTROLS(lnI).CLASS == "_sidebargroup" AND .CONTROLS(lnI).TOP > THIS.PARENT.TOP lnIndex = lnIndex + 1 DIMENSION THIS.PARENT.aGroups[lnIndex] THIS.PARENT.aGroups[lnIndex] = .CONTROLS(lnI).NAME ENDIF ENDFOR FOR lnI = 1 TO lnIndex lcMacro = "THIS.PARENT.PARENT." + THIS.PARENT.aGroups[lnI] + ".TOP" &lcMacro = &lcMacro - lnHeight ENDFOR ENDWITH THIS.PARENT.PARENT.HEIGHT = THIS.PARENT.PARENT.HEIGHT - lnHeight THIS.PARENT.PARENT.PARENT._VerticalScrollBar.RESIZE() ENDPROC PROCEDURE Shape1.MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord IF THIS.PARENT.PARENT.lMinimize DODEFAULT() ENDIF ENDPROC PROCEDURE Shape1.MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord IF THIS.PARENT.PARENT.lMinimize THIS.MOUSEPOINTER =IIF(THIS.PARENT.PARENT.HEIGHT = THIS.PARENT.PARENT.nHeight, 10, 16) DODEFAULT() ENDIF ENDPROC PROCEDURE Shape1.MouseDown LPARAMETERS nButton, nShift, nXCoord, nYCoord IF THIS.PARENT.PARENT.lMinimize DODEFAULT() THIS.MOUSEPOINTER =IIF(THIS.PARENT.PARENT.HEIGHT = THIS.PARENT.PARENT.nHeight, 10, 16) ENDIF ENDPROC  yyX%&U^#T9T9% $T C9 99 T 9 T9W C% T9,T9T9TUTHISIMAGE2PICTUREORIBBON CFILEBMP3SHAPE1 BORDERCOLOR LINESCOLORLEFTPARENTLINE1 BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORSHAPE2SELECTEDCOLOR2 RIBBONLABEL1REDRAW FORECOLORSELECTEDTABFONTCOLOR TABFONTCOLORFONTNAME CFONTNAMECOMMAND1CAPTION4 %Ct3TT%vT C#TCCCU TLENABLEDTHISENABLED RIBBONLABEL1IMAGE1PICTUREENABLEDPICTURE MOUSELEAVEDISABLEDPICTUREb [% 7BN(J#%C RibbontabF% _pageframehT  4T  C _pageframeha-6T  9T  -T 9T -'T C999 % _pageframehT T aT aT -T9($%C  Ribbonpage%C wTC 0T C Ribbon6T  C%CT T!%C! W H'  Ribbonh&TCC" 68  _pageframeh _carousel T   _menutabsT# ".PARENT. &lcMacro .TOP = lnTop $.PARENT. &lcMacro .VISIBLE = .T. aIF _SCREEN.oRibbon.ShowAnimationPage AND .PARENT.oLastPage # THIS.PARENT. &lcMacro .NAMEST%C #.PARENT. &lcMacro2 .TOP = lnTop 3.PARENT.oLastPage = THIS.PARENT. &lcMacro .NAME T$.PARENT. &lcMacro .LEFT = lnLeft T$%aU&LNILCMACROLCMACRO2LNLEFTLNTOPTHIS AUTOTABCLICKPARENT CONTROLCOUNTCONTROLSCLASSTOPSHAPE1VISIBLE BACKCOLORORIBBON BACKCOLOR1SHAPE2 RIBBONLABEL1 FORECOLOR TABFONTCOLORLINE1 CHANGECOLORNFACTORBACKCOLORIMAGE2SELECTEDTABFONTCOLOR PARENTCLASS OPREVIUSPAGENAMELEFTSETLINEWIDTH OLASTCLICK PAGECLASS YOURTITLEBAR SHAPETABSTIMER1ENABLED %v.T C _pageframeha-6T -T -U NBUTTONNSHIFTNXCOORDNYCOORDTHISLEFTPARENTLINE1SHAPE1VISIBLECLASSSHAPE2IMAGE2 %9 E C ( #%C Ribbontab#%C    4T C _pageframeha-6T -TaTa%  fT-}TaUNBUTTONNSHIFTNXCOORDNYCOORDTHISORIBBON AUTOTABCLICKCLICKLNIPARENT CONTROLCOUNTCONTROLSCLASSLEFTLINE1SHAPE1VISIBLEIMAGE2SHAPE2K %CEnabledPicture % _pageframehsTT%Ribbon'TCC 6TT T C  C T TTTTT9T T9 T-PC T TTTTT9T T  T-C T TTTT9 T-F%CT&TCCC0 -a6C  sT9T 9!TC 8T" T#-C T$$T% )T CC %6.TCC %6%oT&C T TTTT''%C'1'T C 8C$(U)THIS ADDPROPERTYIMAGE1PICTUREPARENTCLASSTOPHEIGHT YOURTITLEBAR BORDERWIDTH BACKSTYLEZORDERSHAPE1LEFT CURVATUREWIDTH BORDERCOLORORIBBON LINESCOLOR BACKCOLOR BACKCOLOR1VISIBLESHAPE2SELECTEDCOLOR2IMAGE2 CFILEBMP3DISABLEDPICTURELNTOPLNWIDTH RIBBONLABEL1 FORECOLOR TABFONTCOLORFONTNAME CFONTNAME ALIGNMENTAUTOSIZEENABLEDLNTOTCOMMAND1CAPTION THISENABLEDredraw, thisenabledClick MouseLeave MouseEnter Init 11A1A1AA11A1AA3rA!A1AA3qAA1qAAAAA!qAaAaqAAAAaAaAAA"A1A1A!ABA21AA31q11AAAAAAAA3Q1AqAA11AQ1AQQ1A!AaA11AAQQAARqA21&8O .gp N tpo )y j j %MWUy  fTCCg8% HK"  AM z T"  PM  T 2)TCPM 6'TCCCg86,T CC CC$ 61T CC iC HC %CC g8 B U LNHOUR LNSECONDSTHISRIBBONTEXTBOX1VALUE RIBBONLABEL3VISIBLECAPTIONRIBBONTEXTBOX3 REFERENCEDATERIBBONTEXTBOX2 %CTTTC%]'TC AMPM6 HY  T   T "  AM  T"  PM . T 2Y#TC  6T CC_0 T CCC_0 T CCC_0B-U TTVALUENHOURTHIS REFERENCEDATELNHOUR RIBBONLABEL3VISIBLECAPTIONRIBBONTEXTBOX1VALUERIBBONTEXTBOX2RIBBONTEXTBOX3 fTTT9$TC999T nC &T CC  6 T C a-6T %T  C6&TCCHoursv a-6%T  C6T  TTTTaUTHIS BACKSTYLE BORDERCOLORORIBBON LINESCOLOR BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORWIDTH THISENABLEDENABLEDSECONDS RIBBONLABEL2VISIBLERIBBONTEXTBOX3 RIBBONLABEL3RIBBONCOMMANDBUTTON1LEFT NMENULEFT PANELCLASSPATH_FORM_MENUMARLETTT C MT9$TC999UTHIS BORDERCOLORORIBBON LINESCOLOR BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORgetvalue,setvalue(Initredraw_1Q!!AAqA3qqQq!!1AAqAA31AaQQaQAA31AA21#: 6GW O)j #   T%#;UT MCTTCUTHISRIBBONTEXTBOX1REDRAW BACKCOLOR BORDERCOLORRIBBONCOMMANDBUTTON1a4 Z%CtVTTCU TLENABLEDTHISENABLEDRIBBONTEXTBOX1RIBBONCOMMANDBUTTON1 THISENABLEDE%CD/T>B-UTDVALUETHISRIBBONTEXTBOX1VALUEBUTHISRIBBONTEXTBOX1VALUEj c%C7TT CCUTHISRIBBONTEXTBOX1 CONTROLSOURCEVALUEHEIGHTREDRAW THISENABLEDENABLEDredraw, thisenabledsetvaluegetvalueInit$1!!A3q!AA3rQ1qA331qAA2 Ba\$) &   %UCUTHISPARENTCLICK CTUTHIS FORECOLORClick,redrawX132&Cd) {Top = 42 Left = 215 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 46 lcurvature = .F. Name = "o3" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "03" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  Ё%vU)T CUTHISPARENTNMONTHCLICKClick,1a1D){Top = 42 Left = 196 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 45 lcurvature = .F. Name = "o2" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "02" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  0%F UB ;$TCD BUTHIS FIELDHEIGHTHEIGHTTOPARROW BOTTOMARROW CBU NDIRECTIONOMOVE TTTC  TT  %C O T %JCC FD( C  CBUTNPIXELS LOBASEOBJECTLNSCROLLOBJECTTOP LNBASEHEIGHTLNLINEINCREMENTLNSCROLLOBJECTHEIGHTTHIS BASEOBJECT LINEINCREMENTPARENTHEIGHTLOSCROLLOBJECT SCROLLOBJECTTOP SETSLIDETOPSCROLLED  TT)%CC  o T-TCEnabledT J(BU TLENABLED LOBASEOBJECTLOSCROLLOBJECTTHIS BASEOBJECT SCROLLOBJECTHEIGHTENABLEDSETALLSLIDEVISIBLE HT T%CO|T T T  T C T T  CBUTOSCROLLOBJECTLNPIXELSLOSCROLLOBJECT LNSLIDEOFFSET LNSLIDETOPTHISTOPARROWTOPHEIGHT SCROLLOBJECTSLIDELNSCROLLOBJECTTOP FIELDHEIGHT LINEINCREMENTSCROLLED> %CN;B 3T  ~T TC T %C OT  %C O/T T +T CCDFBUTNSCROLLOBJECTTOPTOSCROLLOBJECTLNBOTTOMARROWTOPLNSCROLLOBJECTTOP LNSLIDEHEIGHT LNSLIDETOP LNTOPOFFSETTHIS BOTTOMARROWTOPTOPARROWHEIGHTLOSCROLLOBJECT SCROLLOBJECTSLIDE FIELDHEIGHT%  T% EBT&TC  T % T TC DTC ] %Ca Ca BULNMOUSEY LOBASEOBJECT LNSLIDEBOTTOMTHIS MOUSEOVERPARENTENABLED BASEOBJECT PAGEINCREMENTHEIGHTPAGESCROLLFACTOR LINEINCREMENTSLIDE SCROLLTIMER TIMERSTARTK = %C CbO 9 BCBUTHISSCROLLOBJECTNAMEp%Ce aTCCCBUTNSPECIALEFFECTTHISBUTTONSPECIALEFFECTTOPARROWMOUSEUP BOTTOMARROWSLIDEK = %C CbO 9 BCBUTHISBASEOBJECTNAME %CO^.TCC]C@. thisform.%CCTT%C C T T aBU TUNAMELOSCROLLOBJECTTHISTHISFORMNAMESCROLLOBJECTNAME SCROLLOBJECT SETSLIDETOPTOPENABLED %COW.TCC]C@. thisform.%CC~T TaBUTUNAMETHISTHISFORMNAMEBASEOBJECTNAMEENABLED ATT9T9 (%%CC redrawhCC U THIS BORDERWIDTH BORDERCOLORORIBBON LINESCOLOR BACKCOLOR BACKCOLOR1LNI CONTROLCOUNTCONTROLSCLASSREDRAW %C TWITH &lcMacro((TCULNCONLCMACROTHISSCROLLOBJECTNAMELNI CONTROLCOUNTCONTROLSTOPE : T-CBUNBUTTONNSHIFTNXCOORDNYCOORDTHIS MOUSEOVER SCROLLTIMER TIMERSTOPO%D @CBUNBUTTONNSHIFTNXCOORDNYCOORDTHIS SCROLLPAGE+ T T  T T $%C BorderWidthhT$C  T TT%CO)T T%CO vT CCT   CCT CT%TT C DjT T C FTC C DF CTBU LNBARWITH LNBORDERWIDTHLNBOTTOMARROWTOP LNFIELDHEIGHT LNPAGEHEIGHTLNPARENTHEIGHT LNPARENTWIDTHLOSCROLLOBJECTLNSCROLLOBJECTHEIGHTLNTOPARROWBOTTOMTHISPARENTHEIGHTWIDTH BORDERWIDTHMOVE LNBARWIDTH FIELDHEIGHT SCROLLOBJECT LLENABLEDTOPOMOVETOPARROWRESIZE BOTTOMARROWSLIDELEFTENABLEDQ FC MouseOver-C PageIncrement%C oTTTT%CC  T -7T T  %C C $C  TJ(  CBU LOBASEOBJECTTHIS ADDPROPERTYPAGESCROLLFACTORWIDTH SPECIALEFFECT BORDERWIDTHBASEOBJECTNAMESCROLLOBJECTNAMEENABLED BASEOBJECTLOSCROLLOBJECT SCROLLOBJECT SETSLIDETOPTOPSCROLLBASEWIDTH SCROLLBASEREDRAWfieldheight_access,scrolledscrollenabled_assign scrollslide setslidetop scrollpagescrollobject_accessf buttonspecialeffect_assign baseobject_access scrollobjectname_assign baseobjectname_assignD redraw omoveLMouseUp, MouseDownResizeIInitX1CB3 qB3yrR^B4BBB2vABB3u21ARARcBB2rRAA1ATATABB2x#AAd#BAS5%BBB4ACr3wSBBB2ABr2zrRARABBB3zRARFBB311ArQ1AAA31QAAA33BB43ABB2BABGRAA2BBBCBBB4yuA!ABEB2> [ ,/ Ui,w?VD"ln"#Ys$&'m~N'((--12N2n33f4 46766-7@<AtK)  &% e C U4  H! CC=fH{TCC\g%%% T% T CaCaCa Ca Ca Ca Ca CaCa%  C- C- C- C- C-C-*%    wC-C- C- C- C- C- C-C- CC=fO5TCC\gC-C-C- C- C- C- C- C-C- CC=fMTCC\gCaCaCaCaCaCaCaCaCa CC=fITCC\gC-C-C-C-C-C-C-C-C- CC=fSYTCC\gCaCaCaCaCaCa Ca!Ca"Ca# CC=fETCC\gC-C-C-C-C-C- C-!C-"C-#8T$%CC$%iC$%HC$%%.T$&'CAMPM6C$%$(U)TCTIMETHISNHOURSOPTAMPMVISIBLEVALUEO1 THISENABLEDO2O3O4O5O6O7O8O9NMINUTESI1I2I3I4I5I6I7I8I9NSECONDSE1E2E3E4E5E6E7E8E9 OTIMEPICKER REFERENCEDATE RIBBONLABEL3CAPTIONSETVALUET UVNEWVALTHIS OTIMEPICKER4C T%LT aT aT aT aT aT aT aT aT aT aT aT aT aT aT aT a%CHoursvwT -T -_TCCDCCCC^=gCCC^\gC CCC^Rg66TC,TCAM6T CT!CT"#9$%'T"&C9$(9$)9$' C*U+TNLEFTTNTOPTNHWND TOTIMEPICKERTTDATETHIS OTIMEPICKERSECONDSS00VISIBLES10S20S30S40S50E1E2E3E4E5E6E7E8E9IMAGE3OPTAMPMH20 REFERENCEDATENHOURSVALUE RIBBONLABEL3CAPTIONNMINUTESNSECONDS_SHAPE11 BORDERCOLORORIBBON LINESCOLOR BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORSHOWsettime,otimepicker_assignInit1qQQ!A!1AAAAAQQAQA7q"3qQQAAQQQaqA6a i pl v)  ^%F<Up4 i H! CC=fH{TCC\g%%% T% T CaCaCa Ca Ca Ca Ca CaCa%  C- C- C- C- C-C-*%    wC-C- C- C- C- C- C-C- CC=fO5TCC\gC-C-C- C- C- C- C- C-C- CC=fMTCC\gCaCaCaCaCaCaCaCaCa CC=fITCC\gC-C-C-C-C-C-C-C-C- CC=fSYTCC\gCaCaCaCaCaCa Ca!Ca"Ca# CC=fETCC\gC-C-C-C-C-C- C-!C-"C-#8T$CC%&iC%&HC%&%T$'a C(U)TCTIMETHISNHOURSOPTAMPMVISIBLEVALUEO1 THISENABLEDO2O3O4O5O6O7O8O9NMINUTESI1I2I3I4I5I6I7I8I9NSECONDSE1E2E3E4E5E6E7E8E9OTEXTBOX _CALENDAR1THISDATEFONTBOLDBLINK'C?7T-UTHISOTEXTBOXFONTBOLD4C T%LT aT aT aT aT aT aT aT aT aT aT aT aT aT aT aT a%CHoursvwT -T -2TCCCCC$iCC$HCC$%6TC$TC 6TCTCT 9!"'T#C9!%9!&9!$T'(CCiCHC%$C'),TCCiCHC% C*U+TNLEFTTNTOPTNHWND TOTEXTBOXTTDATETHISOTEXTBOXSECONDSS00VISIBLES10S20S30S40S50E1E2E3E4E5E6E7E8E9IMAGE3OPTAMPMH20NHOURSVALUENMINUTESNSECONDS_SHAPE11 BORDERCOLORORIBBON LINESCOLOR BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLOR _CALENDAR1THISDATE_REFRESHSHOW uTa5TCCC$iCC$HCC$%T C$C  C U THISPARENTOTEXTBOXFONTBOLDVALUETHISFORMNHOURSNMINUTESNSECONDSTHISDATE_REFRESHBLINK,T UTHISPARENTOTEXTBOXVALUETHISFORMRELEASE4 wTaT C8TCCiCHC%    C U ODATEVALUETHISPARENTOTEXTBOXFONTBOLDTHISDATE_REFRESHVALUETHISFORMNHOURSNMINUTESNSECONDSBLINKsettime,blinkInit_calendar1.RibbonDateTime.Click %_calendar1.Ribboncommandbutton3.Click _calendar1.controldateA 1qQQ!A!1AAAAAQQAA312qQQAA"AaqA5QRA32q!A2 i ) llD p5F)B ))$s%U5 %C 5T THIS.PARENT..VISIBLE = .T. &lcMacro ,T THIS.PARENT..LEFT9&lcMacro = &lcMacro - _SCREEN.oRibbon.AnimationFaster 1T THIS.PARENT. .PageClass2lcMacro2 = "THIS.PARENT." + &lcMacro + ".LEFT" ;&lcMacro2 = &lcMacro2 - _SCREEN.oRibbon.AnimationFaster 2IF &lcMacro2 <= THIS.Parent.ShapeTabs.LEFT.*&lcMacro2 = THIS.Parent.ShapeTabs.LEFT %C 5T THIS.PARENT..VISIBLE = .F. &lcMacro T-ULCMACROLCMACRO2THISPARENT OPREVIUSPAGE OLASTCLICKENABLEDTimer,1aQA!"aQAA2))'PROCEDURE redraw WITH THIS .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .Gradient1.ReDraw() .Label.ForeColor = _SCREEN.oRibbon.FontColor ENDWITH ENDPROC PROCEDURE MouseMove * ScrollBarButton.MouseMove() * * OVERVIEW: If DraggingSlide is true, moves the center slide up and down in * the VerticalScrollBar. If ContinuousScroll is true, the scroll container * is scrolled as the slide is moved. If ContinuousScroll is false, the * scroll container is not moved until the mouse is released. See: * MouseUp() * LPARAMETERS nButton, nShift, nXCoord, nYCoord LOCAL lnBottomArrowTop, lnMouseYOffset, lnTopArrowBottom IF nButton = 1 && Left mouse button WITH this IF .ButtonType = 0 && Slide WITH .parent * If no slide drag is in process, just return. This will probably * never happen, but this if VFP so you just never know. IF !( .DraggingSlide ) RETURN ENDIF * Store the bottom of the top end button and the top of * the bottom end button. These values are used to test that * the slide bar does not move off the scroll bar field. WITH .TopArrow lnTopArrowBottom = .Top + .Height ENDWITH lnBottomArrowTop = .BottomArrow.Top lnMouseYOffset = .MouseYOffset ENDWITH && parent * User is dragging the slide by moving the mouse. .Top = ; MIN( ; MAX( ; lnTopArrowBottom, ; nYCoord - OBJTOCLIENT( .parent, 1 ) - lnMouseYOffset ; ), ; lnBottomArrowTop - .Height ; ) WITH .parent IF .ContinuousScroll * If ContinuousScroll is true, the Scrollobject is scrolled each * time MouseMove() fires. Otherwise, the Scrollobject is not * scrolled until MouseUp(). .ScrollSlide( .ScrollObject ) .SlideMoved = .F. ELSE * Used in MouseUp() to see if the center slide was actually * moved by the user. .SlideMoved = .T. ENDIF ENDWITH && parent ENDIF && .ButtonType = 0 ENDWITH && this ENDIF RETURN ENDPROC PROCEDURE MouseLeave * ScrollBarButton.MouseLeave() * LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH THIS IF .ButtonType > 0 AND .ENABLED .Gradient1.VISIBLE = .F. ENDIF .MouseOver = .F. ENDWITH RETURN ENDPROC PROCEDURE MouseEnter * ScrollBarButton.MouseEnter() * LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH THIS IF .ButtonType > 0 AND .ENABLED .Gradient1.VISIBLE = .T. ENDIF .MouseOver = .T. ENDWITH RETURN ENDPROC PROCEDURE Init *-------------------------------------------------------------------------------- * * Thanks to Jim Edgar. http://www.universalthread.com/ViewPageArticle.aspx?ID=555 * *-------------------------------------------------------------------------------- * ScrollBarButton.Init() * * OVERVIEW: Adds border lines to the container so that it * looks like a Windows command button. Borders are * painted using Windows system colors so the button * always looks like a system button no matter what the * user's color scheme. * LOCAL lnButtonType WITH THIS * Get the button type: 0 = Slide (no caption, 1 = top arrow, 2 = bottom arrow lnButtonType = .ButtonType * During development BorderWidth = 1. At runtime lines are * added (see below) to make up borders, so set BorderWidth * to 0. .BORDERWIDTH = 1 .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .Gradient1.VISIBLE = .F. IF lnButtonType = 0 && Slide .WIDTH = .WIDTH - 2 .Gradient1.VISIBLE = .T. ENDIF .Gradient1.TOP = 1 .Gradient1.LEFT = 1 .Gradient1.HEIGHT = .HEIGHT - 2 .Gradient1.WIDTH = .WIDTH - 2 .Gradient1.ANCHOR = 15 .Gradient1.ZORDER(1) * Add the appropriate caption to the Label object. WITH .LABEL * If this button is being used as the scroll bar slide, move the * label completely off the button container. .TOP = IIF( lnButtonType = 0, -1000, .TOP ) * FontName is Webdings. "5" = up arrow, "6" = down arrow. .CAPTION = ; IIF( lnButtonType = 0, "|||", ; IIF( lnButtonType = 1, "5", ; "6" )) .FORECOLOR = _SCREEN.oRibbon.FontColor ENDWITH * Size the button. Setting Width or Height properties * triggers Resize() which is used to position and size the lines and label * contained in the button container. .MOVE( ; .LEFT, ; .TOP, ; .WIDTH, ; .HEIGHT ; ) * This property keeps track of whether the mouse is currently on top * of this button. .ADDPROPERTY( "MouseOver", .F. ) ENDWITH RETURN ENDPROC PROCEDURE Resize * ScrollBarButton.Resize() * LOCAL lnHeight, lnWidth WITH THIS lnHeight = .HEIGHT lnWidth = .WIDTH * This prevents an error from being thrown if the button * container is too small. IF lnHeight < 2 .OR. lnWidth < 2 RETURN ENDIF WITH .LABEL .MOVE( 1, ( lnHeight - .HEIGHT ) / 2, lnWidth, .HEIGHT ) ENDWITH ENDWITH RETURN ENDPROC PROCEDURE MouseDown * ScrollBarButton.MouseDown() * * OVERVIEW: The MouseDown() event is used to * (1) repaint the border lines of the button so the button * appears "recessed" and... * (2) If the role of the button is as the center slide, sets up for * a button drag operation executed in the MouseMove() event, * (3) If the role of the button is as a top or bottom end button, * starts the SlideTimer to execute a line scroll. * LPARAMETERS nButton, nShift, nXCoord, nYCoord LOCAL lnButtonType, lnDirection, llEnabled, lnTop WITH this IF nButton = 1 && Respond to left mouse button press only. * ButtonType property takes three settings: 0 = Slide, * 1 = Top end button, 2 = Bottom end button. lnButtonType = .ButtonType lnTop = .Top .MouseOver = .T. WITH .parent && VerticalScrollBar * A MouseDown() event is not raised if the button is not enabled. * We also test here for the VerticalScrollBar.Enabled being true * just in case something has disabled the VerticalScrollBar but * not this button. If the VerticalScrollBar is not enabled, just * RETURN. IF !( .Enabled ) RETURN ENDIF IF lnButtonType = 0 && Slide * Position of the mouse cursor specified as an offset in pixels * from the top left corner of the form. .MouseYOffset = nYCoord - OBJTOCLIENT( this, 1 ) * This flag tells MouseMove() that a drag operation is * starting. .DraggingSlide = .T. * The current top of the slide button. Used in dragging the * slide in MouseMove() .SlideTop = lnTop ELSE * Determine scroll direction. lnDirection = IIF( lnButtonType = 1, 1, -1 ) ENDIF ENDWITH IF lnButtonType = 0 && Slide * Stop processing pending Windows events between each * line of program code _VFP.AutoYield = .F. ELSE && Top or Bottom end button * Initialize a line scroll: Applies to just top and * bottom end buttons. * ------------------------------------------------- * * Start the timer. TimerStart() takes two parameters: * * PageScroll: If true, scrolling a page, if false, * scrolling a line * ScrollDirection: 1 = Scrolling up, -1 = Scrolling down. * .parent.ScrollTimer.TimerStart( .F., lnDirection ) ENDIF ENDIF && nButton = 1 ENDWITH RETURN ENDPROC PROCEDURE MouseUp * ScrollBarButton.MouseUp() * * OVERVIEW: The MouseUp() event is used to * (1) repaint the border lines of the button so the button * appears normal (non-recessed) and... * (2) If the role of the button is as the center slide, cancels * the drag operation executed in the MouseMove() event, * (3) If the role of the button is as a top or bottom end button, * stops the SlideTimer from executing further line scrolls. * LPARAMETERS nButton, nShift, nXCoord, nYCoord LOCAL lnButtonType &&, lnSpecialEffect, lnButtonHighlight, lnButtonShadow WITH this * Return the button to its normal (non-recessed) appearance. * ---------------------------------------------------------- * WITH .parent *!* lnButtonHighlight = .SystemColor( 20 ) *!* lnButtonShadow = .SystemColor( 16 ) *!* lnSpecialEffect = .ButtonSpecialEffect ENDWITH *!* .LeftLine.BorderColor = ; *!* IIF( ; *!* lnSpecialEffect = 2, ; *!* lnButtonShadow, ; *!* lnButtonHighlight ; *!* ) *!* *!* .TopLine.BorderColor = ; *!* IIF( ; *!* lnSpecialEffect = 2, ; *!* lnButtonShadow, ; *!* lnButtonHighlight ; *!* ) *!* *!* .RightLine.BorderColor = lnButtonShadow *!* .BottomLine.BorderColor = lnButtonShadow IF .ButtonType = 0 && Slide *!* * Cancel the slide drag operation. *!* * -------------------------------- *!* *!* * Process any pending Windows events *!* DOEVENTS() *!* * Resume processing pending Windows events between each line of *!* * program code *!* _VFP.AutoYield = .T. WITH .Parent .MouseYOffset = 0 .DraggingSlide = .F. * If ContinuousScroll is true, the Scrollobject is scrolled each time MouseMove() fires. * Otherwise, the Scrollobject is not scrolled until the mouse button is released. IF .SlideMoved .AND. !( .ContinuousScroll ) .ScrollSlide( .ScrollObject ) ENDIF .SlideMoved = .F. ENDWITH ELSE && Top or Bottom arrow * Stop the ScrollTimer * -------------------- * * Set the MouseOver property .F. It will not be set * .T. again until the mouse leaves and reenters the * object or a MouseDown() event occurs over an Enabled * object. .MouseOver = .F. * Stop the ScrollTimer from processing Timer() events. .parent.ScrollTimer.TimerStop() ENDIF ENDWITH RETURN ENDPROC   ,%h3MU T9'TC999T 9T 9( %%CC redrawhCC ULNITHIS BACKCOLORORIBBON BACKCOLOR2 SHAPETABS CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORSHAPE1SHAPE2 CONTROLCOUNTCONTROLSCLASSREDRAW %%   |CCU NBUTTONNSHIFTNXCOORDNYCOORDTHISFORM WINDOWSTATEMOVABLE SENDMESSAGEHWND  TT9C oLastClickC oLastPageC oPreviusPageT $TC9 9 9 T C6TwTTTTT T9$"TTT)TT T9T ()%C_menutabsbuttonTC%C C%C %TTHIS. .MOUSEUP() &lcMacro CC()%C_menutabsbuttonULCMACRO LCPAGECLASSTHIS BORDERWIDTH BACKCOLORORIBBON BACKCOLOR2 ADDPROPERTY SHAPETABS BORDERSTYLE CHANGECOLOR BACKCOLOR1NFACTORBACKCOLOR CURVATURE LCURVATUREANCHORSHAPE1LEFTTOPHEIGHTWIDTHSHAPE2LNI CONTROLCOUNTCONTROLSCLASS PAGECLASS NEWOBJECTZORDER FIRSTTABCLICKredraw, MouseMoveInit1q1qaaQ1AAA41QAA21AAAA1A!1Aqa1AqAAQAqAAA3^) zzpj%t6U tT9T9T9T 9 T    (%%CC redrawhCC UTHIS BACKCOLORORIBBON BACKCOLOR2TOPLINE BORDERCOLOR BACKGROUND BOTTOMLINEIMAGE1PICTURE CFILEBMP6VISIBLE SHOWBACKIMAGELNI CONTROLCOUNTCONTROLSCLASSREDRAW 3TT T9TT 9 T T TT TT 9 T T TT TCT T TTT9TT UTHISWIDTHPARENTANCHOR BACKCOLORORIBBON BACKCOLOR2 BORDERWIDTHTOPLINE BORDERCOLOR BACKGROUNDTOPLEFTVISIBLE SHOWTOPLINE BOTTOMLINEHEIGHTSHOWBOTTOMLINEIMAGE1ZORDERPICTURE CFILEBMP6 SHOWBACKIMAGE /%    C C U NBUTTONNSHIFTNXCOORDNYCOORDTHISFORM WINDOWSTATEMOVABLETHIS SENDMESSAGEHWNDredraw,Init MouseMove11aaa!ArQ1AAA2A1a!!!a!!!A1A31AA1.3)zJ 115g%*4U T9T9T9T9 T 9 $T C999 T9T9UTHIS BORDERCOLORORIBBON LINESCOLORSELECTEDBACKCOLOR BACKGROUNDSELECTEDFORECOLOR FONTCOLOR FORECOLORBUTTONFONTCOLORFONTNAME CFONTNAME BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORDISABLEDBACKCOLORINEDITBACKDISABLEDISABLEDFORECOLORINEDITFOREDISABLE>4 7%Ct3TU TLENABLEDTHISENABLED. ' CCUTHISREDRAW THISENABLEDENABLEDH%COACUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSEENTERH%COACUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSELEAVEM FT9T9T9UTHIS BORDERCOLORORIBBONINEDITFRAMECOLOR BACKCOLORINEDITBACKCOLOR FORECOLORINEDITFORECOLOR CUTHISREDRAWredraw, thisenabledInita MouseEnter MouseLeaveIGotFocus LostFocus111111A11A3qAA2A311A211A2111A31 c~Vw#")(1)1J 115g%*4U T9T9T9T9 T 9 $T C999 T9T9UTHIS BORDERCOLORORIBBON LINESCOLORSELECTEDBACKCOLOR BACKGROUNDSELECTEDFORECOLOR FONTCOLOR FORECOLORBUTTONFONTCOLORFONTNAME CFONTNAME BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORDISABLEDBACKCOLORINEDITBACKDISABLEDISABLEDFORECOLORINEDITFOREDISABLE>4 7%Ct3TU TLENABLEDTHISENABLED. ' CCUTHISREDRAW THISENABLEDENABLEDH%COACUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSEENTERH%COACUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSELEAVEM FT9T9T9UTHIS BORDERCOLORORIBBONINEDITFRAMECOLOR BACKCOLORINEDITBACKCOLOR FORECOLORINEDITFORECOLOR CUTHISREDRAWredraw, thisenabledInita MouseEnter MouseLeaveIGotFocus LostFocus111111A11A2qAA2A311A211A2111A31 a |Tu""((0)1BorderStyle = 3 Top = 0 Left = 0 Height = 120 Width = 250 Desktop = .T. ShowWindow = 1 ShowInTaskBar = .F. DoCreate = .T. Caption = "" MaxButton = .F. MinButton = .F. TitleBar = 0 AlwaysOnTop = .T. Name = "ribbonformmsgbox" PROCEDURE Init PARAMETERS tcTitle, tcText, tnTime, tlBeep LOCAL lnTime, lnTrans lnTime = IIF(EMPTY(tnTime),(_SCREEN.oRibbon.nTimeMsgBox), tnTime) WITH THIS .BACKCOLOR = _SCREEN.oRibbon.FormBackColor .LEFT = SYSMETRIC(1) - .WIDTH - 30 .TOP = SYSMETRIC(2) - .HEIGHT - 40 .Panel1.RibbonLabel1.CAPTION = IIF(VARTYPE(tcTitle) = "C", tcTitle, "") .RibbonLabel1.CAPTION = IIF(VARTYPE(tcText) = "C", tcText, "") .Timer1.INTERVAL = lnTime IF _SCREEN.oRibbon.lBeepMsgBox OR tlBeep ?? CHR(7) ENDIF ENDWITH ENDPROC :Top = -2 Left = -2 Width = 254 Height = 22 lshadow = .F. Name = "panel1" _SHAPE1.Name = "_SHAPE1" RIBBONLABEL1.Height = 17 RIBBONLABEL1.Left = 3 RIBBONLABEL1.Top = 3 RIBBONLABEL1.Width = 248 RIBBONLABEL1.Name = "RIBBONLABEL1" _SHAPE2.Name = "_SHAPE2" _IMAGE1.Name = "_IMAGE1" SHADOW.Name = "SHADOW" J 115g%*4U>4 7%Ct3TU TLENABLEDTHISENABLED T9T9T9T9 T 9 $T C999 T9T9UTHIS BORDERCOLORORIBBON LINESCOLOR FORECOLORBUTTONFONTCOLORSELECTEDBACKCOLOR BACKGROUNDSELECTEDFORECOLOR FONTCOLORFONTNAME CFONTNAME BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORDISABLEDBACKCOLORINEDITBACKDISABLEDISABLEDFORECOLORINEDITFOREDISABLE. ' CCUTHISREDRAW THISENABLEDENABLEDH%COACUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSEENTERH%COACUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSELEAVEM FT9T9T9UTHIS BORDERCOLORORIBBONINEDITFRAMECOLOR BACKCOLORINEDITBACKCOLOR FORECOLORINEDITFORECOLOR CUTHISREDRAW thisenabled,redrawInita MouseEnter MouseLeaveIGotFocus LostFocus1qAA211111A11A3A311A211A2111A31qc ~Vw#")(1)1 U%\4UV OT9T9T9UTHISLINE1 BORDERCOLORORIBBON BACKCOLOR1LINE2 LINESCOLORLINE3 N% _statusbar _titlebar _menubar yT-T-TTT  T  T  C U THISPARENT PARENTCLASSCLASSLINE1VISIBLELINE3 BACKSTYLEWIDTHHEIGHTLINE2REDRAWredraw,Init1aaaA3A!!!A3 ) ? %wU %C 5T THIS.PARENT..VISIBLE = .T. &lcMacro ,T THIS.PARENT..LEFT9&lcMacro = &lcMacro - _SCREEN.oRibbon.AnimationFaster 1T THIS.PARENT. .PageClass2lcMacro2 = "THIS.PARENT." + &lcMacro + ".LEFT" ;&lcMacro2 = &lcMacro2 - _SCREEN.oRibbon.AnimationFaster IF &lcMacro2 <= 0&lcMacro2 = 0 %C 5T THIS.PARENT..VISIBLE = .F. &lcMacro T-ULCMACROLCMACRO2THISPARENT OPREVIUSPAGE OLASTCLICKENABLEDTimer,1aQA!aQAA2)y ``%U CTaUTHISMARLETTVISIBLEN#T(TC9999_UTHISPARENTNYEARCYEARCAPTIONInit,Clicke13129U)` CPROCEDURE redraw WITH THIS .BACKCOLOR = _SCREEN.oRibbon.BackColor2 .Image2.PICTURE = _SCREEN.oRibbon.cFileBMP6 .Image2.VISIBLE = .ShowBackImage .RibbonLabel1.CAPTION = THISFORM.CAPTION .ControlButtons.ButtonMin.ReDraw() .ControlButtons.ButtonMax.ReDraw() .ControlButtons.ButtonClose.ReDraw() ENDWITH LOCAL lnI WITH THIS FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "redraw", 5) .CONTROLS(lnI).ReDraw() ENDIF ENDFOR ENDWITH ENDPROC PROCEDURE buf2dword PARAMETERS tcBuffer RETURN Asc(SUBSTR(tcBuffer, 1,1)) + ; BitLShift(Asc(SUBSTR(tcBuffer, 2,1)), 8) +; BitLShift(Asc(SUBSTR(tcBuffer, 3,1)), 16) +; BitLShift(Asc(SUBSTR(tcBuffer, 4,1)), 24) ENDPROC PROCEDURE setparamform WITH THISFORM THIS.FormBorder = .BORDERSTYLE THIS.FormLeft = .LEFT THIS.FormTop = .TOP THIS.FormHeight = .HEIGHT THIS.FormWidth = .WIDTH THIS.FormMax = .F. ENDWITH ENDPROC PROCEDURE maximizeform THIS.ControlButtons.ButtonMax.CLICK() ENDPROC PROCEDURE Resize WITH THIS IF .RibbonLabel1.WIdth <= 0 .ControlButtons.VISIBLE = .F. ELSE .ControlButtons.VISIBLE = .T. ENDIF ENDWITH ENDPROC PROCEDURE Init THISFORM.TITLEBAR = 0 WITH THIS .ADDPROPERTY("FormMax", .F.) .ADDPROPERTY("FormLeft", 0) .ADDPROPERTY("FormTop", 0) .ADDPROPERTY("FormHeight", 0) .ADDPROPERTY("FormWidth", 0) .ADDPROPERTY("FormBorder", 0) IF THISFORM.WINDOWSTATE = 2 THISFORM.WINDOWSTATE = 0 THISFORM.LEFT = 20 THISFORM.TOP = 10 THISFORM.HEIGHT = SYSMETRIC(2) - 65 THISFORM.WIDTH = SYSMETRIC(1) - 40 .SetParamForm() .ControlButtons.ButtonMax.CLICK() ELSE .SetParamForm() ENDIF .LEFT = 0 .TOP = 0 .WIDTH = THIS.PARENT.WIDTH .BORDERWIDTH = 0 .HEIGHT = 25 .ANCHOR = 10 .VISIBLE = .T. ENDWITH WITH THIS.Image1 .ZORDER(1) .LEFT = 7 .TOP = 7 .VISIBLE = IIF(EMPTY(.PICTURE), .F., .T.) ENDWITH WITH THIS.Image2 .ZORDER(1) .LEFT = 0 .TOP = 0 .HEIGHT = THIS.HEIGHT .WIDTH = THIS.WIDTH .PICTURE = _SCREEN.oRibbon.cFileBMP6 .ANCHOR = 10 ENDWITH WITH THIS.ControlButtons WITH .Buttonmin .VISIBLE = THISFORM.MINBUTTON IF !.VISIBLE .PARENT.WIDTH = .PARENT.WIDTH - .WIDTH .PARENT.ButtonMax.LEFT = .LEFT .PARENT.buttonclose.LEFT = .PARENT.ButtonMax.WIDTH ENDIF ENDWITH WITH .ButtonMax .VISIBLE = THISFORM.MAXBUTTON IF !.VISIBLE .PARENT.WIDTH = .PARENT.WIDTH - .WIDTH .PARENT.buttonclose.LEFT = .LEFT ENDIF ENDWITH WITH .buttonclose .VISIBLE = THISFORM.CLOSABLE IF !.VISIBLE .PARENT.WIDTH = .PARENT.WIDTH - .WIDTH + 1 ENDIF ENDWITH .VISIBLE = THISFORM.CONTROLBOX IF !.VISIBLE .WIDTH = 0 ENDIF .LEFT = THIS.PARENT.WIDTH - .WIDTH - 6 .TOP = 2 .ANCHOR = 8 .ZORDER(0) ENDWITH WITH THIS.RibbonLabel1 .CAPTION = THISFORM.CAPTION .WIDTH = THIS.WIDTH - .LEFT - THIS.ControlButtons.WIDTH .ANCHOR = 10 .ZORDER(0) ENDWITH WITH THIS.Shape1 .LEFT = 0 .TOP = 0 .WIDTH = THIS.WIDTH .BACKSTYLE = 0 .BORDERSTYLE = 0 .ZORDER(0) .ANCHOR = 10 ENDWITH THIS.ControlButtons.ZORDER(0) THIS.ReDraw() ENDPROC PROCEDURE timerstart * ScrollTimer.TimerStart() * * OVERVIEW: Starts timer processing by directly executing the first Timer() event. * * PARAMETERS: * * tlPageScroll * Specifies the whether a page or line scroll is * being processed. .T. = page scroll. * * tnScrollDirection * Specifies the scroll direction: 1 = up, 2 = down * LPARAMETERS tlPageScroll, tnScrollDirection WITH this * The TimerDelay specifies in milliseconds the amount of time * between the initial mouse press and the start of continuous * scrolling. lnTimerDelay = .parent.TimerDelay * Enable the timer so the Timer() event will fire. .Enabled = .T. * Specifies Page or Line scroll: .T. = page scroll, .F. = line scroll .PageScroll = tlPageScroll * ScrollDirection: 1 = Up, -1 = Down .ScrollDirection = tnScrollDirection * Scroll the ScrollObject one time and set the Interval property to the * lnTimerDelay period specified in milliseconds. .Timer( lnTimerDelay ) ENDWITH RETURN ENDPROC PROCEDURE timerstop * ScrollTimer.TimerStop * * OVERVIEW: Stops timer processing. WITH this * Disabiling the timer causes it to pause execution... .Enabled = .F. * giving the Interval setting or zero time to take effect. .Interval = 0 ENDWITH RETURN ENDPROC PROCEDURE Timer * VerticalScrollBar.ScrollTimer.Timer() * LPARAMETERS tnInterval LOCAL llPageScroll, lnScrollDirection WITH this lnScrollDirection = .ScrollDirection llPageScroll = .PageScroll WITH .parent && VertScrollBar * The mouse is still on top of the an end button or on top of the bar. * If it is not, then don't scroll. The mouse will not normally move off * the object unless some outside operation moves focus somwhere else. In * such case, we don't want to leave a continuous scroll process running. IF ( llPageScroll .AND. .MouseOver ) .OR. ; ( lnScrollDirection = 1 .AND. .TopArrow.MouseOver ) .OR. ; ( lnScrollDirection = -1 .AND. .BottomArrow.MouseOver ) * If the timer Interval property is zero, this means that * the intial scroll is complete. Now set the timer * Interval for continuous scrolling. IF EMPTY( tnInterval ) tnInterval = .TimerInterval ENDIF * Scroll the Scroll Object. .Scroll( ; lnScrollDirection * ; IIF( ; llPageScroll, ; .PageIncrement, ; .LineIncrement ; ) ; ) ELSE * If the mouse has moved off the button, turn * the timer off by setting its interval to zero. * This rarely occurs, but when it does, it causes * a run-away scroll. tnInterval = 0 ENDIF ENDWITH * Set the timer interval. Zero turns the timer off. Any * value > 0, triggers this event at each interval. If tnInteral was * passed as a value > 0, tnInterval is the timer delay interval. If * tnInterval is zero, then the Interval is st to the scrollbar TimerInverval * property. .Interval = tnInterval ENDWITH RETURN ENDPROC PROCEDURE Init *-------------------------------------------------------------------------------- * * Thanks to Jim Edgar. http://www.universalthread.com/ViewPageArticle.aspx?ID=555 * *-------------------------------------------------------------------------------- * ScrollTimer.Init() * * OVERVIEW: Add internal-use properties to the control. * WITH this * If true, a page scroll is being processed, if false * a line scroll is being processed. .AddProperty( "PageScroll", .F. ) * Specifies scroll ScrollDirection: 1 = scroll up, -1 = * scroll down, 0 = no scroll. .AddProperty( "ScrollDirection", 0 ) ENDWITH RETURN .T. ENDPROC   4 %3G6U%  (JT.OptionC_,.FORECOLOR = _SCREEN.oRibbon.ButtonFontColor &lcMacro CT.OptionC_%.FONTNAME = _SCREEN.oRibbon.cFontName &lcMacro %T.OptionC_.INIT() &lcMacro ULNILCMACROTHIS BUTTONCOUNTm4 f%CtbT(CEnabled OptionButtonU TLENABLEDLNITHISENABLEDSETALL< 5T CCUTHIS BORDERSTYLEREDRAW THISENABLEDENABLEDH%COACUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSEENTERH%COACUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSELEAVEN%COGCUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSELEAVEN%COGCUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSEENTERN%COGCUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSEENTERN%COGCUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSELEAVEN%COGCUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSELEAVEN%COGCUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSEENTERredraw, thisenabledvInit MouseEnter MouseLeaveOption1.MouseLeaveOption1.MouseEnter;Option2.MouseEnterOption2.MouseLeavekOption3.MouseLeaveOption3.MouseEnter11QAAA6qqAA3A311A211A21aA21aA21aA21aA21aA21aA1D_ J($k.)4.S:3|@81F=rLB'R)  v v g% m# U6 4 T-TTT$T C9 9 9 C Ta/ T-TTT$T C9 9 9 C TaUTNLEFTTNWIDTHTHISLINE1VISIBLETOPSHAPE1LEFTWIDTH BORDERCOLORORIBBON CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORZORDERLINE2 T9'TC999T 9 'T C999T     (%%CC redrawhCC UTHISSHAPE1 BORDERCOLORORIBBON LINESCOLOR BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORSHADOW SHADOWCOLORLINE1LINE2LNI CONTROLCOUNTCONTROLSCLASSREDRAW  TTC oLastClickC oLastPageC oPreviusPageNT9 $T C9 9 9 TTTTTC6TCT T-CT T-CT T$TTT 9TC6T%TTT (u#%C RibbontabqTC %C VC!%C" #TTHIS.".CLICK() &lcMacro CT#U$LCMACRO LCPAGECLASSTHIS BORDERWIDTH BACKSTYLE ADDPROPERTYSHAPE1 BORDERCOLORORIBBON LINESCOLOR BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORLEFTTOPHEIGHTWIDTH CURVATURE LCURVATUREANCHORZORDERLINE1VISIBLELINE2SHADOW SHADOWCOLORLSHADOWLNI CONTROLCOUNTCONTROLSCLASS PAGECLASS NEWOBJECT FIRSTTABCLICK OPREVIUSPAGETT*TC6&TC6UTHISSHAPE1LEFTTOPHEIGHTLSHADOWWIDTHsetline,redrawInitResize 1AAA!!AA3aqaqQArQ1AAA4A1AQAAAAQ1qqAAq1a1AqAA1AA4aAA2<c%~ ,c8 s)v  %XuU =T THIS.PARENT.CC\ .MOUSEUP()T%T &lcMacro ULCMACROTHISPARENTAPAGELEFTNPAGES4 -TTUTHISLEFTINTERVALPARENTDELAYTimer,Init1q1aAA3!A2 / ) ? %wU %C 5T THIS.PARENT..VISIBLE = .T. &lcMacro ,T THIS.PARENT..LEFT9&lcMacro = &lcMacro - _SCREEN.oRibbon.AnimationFaster 1T THIS.PARENT. .PageClass2lcMacro2 = "THIS.PARENT." + &lcMacro + ".LEFT" ;&lcMacro2 = &lcMacro2 - _SCREEN.oRibbon.AnimationFaster IF &lcMacro2 <= 0&lcMacro2 = 0 %C 5T THIS.PARENT..VISIBLE = .F. &lcMacro T-ULCMACROLCMACRO2THISPARENT OPREVIUSPAGE OLASTCLICKENABLEDTimer,1aQA!aQAA2) X%w3OU `T9'TC999T 9   ( %%CC redrawhCC UTHISSHAPE1 BORDERCOLORORIBBON LINESCOLOR BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORSHADOW SHADOWCOLORLNI CONTROLCOUNTCONTROLSCLASSREDRAW[  TTC oLastClickC oLastPageC oPreviusPageCnPagesC aPage[1,1]]T9 $T C9 9 9 TTTTTC6:T T TTT 9TC6T%6TT T ((%C_carouselpointTC%C CT ((%C_carouselpointT  ! .T! CC _0C"C!T#$a.TTHIS.CC!\ .MOUSEUP() &lcMacro .T#$-CCU%LCMACRO LCPAGECLASSTHIS BORDERWIDTH BACKSTYLE ADDPROPERTYSHAPE1 BORDERCOLORORIBBON LINESCOLOR BACKCOLOR CHANGECOLOR BACKCOLOR1NFACTORBACKCOLORLEFTTOPHEIGHTWIDTH CURVATURE LCURVATURESHADOW SHADOWCOLORVISIBLELSHADOWLNILNINDEX CONTROLCOUNTCONTROLSCLASS PAGECLASS NEWOBJECTZORDERNPAGESAPAGENAMETIMER2ENABLEDredraw,Init1aqaArQ1AAA4qA1AAQQ1qqAAa1AqAA1qAAqAA3)G ..y%U TC%'TC 6&TC 6TC$+CTTC$T CULDDATELNDAYTHISPARENTTHISDATENYEARNMONTH_REFRESH CTaUTHISMARLETTVISIBLEClick,Init[1qaqqAA32c~).G ..y%U TC%'TC6&TC  6TC$+CTTC$T CULDDATELNDAYTHISPARENTTHISDATENYEARNMONTH_REFRESH CTaUTHISMARLETTVISIBLEClick,Init[1qaqqAA32b}). $%4[ CU%"BTC-a6%C^00:00:00h C,TCC$*C  C^6U THISPARENT NOCONTROLSMARCVISIBLE_REFRESHRIBBONDATETIME RIBBONLABEL1CAPTION LSHOWTIMETimer,1AAAA2)y ``%U CTaUTHISMARLETTVISIBLEN#T(TC9999_UTHISPARENTNYEARCYEARCAPTIONInit,Clicke13129U)` Ё%vU)T CUTHISPARENTNMONTHCLICKClick,1a1D)Height = 90 Width = 250 Desktop = .T. ShowWindow = 1 ShowInTaskBar = .F. DoCreate = .T. AutoCenter = .T. BorderStyle = 1 Caption = "" TitleBar = 0 AlwaysOnTop = .T. Name = "ribbonformwait" {Top = 86 Left = 177 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 13 lcurvature = .F. Name = "i1" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "01" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" lTop = 67 Left = 244 Width = 20 Height = 20 ZOrderSet = 9 lcurvature = .F. Name = "m20" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "20" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" {Top = 86 Left = 196 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 14 lcurvature = .F. Name = "i2" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "02" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  Ё%vU)T CUTHISPARENTNMONTHCLICKClick,1a1D) Ё%vU)T CUTHISPARENTNMONTHCLICKClick,1a1C)FPROCEDURE redraw LOCAL lnI WITH THIS FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "redraw", 5) .CONTROLS(lnI).ReDraw() ENDIF ENDFOR ENDWITH ENDPROC PROCEDURE thisenabled PARAMETERS tlEnabled LOCAL lnI WITH THIS IF PCOUNT() = 1 .ENABLED = tlEnabled FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "thisenabled", 5) .CONTROLS(lnI).ThisEnabled(.ENABLED) ENDIF ENDFOR ENDIF ENDWITH ENDPROC PROCEDURE Init WITH THIS .BORDERWIDTH = 0 .BACKSTYLE = 0 .ThisEnabled(.ENABLED) ENDWITH ENDPROC {Top = 42 Left = 177 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 44 lcurvature = .F. Name = "o1" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "01" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" FTop = 155 Left = 309 Width = 40 Height = 20 ZOrderSet = 40 lcurvature = .F. Name = "Ribboncommandbutton1" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.Caption = "x" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 1 Ribbonlabel1.Width = 34 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" Top = 130 Left = 329 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 38 lcurvature = .F. Name = "e9" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "09" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" Top = 130 Left = 310 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 37 lcurvature = .F. Name = "e8" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "08" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" Top = 130 Left = 291 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 36 lcurvature = .F. Name = "e7" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "07" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" mTop = 67 Left = 282 Width = 20 Height = 20 ZOrderSet = 11 lcurvature = .F. Name = "m40" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "40" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" Top = 130 Left = 272 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 35 lcurvature = .F. Name = "e6" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "06" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" mTop = 67 Left = 301 Width = 20 Height = 20 ZOrderSet = 12 lcurvature = .F. Name = "m50" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "50" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"  Ё%vU)TCUTHISPARENTNMONTHCLICKClick,1a1C) Ё%vU)TCUTHISPARENTNMONTHCLICKClick,1a1C) Ё%vU)TCUTHISPARENTNMONTHCLICKClick,1a1C) Ё%vU)TCUTHISPARENTNMONTHCLICKClick,1a1C) Ё%vU)TCUTHISPARENTNMONTHCLICKClick,1a1C) Ё%vU)TCUTHISPARENTNMONTHCLICKClick,1a1C) Ё%vU)TCUTHISPARENTNMONTHCLICKClick,1a1C) Ё%vU)TCUTHISPARENTNMONTHCLICKClick,1a1C)= $$u%UO H T-!TC$CUTHISVISIBLEPARENTTHISDATENYEARNMONTH_REFRESH0 )-TCCCC$9=-TCCCC$9=-TCCCC$9=-TCCCC$9=-T CCCC$9=-T CCCC$9=-T CCCC$9=-T CCCC$9=-T CCCC $9=-TCCCC $9=-TCCCC $9=-TCCCC $9=UTHISMONTH1 RIBBONLABEL1CAPTIONORIBBON C_CMONTHEXMONTH2MONTH3MONTH4MONTH5MONTH6MONTH7MONTH8MONTH9MONTH10MONTH11MONTH12Click,Init1A3A15 )$ ? %XU *CVISIBLEa RIBBONGROUP?C BACKCOLORC9 9 RIBBONLABELT a%T C9 9UNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTSETALLORIBBON CHANGECOLOR BACKGROUNDIMAGE1VISIBLE RIBBONLABEL1 BACKCOLOR[TT-"T C9 9 U NBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTIMAGE1VISIBLE RIBBONLABEL1 BACKCOLORORIBBON CHANGECOLOR BACKGROUND MouseEnter, MouseLeave|11!QA31!A1 Z )lTop = 23 Left = 225 Width = 20 Height = 20 ZOrderSet = 5 lcurvature = .F. Name = "h10" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "10" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" Top = 130 Left = 253 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 34 lcurvature = .F. Name = "e5" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "05" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" Top = 130 Left = 234 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 33 lcurvature = .F. Name = "e4" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "04" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" Top = 130 Left = 215 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 32 lcurvature = .F. Name = "e3" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "03" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" Top = 130 Left = 196 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 31 lcurvature = .F. Name = "e2" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "02" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" Top = 130 Left = 177 Width = 20 Height = 20 Enabled = .F. Visible = .F. ZOrderSet = 30 lcurvature = .F. Name = "e1" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "01" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" {Top = 86 Left = 234 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 16 lcurvature = .F. Name = "i4" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "04" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" }Top = 111 Left = 301 Width = 20 Height = 20 Visible = .F. ZOrderSet = 29 lcurvature = .F. Name = "s50" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "50" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" }Top = 111 Left = 282 Width = 20 Height = 20 Visible = .F. ZOrderSet = 28 lcurvature = .F. Name = "s40" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "40" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" }Top = 111 Left = 263 Width = 20 Height = 20 Visible = .F. ZOrderSet = 27 lcurvature = .F. Name = "s30" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "30" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" - ɹ%_ U! CT9UTHIS FORECOLORORIBBON TABFONTCOLOR)CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSELEAVE)CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSEENTERredraw, MouseLeavey MouseEnter1Q2113112Lm0 ) /%U)CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENT_SHAPE2 MOUSELEAVE MouseLeave,1112g) %rU"TaT-UTHISPARENTVISIBLEENABLEDTimer,12@)}Top = 111 Left = 244 Width = 20 Height = 20 Visible = .F. ZOrderSet = 26 lcurvature = .F. Name = "s20" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "20" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" }Top = 111 Left = 225 Width = 20 Height = 20 Visible = .F. ZOrderSet = 25 lcurvature = .F. Name = "s10" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "10" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" }Top = 111 Left = 206 Width = 20 Height = 20 Visible = .F. ZOrderSet = 24 lcurvature = .F. Name = "s00" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "00" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" {Top = 86 Left = 329 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 21 lcurvature = .F. Name = "i9" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "09" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" {Top = 86 Left = 310 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 20 lcurvature = .F. Name = "i8" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "08" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" lTop = 23 Left = 206 Width = 20 Height = 20 ZOrderSet = 4 lcurvature = .F. Name = "h00" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "00" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 16 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" {Top = 86 Left = 291 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 19 lcurvature = .F. Name = "i7" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "07" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" {Top = 86 Left = 272 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 18 lcurvature = .F. Name = "i6" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "06" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" mTop = 67 Left = 263 Width = 20 Height = 20 ZOrderSet = 10 lcurvature = .F. Name = "m30" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "30" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett" {Top = 86 Left = 253 Width = 20 Height = 20 Enabled = .F. ZOrderSet = 17 lcurvature = .F. Name = "i5" Image1.Height = 16 Image1.Left = 6 Image1.Top = 38 Image1.Width = 16 Image1.Name = "Image1" xShape2.Name = "xShape2" Shape1.Name = "Shape1" Command1.Name = "Command1" Image2.Name = "Image2" Ribbonlabel1.FontBold = .F. Ribbonlabel1.FontSize = 8 Ribbonlabel1.Caption = "05" Ribbonlabel1.Height = 16 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 3 Ribbonlabel1.Width = 15 Ribbonlabel1.Name = "Ribbonlabel1" Ribbonlabel2.Left = 124 Ribbonlabel2.Top = 36 Ribbonlabel2.Name = "Ribbonlabel2" Marlett.Name = "Marlett"     %p} YU l(h%%CCredrawhdCC $*TC9 6T 9 T -T 9T9T 9 T 9 xTC99!TC9 6ULNITHIS CONTROLCOUNTCONTROLSCLASSREDRAWIMAGE1HEIGHTORIBBONSEEOUTLINEGROUPPICTURE CFILEBMP1VISIBLESHAPE1 BORDERCOLOR LINESCOLOR_SHAPE2 BACKCOLOR1 RIBBONLABEL1 BACKCOLOR CHANGECOLOR BACKGROUND BACKSTYLE4 %CtT(*%CC thisenabledhU TLENABLEDLNITHISENABLED CONTROLCOUNTCONTROLSCLASS THISENABLED&CUNBUTTONNSHIFTNXCOORDNYCOORDTHIS_SHAPE2 MOUSEENTER FTTTCCTT)T  C9 6T  T 9  T-YTTT  T  T9 T9 TTT  T  T9 T9 CTGTT T  TC9 9 +TCCXCX6!TC9 6CTGT UTHIS BORDERWIDTH BACKSTYLETOP THISENABLEDENABLEDIMAGE1ZORDERLEFTHEIGHTORIBBONSEEOUTLINEGROUPWIDTHPICTURE CFILEBMP1VISIBLESHAPE1 BORDERCOLOR LINESCOLOR_SHAPE2 BACKCOLOR1 RIBBONLABEL1 BACKCOLOR CHANGECOLOR BACKGROUNDCAPTIONRIBBONBUTTONGROUP1&CUNBUTTONNSHIFTNXCOORDNYCOORDTHIS_SHAPE2 MOUSELEAVEredraw, thisenabled MouseEnterInit MouseLeave1qQ1AAAaaaaaAA6qqAAAA313AQ1A11AQQ11AQAQA411$d-'2VE i) 2PROCEDURE redraw LOCAL lnColor1, lnColor2 WITH THIS .BACKCOLOR = _SCREEN.oRibbon.BackColor2 .image1.PICTURE = _SCREEN.oRibbon.cFileBMP6 .Image1.VISIBLE = .ShowBackImage .line1.BORDERCOLOR = _SCREEN.oRibbon.BackGround ENDWITH lnColor1 = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackGround, -25) lnColor2 = RGB(240,240,240) WITH THIS.oResize IF THISFORM.BORDERSTYLE = 3 .x1.BACKCOLOR = lnColor1 .x2.BACKCOLOR = lnColor1 .x3.BACKCOLOR = lnColor1 .x4.BACKCOLOR = lnColor1 .x5.BACKCOLOR = lnColor1 .x6.BACKCOLOR = lnColor1 .x6.BACKCOLOR = lnColor1 .z1.BACKCOLOR = lnColor2 .z2.BACKCOLOR = lnColor2 .z3.BACKCOLOR = lnColor2 .z4.BACKCOLOR = lnColor2 .z5.BACKCOLOR = lnColor2 .z6.BACKCOLOR = lnColor2 .VISIBLE = .T. ELSE .VISIBLE = .F. ENDIF ENDWITH LOCAL lnI WITH THIS FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "redraw", 5) .CONTROLS(lnI).ReDraw() ENDIF ENDFOR ENDWITH ENDPROC PROCEDURE Init WITH THIS .TOP = THIS.PARENT.HEIGHT - .HEIGHT .LEFT = 0 .WIDTH = THIS.PARENT.WIDTH .BORDERWIDTH = 0 .ANCHOR = 14 .ZORDER(0) .VISIBLE = .T. ENDWITH WITH THIS.Image1 .ZORDER(1) .LEFT = 0 .TOP = 0 .HEIGHT = THIS.HEIGHT .WIDTH = THIS.WIDTH .PICTURE = _SCREEN.oRibbon.cFileBMP6 .ANCHOR = 10 ENDWITH WITH THIS.line1 .LEFT = 0 .TOP = 0 .WIDTH = THIS.PARENT.WIDTH .BORDERCOLOR = _SCREEN.oRibbon.BackGround .ZORDER(0) .ANCHOR = 10 ENDWITH WITH THIS.oResize .LEFT = THIS.WIDTH - .WIDTH .ANCHOR = 8 ENDWITH THIS.ReDraw() ENDPROC PROCEDURE settime PARAMETERS tcTime WITH THIS DO CASE CASE UPPER(LEFT(tcTime, 1)) = "H" .nHours = VAL(SUBSTR(tcTime, 2)) IF .OptAmPm.VISIBLE IF .OptAmPm.VALUE = 1 IF .nHours = 12 .nHours = 0 ENDIF ELSE IF .nHours # 12 .nHours = .nHours + 12 ENDIF ENDIF ENDIF .O1.ThisEnabled(.T.) .O2.ThisEnabled(.T.) .O3.ThisEnabled(.T.) .O4.ThisEnabled(.T.) .O5.ThisEnabled(.T.) .O6.ThisEnabled(.T.) .O7.ThisEnabled(.T.) .O8.ThisEnabled(.T.) .O9.ThisEnabled(.T.) IF .nHours = 20 AND NOT .OptAmPm.VISIBLE .O4.ThisEnabled(.F.) .O5.ThisEnabled(.F.) .O6.ThisEnabled(.F.) .O7.ThisEnabled(.F.) .O8.ThisEnabled(.F.) .O9.ThisEnabled(.F.) ENDIF IF (.nHours = 10 OR .nHours = 22) AND .OptAmPm.VISIBLE .O2.ThisEnabled(.F.) .O3.ThisEnabled(.F.) .O4.ThisEnabled(.F.) .O5.ThisEnabled(.F.) .O6.ThisEnabled(.F.) .O7.ThisEnabled(.F.) .O8.ThisEnabled(.F.) .O9.ThisEnabled(.F.) ENDIF CASE UPPER(LEFT(tcTime, 1)) = "O" .nHours = .nHours + VAL(SUBSTR(tcTime, 2)) .O1.ThisEnabled(.F.) .O2.ThisEnabled(.F.) .O3.ThisEnabled(.F.) .O4.ThisEnabled(.F.) .O5.ThisEnabled(.F.) .O6.ThisEnabled(.F.) .O7.ThisEnabled(.F.) .O8.ThisEnabled(.F.) .O9.ThisEnabled(.F.) CASE UPPER(LEFT(tcTime, 1)) = "M" .nMinutes = VAL(SUBSTR(tcTime, 2)) .I1.ThisEnabled(.T.) .I2.ThisEnabled(.T.) .I3.ThisEnabled(.T.) .I4.ThisEnabled(.T.) .I5.ThisEnabled(.T.) .I6.ThisEnabled(.T.) .I7.ThisEnabled(.T.) .I8.ThisEnabled(.T.) .I9.ThisEnabled(.T.) CASE UPPER(LEFT(tcTime, 1)) = "I" .nMinutes = .nMinutes + VAL(SUBSTR(tcTime, 2)) .I1.ThisEnabled(.F.) .I2.ThisEnabled(.F.) .I3.ThisEnabled(.F.) .I4.ThisEnabled(.F.) .I5.ThisEnabled(.F.) .I6.ThisEnabled(.F.) .I7.ThisEnabled(.F.) .I8.ThisEnabled(.F.) .I9.ThisEnabled(.F.) CASE UPPER(LEFT(tcTime, 1)) = "S" .nSeconds = VAL(SUBSTR(tcTime, 2)) .e1.ThisEnabled(.T.) .e2.ThisEnabled(.T.) .e3.ThisEnabled(.T.) .e4.ThisEnabled(.T.) .e5.ThisEnabled(.T.) .e6.ThisEnabled(.T.) .e7.ThisEnabled(.T.) .e8.ThisEnabled(.T.) .e9.ThisEnabled(.T.) CASE UPPER(LEFT(tcTime, 1)) = "E" .nSeconds = .nSeconds + VAL(SUBSTR(tcTime, 2)) .e1.ThisEnabled(.F.) .e2.ThisEnabled(.F.) .e3.ThisEnabled(.F.) .e4.ThisEnabled(.F.) .e5.ThisEnabled(.F.) .e6.ThisEnabled(.F.) .e7.ThisEnabled(.F.) .e8.ThisEnabled(.F.) .e9.ThisEnabled(.F.) ENDCASE .oTextBox.VALUE = DATETIME(YEAR(._Calendar1.ThisDate), MONTH(._Calendar1.ThisDate), DAY(._Calendar1.ThisDate), ; .nHours, .nMinutes, .nSeconds) .oTextBox.FONTBOLD = .T. .BLINK() ENDWITH ENDPROC PROCEDURE blink INKEY(0.1) THIS.oTextBox.FONTBOLD = .F. ENDPROC PROCEDURE Init PARAMETERS tnLeft, tnTop, tnHWND, toTextBox, ttDate DODEFAULT(tnLeft, tnTop, tnHWND) WITH THIS .oTextBox = toTextBox IF .oTextBox.SECONDS # 0 .s00.VISIBLE = .T. .s10.VISIBLE = .T. .s20.VISIBLE = .T. .s30.VISIBLE = .T. .s40.VISIBLE = .T. .s50.VISIBLE = .T. .e1.VISIBLE = .T. .e2.VISIBLE = .T. .e3.VISIBLE = .T. .e4.VISIBLE = .T. .e5.VISIBLE = .T. .e6.VISIBLE = .T. .e7.VISIBLE = .T. .e8.VISIBLE = .T. .e9.VISIBLE = .T. .Image3.VISIBLE = .T. ENDIF IF SET("Hours") = 24 .OptAmPm.VISIBLE = .F. ELSE .H20.VISIBLE = .F. ENDIF ttDate = IIF(EMPTY(ttDate), DATETIME(YEAR(DATE()), MONTH(DATE()), DAY(DATE()), ; 0, 0, 0), ttDate) .nHours = HOUR(ttDate) .OptAmPm.VALUE = IIF(.nHours >= 12, 2, 1) .nMinutes = MINUTE(ttDate) .nSeconds = SEC(ttDate) ._Shape11.BORDERCOLOR = _SCREEN.oRibbon.LinesColor ._Shape11.BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) ._Calendar1.ThisDate = DATE(YEAR(ttDate), MONTH(ttDate), DAY(ttDate)) ._Calendar1._Refresh() .oTextBox.VALUE = DATETIME(YEAR(ttDate), MONTH(ttDate), DAY(ttDate), ; .nHours, .nMinutes, .nSeconds) .SHOW() ENDWITH ENDPROC PROCEDURE _calendar1.RibbonDateTime.Click WITH THIS .PARENT.PARENT.oTextBox.FONTBOLD = .T. .PARENT.PARENT.oTextBox.VALUE = DATETIME(YEAR(DATE()), MONTH(DATE()), DAY(DATE()), ; THISFORM.nHours, THISFORM.nMinutes, THISFORM.nSeconds) .PARENT.ThisDate = DATE() .PARENT._Refresh() ENDWITH THISFORM.Blink() ENDPROC PROCEDURE _calendar1.Ribboncommandbutton3.Click THIS.PARENT.PARENT.oTextBox.VALUE = {//::} THISFORM.RELEASE ENDPROC PROCEDURE _calendar1.controldate PARAMETERS oDateValue WITH THIS .PARENT.oTextBox.FONTBOLD = .T. .ThisDate = oDateValue ._Refresh() .PARENT.oTextBox.VALUE = DATETIME(YEAR(.ThisDate), MONTH(.ThisDate), DAY(.ThisDate), ; THISFORM.nHours, THISFORM.nMinutes, THISFORM.nSeconds) ENDWITH THISFORM.Blink() ENDPROC NQTop = 0 Left = 0 Height = 179 Width = 353 DoCreate = .T. nhours = 0 nminutes = 0 nseconds = 0 Name = "ribbonformdatetime" _Shape11.BackStyle = 1 _Shape11.ZOrderSet = 1 _Shape11.Name = "_Shape11" Command1.ZOrderSet = 2 Command1.Name = "Command1" _calendar1.CntYearMonth.Month1.Image1.Height = 16 _calendar1.CntYearMonth.Month1.Image1.Width = 16 _calendar1.CntYearMonth.Month1.Image1.Name = "Image1" _calendar1.CntYearMonth.Month1.xShape2.Name = "xShape2" _calendar1.CntYearMonth.Month1.Shape1.Name = "Shape1" _calendar1.CntYearMonth.Month1.Command1.Name = "Command1" _calendar1.CntYearMonth.Month1.Image2.Name = "Image2" _calendar1.CntYearMonth.Month1.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.CntYearMonth.Month1.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.CntYearMonth.Month1.Marlett.Name = "Marlett" _calendar1.CntYearMonth.Month1.Name = "Month1" _calendar1.CntYearMonth.Month2.Image1.Height = 16 _calendar1.CntYearMonth.Month2.Image1.Width = 16 _calendar1.CntYearMonth.Month2.Image1.Name = "Image1" _calendar1.CntYearMonth.Month2.xShape2.Name = "xShape2" _calendar1.CntYearMonth.Month2.Shape1.Name = "Shape1" _calendar1.CntYearMonth.Month2.Command1.Name = "Command1" _calendar1.CntYearMonth.Month2.Image2.Name = "Image2" _calendar1.CntYearMonth.Month2.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.CntYearMonth.Month2.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.CntYearMonth.Month2.Marlett.Name = "Marlett" _calendar1.CntYearMonth.Month2.Name = "Month2" _calendar1.CntYearMonth.Month3.Image1.Height = 16 _calendar1.CntYearMonth.Month3.Image1.Width = 16 _calendar1.CntYearMonth.Month3.Image1.Name = "Image1" _calendar1.CntYearMonth.Month3.xShape2.Name = "xShape2" _calendar1.CntYearMonth.Month3.Shape1.Name = "Shape1" _calendar1.CntYearMonth.Month3.Command1.Name = "Command1" _calendar1.CntYearMonth.Month3.Image2.Name = "Image2" _calendar1.CntYearMonth.Month3.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.CntYearMonth.Month3.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.CntYearMonth.Month3.Marlett.Name = "Marlett" _calendar1.CntYearMonth.Month3.Name = "Month3" _calendar1.CntYearMonth.Month4.Image1.Height = 16 _calendar1.CntYearMonth.Month4.Image1.Width = 16 _calendar1.CntYearMonth.Month4.Image1.Name = "Image1" _calendar1.CntYearMonth.Month4.xShape2.Name = "xShape2" _calendar1.CntYearMonth.Month4.Shape1.Name = "Shape1" _calendar1.CntYearMonth.Month4.Command1.Name = "Command1" _calendar1.CntYearMonth.Month4.Image2.Name = "Image2" _calendar1.CntYearMonth.Month4.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.CntYearMonth.Month4.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.CntYearMonth.Month4.Marlett.Name = "Marlett" _calendar1.CntYearMonth.Month4.Name = "Month4" _calendar1.CntYearMonth.Month5.Image1.Height = 16 _calendar1.CntYearMonth.Month5.Image1.Width = 16 _calendar1.CntYearMonth.Month5.Image1.Name = "Image1" _calendar1.CntYearMonth.Month5.xShape2.Name = "xShape2" _calendar1.CntYearMonth.Month5.Shape1.Name = "Shape1" _calendar1.CntYearMonth.Month5.Command1.Name = "Command1" _calendar1.CntYearMonth.Month5.Image2.Name = "Image2" _calendar1.CntYearMonth.Month5.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.CntYearMonth.Month5.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.CntYearMonth.Month5.Marlett.Name = "Marlett" _calendar1.CntYearMonth.Month5.Name = "Month5" _calendar1.CntYearMonth.Month6.Image1.Height = 16 _calendar1.CntYearMonth.Month6.Image1.Width = 16 _calendar1.CntYearMonth.Month6.Image1.Name = "Image1" _calendar1.CntYearMonth.Month6.xShape2.Name = "xShape2" _calendar1.CntYearMonth.Month6.Shape1.Name = "Shape1" _calendar1.CntYearMonth.Month6.Command1.Name = "Command1" _calendar1.CntYearMonth.Month6.Image2.Name = "Image2" _calendar1.CntYearMonth.Month6.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.CntYearMonth.Month6.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.CntYearMonth.Month6.Marlett.Name = "Marlett" _calendar1.CntYearMonth.Month6.Name = "Month6" _calendar1.CntYearMonth.Month7.Image1.Height = 16 _calendar1.CntYearMonth.Month7.Image1.Width = 16 _calendar1.CntYearMonth.Month7.Image1.Name = "Image1" _calendar1.CntYearMonth.Month7.xShape2.Name = "xShape2" _calendar1.CntYearMonth.Month7.Shape1.Name = "Shape1" _calendar1.CntYearMonth.Month7.Command1.Name = "Command1" _calendar1.CntYearMonth.Month7.Image2.Name = "Image2" _calendar1.CntYearMonth.Month7.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.CntYearMonth.Month7.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.CntYearMonth.Month7.Marlett.Name = "Marlett" _calendar1.CntYearMonth.Month7.Name = "Month7" _calendar1.CntYearMonth.Month8.Image1.Height = 16 _calendar1.CntYearMonth.Month8.Image1.Width = 16 _calendar1.CntYearMonth.Month8.Image1.Name = "Image1" _calendar1.CntYearMonth.Month8.xShape2.Name = "xShape2" _calendar1.CntYearMonth.Month8.Shape1.Name = "Shape1" _calendar1.CntYearMonth.Month8.Command1.Name = "Command1" _calendar1.CntYearMonth.Month8.Image2.Name = "Image2" _calendar1.CntYearMonth.Month8.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.CntYearMonth.Month8.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.CntYearMonth.Month8.Marlett.Name = "Marlett" _calendar1.CntYearMonth.Month8.Name = "Month8" _calendar1.CntYearMonth.Month9.Image1.Height = 16 _calendar1.CntYearMonth.Month9.Image1.Width = 16 _calendar1.CntYearMonth.Month9.Image1.Name = "Image1" _calendar1.CntYearMonth.Month9.xShape2.Name = "xShape2" _calendar1.CntYearMonth.Month9.Shape1.Name = "Shape1" _calendar1.CntYearMonth.Month9.Command1.Name = "Command1" _calendar1.CntYearMonth.Month9.Image2.Name = "Image2" _calendar1.CntYearMonth.Month9.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.CntYearMonth.Month9.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.CntYearMonth.Month9.Marlett.Name = "Marlett" _calendar1.CntYearMonth.Month9.Name = "Month9" _calendar1.CntYearMonth.Month10.Image1.Height = 16 _calendar1.CntYearMonth.Month10.Image1.Width = 16 _calendar1.CntYearMonth.Month10.Image1.Name = "Image1" _calendar1.CntYearMonth.Month10.xShape2.Name = "xShape2" _calendar1.CntYearMonth.Month10.Shape1.Name = "Shape1" _calendar1.CntYearMonth.Month10.Command1.Name = "Command1" _calendar1.CntYearMonth.Month10.Image2.Name = "Image2" _calendar1.CntYearMonth.Month10.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.CntYearMonth.Month10.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.CntYearMonth.Month10.Marlett.Name = "Marlett" _calendar1.CntYearMonth.Month10.Name = "Month10" _calendar1.CntYearMonth.Month11.Image1.Height = 16 _calendar1.CntYearMonth.Month11.Image1.Width = 16 _calendar1.CntYearMonth.Month11.Image1.Name = "Image1" _calendar1.CntYearMonth.Month11.xShape2.Name = "xShape2" _calendar1.CntYearMonth.Month11.Shape1.Name = "Shape1" _calendar1.CntYearMonth.Month11.Command1.Name = "Command1" _calendar1.CntYearMonth.Month11.Image2.Name = "Image2" _calendar1.CntYearMonth.Month11.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.CntYearMonth.Month11.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.CntYearMonth.Month11.Marlett.Name = "Marlett" _calendar1.CntYearMonth.Month11.Name = "Month11" _calendar1.CntYearMonth.Month12.Image1.Height = 16 _calendar1.CntYearMonth.Month12.Image1.Width = 16 _calendar1.CntYearMonth.Month12.Image1.Name = "Image1" _calendar1.CntYearMonth.Month12.xShape2.Name = "xShape2" _calendar1.CntYearMonth.Month12.Shape1.Name = "Shape1" _calendar1.CntYearMonth.Month12.Command1.Name = "Command1" _calendar1.CntYearMonth.Month12.Image2.Name = "Image2" _calendar1.CntYearMonth.Month12.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.CntYearMonth.Month12.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.CntYearMonth.Month12.Marlett.Name = "Marlett" _calendar1.CntYearMonth.Month12.Name = "Month12" _calendar1.CntYearMonth.Ribboncommandbutton1.Image1.Height = 16 _calendar1.CntYearMonth.Ribboncommandbutton1.Image1.Width = 16 _calendar1.CntYearMonth.Ribboncommandbutton1.Image1.Name = "Image1" _calendar1.CntYearMonth.Ribboncommandbutton1.xShape2.Name = "xShape2" _calendar1.CntYearMonth.Ribboncommandbutton1.Shape1.Name = "Shape1" _calendar1.CntYearMonth.Ribboncommandbutton1.Command1.Name = "Command1" _calendar1.CntYearMonth.Ribboncommandbutton1.Image2.Name = "Image2" _calendar1.CntYearMonth.Ribboncommandbutton1.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.CntYearMonth.Ribboncommandbutton1.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.CntYearMonth.Ribboncommandbutton1.Marlett.Name = "Marlett" _calendar1.CntYearMonth.Ribboncommandbutton1.Name = "Ribboncommandbutton1" _calendar1.CntYearMonth.Ribboncommandbutton2.Image1.Height = 16 _calendar1.CntYearMonth.Ribboncommandbutton2.Image1.Width = 16 _calendar1.CntYearMonth.Ribboncommandbutton2.Image1.Name = "Image1" _calendar1.CntYearMonth.Ribboncommandbutton2.xShape2.Name = "xShape2" _calendar1.CntYearMonth.Ribboncommandbutton2.Shape1.Name = "Shape1" _calendar1.CntYearMonth.Ribboncommandbutton2.Command1.Name = "Command1" _calendar1.CntYearMonth.Ribboncommandbutton2.Image2.Name = "Image2" _calendar1.CntYearMonth.Ribboncommandbutton2.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.CntYearMonth.Ribboncommandbutton2.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.CntYearMonth.Ribboncommandbutton2.Marlett.Name = "Marlett" _calendar1.CntYearMonth.Ribboncommandbutton2.Name = "Ribboncommandbutton2" _calendar1.CntYearMonth.cYear.Name = "cYear" _calendar1.CntYearMonth.Name = "CntYearMonth" _calendar1._day1.Shape1.Name = "Shape1" _calendar1._day1.Command1.Name = "Command1" _calendar1._day1.Label1.Name = "Label1" _calendar1._day1.Name = "_day1" _calendar1._day2.Shape1.Name = "Shape1" _calendar1._day2.Command1.Name = "Command1" _calendar1._day2.Label1.Name = "Label1" _calendar1._day2.Name = "_day2" _calendar1._day3.Shape1.Name = "Shape1" _calendar1._day3.Command1.Name = "Command1" _calendar1._day3.Label1.Name = "Label1" _calendar1._day3.Name = "_day3" _calendar1._day4.Shape1.Name = "Shape1" _calendar1._day4.Command1.Name = "Command1" _calendar1._day4.Label1.Name = "Label1" _calendar1._day4.Name = "_day4" _calendar1._day5.Shape1.Name = "Shape1" _calendar1._day5.Command1.Name = "Command1" _calendar1._day5.Label1.Name = "Label1" _calendar1._day5.Name = "_day5" _calendar1._day6.Shape1.Name = "Shape1" _calendar1._day6.Command1.Name = "Command1" _calendar1._day6.Label1.Name = "Label1" _calendar1._day6.Name = "_day6" _calendar1._day7.Shape1.Name = "Shape1" _calendar1._day7.Command1.Name = "Command1" _calendar1._day7.Label1.Name = "Label1" _calendar1._day7.Name = "_day7" _calendar1._day8.Shape1.Name = "Shape1" _calendar1._day8.Command1.Name = "Command1" _calendar1._day8.Label1.Name = "Label1" _calendar1._day8.Name = "_day8" _calendar1._day9.Shape1.Name = "Shape1" _calendar1._day9.Command1.Name = "Command1" _calendar1._day9.Label1.Name = "Label1" _calendar1._day9.Name = "_day9" _calendar1._day10.Shape1.Name = "Shape1" _calendar1._day10.Command1.Name = "Command1" _calendar1._day10.Label1.Name = "Label1" _calendar1._day10.Name = "_day10" _calendar1._day11.Shape1.Name = "Shape1" _calendar1._day11.Command1.Name = "Command1" _calendar1._day11.Label1.Name = "Label1" _calendar1._day11.Name = "_day11" _calendar1._day12.Shape1.Name = "Shape1" _calendar1._day12.Command1.Name = "Command1" _calendar1._day12.Label1.Name = "Label1" _calendar1._day12.Name = "_day12" _calendar1._day13.Shape1.Name = "Shape1" _calendar1._day13.Command1.Name = "Command1" _calendar1._day13.Label1.Name = "Label1" _calendar1._day13.Name = "_day13" _calendar1._day14.Shape1.Name = "Shape1" _calendar1._day14.Command1.Name = "Command1" _calendar1._day14.Label1.Name = "Label1" _calendar1._day14.Name = "_day14" _calendar1._day15.Shape1.Name = "Shape1" _calendar1._day15.Command1.Name = "Command1" _calendar1._day15.Label1.Name = "Label1" _calendar1._day15.Name = "_day15" _calendar1._day16.Shape1.Name = "Shape1" _calendar1._day16.Command1.Name = "Command1" _calendar1._day16.Label1.Name = "Label1" _calendar1._day16.Name = "_day16" _calendar1._day17.Shape1.Name = "Shape1" _calendar1._day17.Command1.Name = "Command1" _calendar1._day17.Label1.Name = "Label1" _calendar1._day17.Name = "_day17" _calendar1._day18.Shape1.Name = "Shape1" _calendar1._day18.Command1.Name = "Command1" _calendar1._day18.Label1.Name = "Label1" _calendar1._day18.Name = "_day18" _calendar1._day19.Shape1.Name = "Shape1" _calendar1._day19.Command1.Name = "Command1" _calendar1._day19.Label1.Name = "Label1" _calendar1._day19.Name = "_day19" _calendar1._day20.Shape1.Name = "Shape1" _calendar1._day20.Command1.Name = "Command1" _calendar1._day20.Label1.Name = "Label1" _calendar1._day20.Name = "_day20" _calendar1._day21.Shape1.Name = "Shape1" _calendar1._day21.Command1.Name = "Command1" _calendar1._day21.Label1.Name = "Label1" _calendar1._day21.Name = "_day21" _calendar1._day22.Shape1.Name = "Shape1" _calendar1._day22.Command1.Name = "Command1" _calendar1._day22.Label1.Name = "Label1" _calendar1._day22.Name = "_day22" _calendar1._day23.Shape1.Name = "Shape1" _calendar1._day23.Command1.Name = "Command1" _calendar1._day23.Label1.Name = "Label1" _calendar1._day23.Name = "_day23" _calendar1._day24.Shape1.Name = "Shape1" _calendar1._day24.Command1.Name = "Command1" _calendar1._day24.Label1.Name = "Label1" _calendar1._day24.Name = "_day24" _calendar1._day25.Shape1.Name = "Shape1" _calendar1._day25.Command1.Name = "Command1" _calendar1._day25.Label1.Name = "Label1" _calendar1._day25.Name = "_day25" _calendar1._day26.Shape1.Name = "Shape1" _calendar1._day26.Command1.Name = "Command1" _calendar1._day26.Label1.Name = "Label1" _calendar1._day26.Name = "_day26" _calendar1._day27.Shape1.Name = "Shape1" _calendar1._day27.Command1.Name = "Command1" _calendar1._day27.Label1.Name = "Label1" _calendar1._day27.Name = "_day27" _calendar1._day28.Shape1.Name = "Shape1" _calendar1._day28.Command1.Name = "Command1" _calendar1._day28.Label1.Name = "Label1" _calendar1._day28.Name = "_day28" _calendar1._day29.Shape1.Name = "Shape1" _calendar1._day29.Command1.Name = "Command1" _calendar1._day29.Label1.Name = "Label1" _calendar1._day29.Name = "_day29" _calendar1._day30.Shape1.Name = "Shape1" _calendar1._day30.Command1.Name = "Command1" _calendar1._day30.Label1.Name = "Label1" _calendar1._day30.Name = "_day30" _calendar1._day31.Shape1.Name = "Shape1" _calendar1._day31.Command1.Name = "Command1" _calendar1._day31.Label1.Name = "Label1" _calendar1._day31.Name = "_day31" _calendar1._day32.Shape1.Name = "Shape1" _calendar1._day32.Command1.Name = "Command1" _calendar1._day32.Label1.Name = "Label1" _calendar1._day32.Name = "_day32" _calendar1._day33.Shape1.Name = "Shape1" _calendar1._day33.Command1.Name = "Command1" _calendar1._day33.Label1.Name = "Label1" _calendar1._day33.Name = "_day33" _calendar1._day34.Shape1.Name = "Shape1" _calendar1._day34.Command1.Name = "Command1" _calendar1._day34.Label1.Name = "Label1" _calendar1._day34.Name = "_day34" _calendar1._day35.Shape1.Name = "Shape1" _calendar1._day35.Command1.Name = "Command1" _calendar1._day35.Label1.Name = "Label1" _calendar1._day35.Name = "_day35" _calendar1._day36.Shape1.Name = "Shape1" _calendar1._day36.Command1.Name = "Command1" _calendar1._day36.Label1.Name = "Label1" _calendar1._day36.Name = "_day36" _calendar1._day37.Shape1.Name = "Shape1" _calendar1._day37.Command1.Name = "Command1" _calendar1._day37.Label1.Name = "Label1" _calendar1._day37.Name = "_day37" _calendar1._day38.Shape1.Name = "Shape1" _calendar1._day38.Command1.Name = "Command1" _calendar1._day38.Label1.Name = "Label1" _calendar1._day38.Name = "_day38" _calendar1._day39.Shape1.Name = "Shape1" _calendar1._day39.Command1.Name = "Command1" _calendar1._day39.Label1.Name = "Label1" _calendar1._day39.Name = "_day39" _calendar1._day40.Shape1.Name = "Shape1" _calendar1._day40.Command1.Name = "Command1" _calendar1._day40.Label1.Name = "Label1" _calendar1._day40.Name = "_day40" _calendar1._day41.Shape1.Name = "Shape1" _calendar1._day41.Command1.Name = "Command1" _calendar1._day41.Label1.Name = "Label1" _calendar1._day41.Name = "_day41" _calendar1._day42.Shape1.Name = "Shape1" _calendar1._day42.Command1.Name = "Command1" _calendar1._day42.Label1.Name = "Label1" _calendar1._day42.Name = "_day42" _calendar1.d7.Name = "d7" _calendar1.d6.Name = "d6" _calendar1.d5.Name = "d5" _calendar1.d4.Name = "d4" _calendar1.d3.Name = "d3" _calendar1.d2.Name = "d2" _calendar1.d1.Name = "d1" _calendar1.Timer1.Name = "Timer1" _calendar1.marc.Name = "marc" _calendar1.w1.Name = "w1" _calendar1.w2.Name = "w2" _calendar1.w3.Name = "w3" _calendar1.w4.Name = "w4" _calendar1.w5.Name = "w5" _calendar1.w6.Name = "w6" _calendar1.Ribbonmenuseparator1.Name = "Ribbonmenuseparator1" _calendar1.Ribbonmenuseparator2.Name = "Ribbonmenuseparator2" _calendar1.Ribboncommandbutton1.Image1.Height = 16 _calendar1.Ribboncommandbutton1.Image1.Width = 16 _calendar1.Ribboncommandbutton1.Image1.Name = "Image1" _calendar1.Ribboncommandbutton1.xShape2.Name = "xShape2" _calendar1.Ribboncommandbutton1.Shape1.Name = "Shape1" _calendar1.Ribboncommandbutton1.Command1.Name = "Command1" _calendar1.Ribboncommandbutton1.Image2.Name = "Image2" _calendar1.Ribboncommandbutton1.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.Ribboncommandbutton1.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.Ribboncommandbutton1.Marlett.Name = "Marlett" _calendar1.Ribboncommandbutton1.Name = "Ribboncommandbutton1" _calendar1.Ribboncommandbutton2.Image1.Height = 16 _calendar1.Ribboncommandbutton2.Image1.Width = 16 _calendar1.Ribboncommandbutton2.Image1.Name = "Image1" _calendar1.Ribboncommandbutton2.xShape2.Name = "xShape2" _calendar1.Ribboncommandbutton2.Shape1.Name = "Shape1" _calendar1.Ribboncommandbutton2.Command1.Name = "Command1" _calendar1.Ribboncommandbutton2.Image2.Name = "Image2" _calendar1.Ribboncommandbutton2.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.Ribboncommandbutton2.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.Ribboncommandbutton2.Marlett.Name = "Marlett" _calendar1.Ribboncommandbutton2.Name = "Ribboncommandbutton2" _calendar1.RibbonMonthYear.Image1.Height = 16 _calendar1.RibbonMonthYear.Image1.Width = 16 _calendar1.RibbonMonthYear.Image1.Name = "Image1" _calendar1.RibbonMonthYear.xShape2.Name = "xShape2" _calendar1.RibbonMonthYear.Shape1.Name = "Shape1" _calendar1.RibbonMonthYear.Command1.Name = "Command1" _calendar1.RibbonMonthYear.Image2.Name = "Image2" _calendar1.RibbonMonthYear.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.RibbonMonthYear.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.RibbonMonthYear.Marlett.Name = "Marlett" _calendar1.RibbonMonthYear.Name = "RibbonMonthYear" _calendar1.RibbonDateTime.Image1.Height = 16 _calendar1.RibbonDateTime.Image1.Width = 16 _calendar1.RibbonDateTime.Image1.Name = "Image1" _calendar1.RibbonDateTime.xShape2.Name = "xShape2" _calendar1.RibbonDateTime.Shape1.Name = "Shape1" _calendar1.RibbonDateTime.Command1.Name = "Command1" _calendar1.RibbonDateTime.Image2.Name = "Image2" _calendar1.RibbonDateTime.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.RibbonDateTime.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.RibbonDateTime.Marlett.Name = "Marlett" _calendar1.RibbonDateTime.Name = "RibbonDateTime" _calendar1.Monthandyear.Name = "Monthandyear" _calendar1.Ribboncommandbutton3.Image1.Height = 16 _calendar1.Ribboncommandbutton3.Image1.Width = 16 _calendar1.Ribboncommandbutton3.Image1.Name = "Image1" _calendar1.Ribboncommandbutton3.xShape2.Name = "xShape2" _calendar1.Ribboncommandbutton3.Shape1.Name = "Shape1" _calendar1.Ribboncommandbutton3.Command1.Name = "Command1" _calendar1.Ribboncommandbutton3.Image2.Name = "Image2" _calendar1.Ribboncommandbutton3.Ribbonlabel1.Name = "Ribbonlabel1" _calendar1.Ribboncommandbutton3.Ribbonlabel2.Name = "Ribbonlabel2" _calendar1.Ribboncommandbutton3.Marlett.Name = "Marlett" _calendar1.Ribboncommandbutton3.Name = "Ribboncommandbutton3" _calendar1.ZOrderSet = 3 _calendar1.Name = "_calendar1"  !Top = 0 Left = 0 Width = 372 Height = 30 TabIndex = 4 TabStop = .F. Name = "_titlebar1" Controlbuttons.Buttonmin.Image1.Height = 16 Controlbuttons.Buttonmin.Image1.Width = 16 Controlbuttons.Buttonmin.Image1.Name = "Image1" Controlbuttons.Buttonmin.xShape2.Name = "xShape2" Controlbuttons.Buttonmin.Shape1.Name = "Shape1" Controlbuttons.Buttonmin.Command1.Name = "Command1" Controlbuttons.Buttonmin.Image2.Name = "Image2" Controlbuttons.Buttonmin.Ribbonlabel1.Name = "Ribbonlabel1" Controlbuttons.Buttonmin.Ribbonlabel2.Name = "Ribbonlabel2" Controlbuttons.Buttonmin.Marlett.Name = "Marlett" Controlbuttons.Buttonmin.ZOrderSet = 0 Controlbuttons.Buttonmin.Name = "Buttonmin" Controlbuttons.buttonmax.Image1.Height = 16 Controlbuttons.buttonmax.Image1.Width = 16 Controlbuttons.buttonmax.Image1.Name = "Image1" Controlbuttons.buttonmax.xShape2.Name = "xShape2" Controlbuttons.buttonmax.Shape1.Name = "Shape1" Controlbuttons.buttonmax.Command1.Name = "Command1" Controlbuttons.buttonmax.Image2.Name = "Image2" Controlbuttons.buttonmax.Ribbonlabel1.Name = "Ribbonlabel1" Controlbuttons.buttonmax.Ribbonlabel2.Name = "Ribbonlabel2" Controlbuttons.buttonmax.Marlett.Name = "Marlett" Controlbuttons.buttonmax.ZOrderSet = 1 Controlbuttons.buttonmax.Name = "buttonmax" Controlbuttons.buttonclose.Image1.Height = 16 Controlbuttons.buttonclose.Image1.Width = 16 Controlbuttons.buttonclose.Image1.Name = "Image1" Controlbuttons.buttonclose.xShape2.Name = "xShape2" Controlbuttons.buttonclose.Shape1.Name = "Shape1" Controlbuttons.buttonclose.Command1.Name = "Command1" Controlbuttons.buttonclose.Image2.Name = "Image2" Controlbuttons.buttonclose.Ribbonlabel1.Name = "Ribbonlabel1" Controlbuttons.buttonclose.Ribbonlabel2.Name = "Ribbonlabel2" Controlbuttons.buttonclose.Marlett.Name = "Marlett" Controlbuttons.buttonclose.ZOrderSet = 2 Controlbuttons.buttonclose.cancel = .T. Controlbuttons.buttonclose.Name = "buttonclose" Controlbuttons.Top = 4 Controlbuttons.Left = 288 Controlbuttons.Height = 21 Controlbuttons.Name = "Controlbuttons" Ribbonlabel1.FontBold = .T. Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 7 Ribbonlabel1.Width = 364 Ribbonlabel1.Name = "Ribbonlabel1" Image1.Name = "Image1" Shape1.Name = "Shape1" Image2.Name = "Image2" Command1.Name = "Command1"  PROCEDURE getvalue LOCAL lnHour, lnSeconds WITH THIS lnHour = INT(VAL(.Ribbontextbox1.VALUE)) IF .Ribbonlabel3.VISIBLE DO CASE CASE lnHour = 12 AND .Ribbonlabel3.CAPTION = "AM" lnHour = 0 CASE lnHour = 12 AND .Ribbonlabel3.CAPTION = "PM" lnHour = 12 OTHERWISE lnHour = lnHour + IIF(.Ribbonlabel3.CAPTION = "PM", 12, 0) ENDCASE ENDIF lnSeconds = IIF(.Ribbontextbox3.VISIBLE, INT(VAL(.Ribbontextbox3.VALUE)), 0) .ReferenceDate = IIF(EMPTY(.ReferenceDate), DTOT(DATE(2000,1,1)), .ReferenceDate) .ReferenceDate = DATETIME(YEAR(.ReferenceDate), MONTH(.ReferenceDate), DAY(.ReferenceDate), ; lnHour, INT(VAL(.Ribbontextbox2.VALUE)), lnSeconds) ENDWITH RETURN THIS.ReferenceDate ENDPROC PROCEDURE setvalue LPARAMETERS ttvalue LOCAL nHour WITH THIS IF VARTYPE(ttvalue) = 'T' .ReferenceDate = ttvalue lnHour = HOUR(.ReferenceDate) IF .RibbonLabel3.VISIBLE .RibbonLabel3.CAPTION = IIF(lnHour < 12, "AM", "PM") DO CASE CASE lnHour = 23 lnHour = 11 CASE lnHour = 0 lnHour = 12 CASE lnHour = 12 AND .RibbonLabel3.CAPTION = "AM" lnHour = 0 CASE lnHour = 12 AND .RibbonLabel3.CAPTION = "PM" lnHour = 12 OTHERWISE lnHour = lnHour - IIF(lnHour > 12, 12, 0) ENDCASE ENDIF .Ribbontextbox1.VALUE = PADL(TRANSFORM(lnHour), 2, "0") .Ribbontextbox2.VALUE = PADL(TRANSFORM(MINUTE(.ReferenceDate)), 2, "0") .Ribbontextbox3.VALUE = PADL(TRANSFORM(SEC(.ReferenceDate)), 2, "0") ELSE RETURN .F. ENDIF ENDWITH ENDPROC PROCEDURE Init WITH THIS .BACKSTYLE = 1 .BACKSTYLE = 1 .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .Width = 110 .ThisEnabled(.ENABLED) .SECONDS = IIF(BETWEEN(.SECONDS, 0, 1), .SECONDS, 1) .RibbonLabel2.VISIBLE = IIF(.SECONDS = 1, .T., .F.) .RibbonTextbox3.VISIBLE = .RibbonLabel2.VISIBLE .WIDTH = .WIDTH - IIF(.RibbonTextbox3.VISIBLE, 0, 25) .RibbonLabel3.VISIBLE = IIF(SET("Hours") = 12, .T., .F.) .WIDTH = .WIDTH - IIF(.RibbonLabel3.VISIBLE, 0, 21) .RibbonCommandbutton1.LEFT = .WIDTH - .RibbonCommandbutton1.WIDTH - 2 ENDWITH WITH THIS.RibbonCommandbutton1 .nMenuLeft = .nMenuLeft - .LEFT + 1 .PanelClass = "" .Path_Form_Menu = "" .Marlett.VISIBLE = .T. ENDWITH ENDPROC PROCEDURE redraw DODEFAULT() WITH THIS .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) ENDWITH ENDPROC  f%U,T UTHISPARENTOTEXTBOXVALUETHISFORMRELEASEClick,11I) %6&U*4T U ODATEVALUETHISPARENTOTEXTBOXVALUETHISFORMRELEASE%TC$ UTHISPARENTOTEXTBOXVALUETHISFORMRELEASE controldate,RibbonDateTime.Click1qa31i) 0%A hUT UVNEWVALTHISOTEXTBOXx4C qTTC C U TNLEFTTNTOPTNHWND TOTEXTBOXTDDATETHISOTEXTBOX _CALENDAR1THISDATE_REFRESHSHOWotextbox_assign,Inite1q"3qQA5~e)4 %!/TUs l(h%%CCredrawhdCCULNITHIS CONTROLCOUNTCONTROLSCLASSREDRAW4 %CtT(*%CC thisenabledhU TLENABLEDLNITHISENABLED CONTROLCOUNTCONTROLSCLASS THISENABLED TT H6 RibbonT'TCC 6T\8  _pageframeh _carousel TT T T    _menutabsT T T T  T   T -CUTHIS BORDERWIDTH BACKSTYLEPARENTCLASSLEFTTOP YOURTITLEBARHEIGHTSHAPE1WIDTH SHAPETABSANCHORVISIBLE THISENABLEDENABLEDredraw, thisenabledInit1qQ1AAA2qqAAAA3qQQQQQQQ!AA2  e) Y%(t \U) "TaUTHISPARENTTIMER2ENABLED) "T-UTHISPARENTTIMER2ENABLED&CUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTMOUSEUP RightClick,ClickxMouseUp1QA2QB311Nj  )4 #%U\ UTTTTUTHISTOPLEFTHEIGHTPARENTWIDTHInit,1aaA2w) PROCEDURE Init *--Similar to Extended Messagebox () function reviewed by Cesar Chalom *--http://weblogs.foxite.com/vfpimaging/2012/01/30/extended-messagebox-function-reviewed/ PARAMETERS tcCaption, txIcon, tcTitle, tcButtons, tcIconFile, tnTimeOut LOCAL lnButtons, lnCon, lcCaption LOCAL ARRAY laCaption(1) tcButtons = IIF(VARTYPE(tcButtons) = "C", tcButtons, "") lcCaption = IIF(VARTYPE(tcCaption) = "C", SUBSTR(ALLTRIM(tcCaption), 1, 252) + IIF(LEN(ALLTRIM(tcCaption)) >= 252, "...", ""), "") WITH THIS .BORDERSTYLE = 3 STORE .HEIGHT TO .MAXHEIGHT, .MINHEIGHT STORE .WIDTH TO .MAXWIDTH, .MINWIDTH .BACKCOLOR = _SCREEN.oRibbon.FormBackColor .RibbonLabel1.CAPTION = lcCaption IF VARTYPE(txIcon) = "N" DO CASE CASE txIcon = 0 .Image1.VISIBLE = .F. CASE txIcon = 16 .Image1.PICTURE = ._16.PICTURE CASE txIcon = 32 .Image1.PICTURE = ._32.PICTURE CASE txIcon = 48 .Image1.PICTURE = ._48.PICTURE CASE txIcon = 64 .Image1.PICTURE = ._64.PICTURE ENDCASE ENDIF IF VARTYPE(txIcon) = "C" txIcon = ALLTRIM(UPPER(txIcon)) DO CASE CASE EMPTY(txIcon) .Image1.VISIBLE = .F. CASE txIcon = "X" .Image1.PICTURE = ._16.PICTURE CASE txIcon = "?" .Image1.PICTURE = ._32.PICTURE CASE txIcon = "!" .Image1.PICTURE = ._48.PICTURE CASE txIcon = "I" .Image1.PICTURE = ._64.PICTURE ENDCASE ENDIF IF VARTYPE(tcIconFile) = "C" AND !EMPTY(tcIconFile) AND FILE(ALLTRIM(tcIconFile)) .Image1.PICTURE = ALLTRIM(tcIconFile) ENDIF .Image1.VISIBLE = IIF(!EMPTY(.Image1.PICTURE), .T., .F.) .CAPTION = IIF(VARTYPE(tcTitle) = "C", tcTitle, "") ._TitleBar1.Redraw() *--Buttons captions tcButtons = ALLTRIM(CHRTRAN(tcButtons, ",", CHR(13))) ALINES(laCaption, tcButtons) lnButtons = ALEN(laCaption) DO CASE CASE lnButtons > 3 .RibbonCommandButton1.VISIBLE = .F. .RibbonCommandButton2.VISIBLE = .F. .RibbonCommandButton3.VISIBLE = .F. CASE lnButtons = 1 .RibbonCommandButton1.VISIBLE = .F. .RibbonCommandButton2.RibbonLabel1.CAPTION = laCaption[1] .RibbonCommandButton2.VISIBLE = ! EMPTY(laCaption[1]) .RibbonCommandButton3.VISIBLE = .F. CASE lnButtons = 2 .RibbonCommandButton1.VISIBLE = .F. .RibbonCommandButton2.RibbonLabel1.CAPTION = laCaption[1] .RibbonCommandButton2.VISIBLE = ! EMPTY(laCaption[1]) .RibbonCommandButton3.RibbonLabel1.CAPTION = laCaption[2] .RibbonCommandButton3.VISIBLE = ! EMPTY(laCaption[2]) CASE lnButtons = 3 .RibbonCommandButton1.RibbonLabel1.CAPTION = laCaption[1] .RibbonCommandButton1.VISIBLE = ! EMPTY(laCaption[1]) .RibbonCommandButton2.RibbonLabel1.CAPTION = laCaption[2] .RibbonCommandButton2.VISIBLE = ! EMPTY(laCaption[2]) .RibbonCommandButton3.RibbonLabel1.CAPTION = laCaption[3] .RibbonCommandButton3.VISIBLE = ! EMPTY(laCaption[3]) ENDCASE .RibbonCommandButton1.Redraw() .RibbonCommandButton2.Redraw() .RibbonCommandButton3.Redraw() IF VARTYPE(tnTimeOut) = "N" AND !EMPTY(tnTimeOut) AND _SCREEN.oRibbon.ShowProgressMessageBox .nTime = 0 .Timer1.INTERVAL = tnTimeOut .Timer1.ENABLED = .T. .Timer2.INTERVAL = 1 .Timer2.ENABLED = .T. ._ProGressBar1.VISIBLE = .T. ENDIF ENDWITH ?? CHR(7) ENDPROC PROCEDURE Unload RETURN _SCREEN.oRibbon.nOptionMessageBox ENDPROC  #S%EUf_T9T9%[T9UTHISPOINT BORDERCOLORORIBBON LINESCOLOR BACKCOLORSELECTEDCOLOR2 BACKSTYLE )TTTTT9T 9 T TTT  T  CUTHIS BACKSTYLE BORDERWIDTHPOINTLEFTTOP BORDERCOLORORIBBON LINESCOLOR BACKCOLORSELECTEDCOLOR2COMMAND1HEIGHTWIDTHZORDER9 2((%C _carouselpointT T 9 T T 9 ($%C Ribbonpage%CXTCT-TTT%C .YIF .PARENT.ShowAnimationPage AND .PARENT.oLastPage # THIS.PARENT. &lcMacro .NAME3.PARENT.oLastPage = THIS.PARENT. &lcMacro .NAME T$.PARENT. &lcMacro .LEFT = lnLeft $.PARENT. &lcMacro .VISIBLE = .T. Ta .PARENT. &lcMacro .ZORDER(1) CC$.PARENT. &lcMacro .VISIBLE = .T. UNBUTTONNSHIFTNXCOORDNYCOORDLNITHISPARENT CONTROLCOUNTCONTROLSCLASSPOINT BACKSTYLE BORDERCOLORORIBBON LINESCOLORSELECTEDCOLOR2 PARENTCLASSVISIBLE OPREVIUSPAGENAMELEFT OLASTCLICKLCMACRO PAGECLASSLNLEFTWIDTHTIMER1ENABLEDSHAPE1ZORDERSHADOWredraw,InitMouseUp{111!1AA2A11AQQA51qAAAaAaqAQqAAAA1AA!AAAAAA1 B `#) %UA% :TUNBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTBLINK BORDERWIDTHY% RTT9 U NBUTTONNSHIFTNXCOORDNYCOORDTHISPARENTBLINK BORDERWIDTH BORDERCOLORORIBBON LINESCOLORCUTHISPARENT CONTROLDATE DATEVALUE MouseLeave, MouseEnterClickz11A1A81A1A 12@n %) zc%YgU ?TC6T9TTT T  T  C U THIS BORDERWIDTHBLINK BORDERCOLORORIBBON LINESCOLORCOMMAND1STYLETOPLEFTHEIGHTWIDTHZORDERInit,11B11A2 ),Top = 36 Left = 23 Width = 312 Height = 216 movable = .F. showanimationpage = .F. Name = "_MENUTABS1" Timer1.Name = "Timer1" ShapeTabs.Top = 18 ShapeTabs.Left = 138 ShapeTabs.Height = 179 ShapeTabs.Width = 151 ShapeTabs.Name = "ShapeTabs" Shape1.Name = "Shape1" Shape2.Name = "Shape2" PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.BACKCOLOR = _SCREEN.oRibbon.BackColor2 This.mousedownat = 0 ENDPROC PROCEDURE Init *-- Original article: Splitter Class for Visual FoxPro *-- http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,cbfe9ce7-8b19-4374-8c52-132a853ef7b3.aspx [2] *-- Author: Craig Boyd http://www.sweetpotatosoftware.com DODEFAULT() WITH THIS .BORDERWIDTH = 1 .BACKSTYLE = 1 .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .BACKCOLOR = _SCREEN.oRibbon.BackColor1 .TOP = 0 .HEIGHT = .PARENT.HEIGHT IF NOT .vertical .LEFT = 0 .WIDTH = .PARENT.WIDTH .MOUSEPOINTER = 7 && NS .ANCHOR = 10 ELSE .TOP = 0 .HEIGHT = .PARENT.HEIGHT .ANCHOR = 7 ENDIF .Label1.TOP = INT((.HEIGHT - .Label1.HEIGHT) / 2) .Label1.FORECOLOR = _SCREEN.oRibbon.FontColor .Label1.ANCHOR = 512 .ZORDER(0) ENDWITH ENDPROC PROCEDURE MouseDown LPARAMETERS nButton, nShift, nXCoord, nYCoord IF THIS.vertical THIS.mousedownat = nXCoord ELSE THIS.mousedownat = nYCoord ENDIF ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.BACKCOLOR = _SCREEN.oRibbon.BackColor1 This.mousedownat = 0 ENDPROC PROCEDURE MouseMove LPARAMETERS nButton, nShift, nXCoord, nYCoord LOCAL lnMovement IF m.nButton = 1 AND !(THIS.mousedownat == 0) IF THIS.vertical IF m.nXCoord != THIS.mousedownat m.lnMovement = m.nXCoord - THIS.mousedownat IF BETWEEN(THIS.LEFT + m.lnMovement, THIS.minimumsize, THIS.PARENT.WIDTH - THIS.WIDTH - THIS.minimumsize) THIS.MOVE(THIS.LEFT + m.lnMovement, THIS.TOP, THIS.WIDTH, THIS.HEIGHT) THIS.mousedownat = m.nXCoord ENDIF ENDIF ELSE && Horizontal IF m.nYCoord != THIS.mousedownat m.lnMovement = m.nYCoord - THIS.mousedownat IF BETWEEN(THIS.TOP + m.lnMovement, THIS.minimumsize, THIS.PARENT.HEIGHT - THIS.HEIGHT - THIS.minimumsize) THIS.MOVE(THIS.LEFT, THIS.TOP + m.lnMovement, THIS.WIDTH, THIS.HEIGHT) THIS.mousedownat = m.nYCoord ENDIF ENDIF ENDIF ENDIF ENDPROC PROCEDURE Move LPARAMETERS nLeft, nTop, nWidth, nHeight *!* If you want to move the splitter during runtime and have it move the other controls *!* then set mousedownat != 0 and call this move method of the splitter *!* remember to set mousedownat back to 0 when you are done moving the splitter LOCAL loControl, llLockScreenWas, lnMovement, llIsSplitter, lcUniqueTag, lnMarginOfError, lnAnchorWas IF THIS.MouseDownAt == 0 DODEFAULT(m.nLeft, m.nTop, m.nWidth, m.nHeight) RETURN ENDIF m.loControl = NULL *!* The following tag can be placed in controls you don't want moved as well m.lcUniqueTag = "DoN't_MoVe_SpLiT" && Just something that is pretty well guaranteed to be unique THIS.TAG = m.lcUniqueTag m.llLockScreenWas = THISFORM.LOCKSCREEN && JIC the screen was already locked THISFORM.LOCKSCREEN = .T. m.lnMovementLeft = m.nLeft - THIS.LEFT m.lnMovementTop = m.nTop - THIS.TOP FOR EACH m.loControl IN THIS.PARENT.CONTROLS IF m.loControl.TAG = lcUniqueTag && this splitter so just loop LOOP ENDIF IF PEMSTATUS(m.loControl,"Anchor",5) m.lnAnchorWas = m.loControl.ANCHOR m.loControl.ANCHOR = 0 m.llIsSplitter = m.loControl.CLASS = "Splitter" IF THIS.vertical && Vertical Splitter lnMarginOfError = INT(THIS.WIDTH/2) && JIC the developer got the splitter a little too close IF m.loControl.LEFT <= THIS.LEFT && Control is to the left of splitter IF (m.loControl.LEFT + m.loControl.WIDTH) <= (THIS.LEFT + lnMarginOfError) AND !m.llIsSplitter m.loControl.WIDTH = MAX(m.loControl.WIDTH + m.lnMovementLeft, 0) ENDIF ELSE && Control is to the right of splitter IF !m.llIsSplitter m.loControl.WIDTH = MAX(m.loControl.WIDTH - m.lnMovementLeft, 0) ENDIF m.loControl.LEFT = m.loControl.LEFT + m.lnMovementLeft ENDIF ELSE && Horizontal Splitter lnMarginOfError = INT(THIS.TOP/2) && JIC the developer got the splitter a little too close IF m.loControl.TOP <= THIS.TOP && Control is above the splitter IF (m.loControl.TOP + m.loControl.HEIGHT) <= (THIS.TOP + lnMarginOfError) AND !m.llIsSplitter m.loControl.HEIGHT = MAX(m.loControl.HEIGHT + m.lnMovementTop, 0) ENDIF ELSE && Control is below the splitter IF !m.llIsSplitter m.loControl.HEIGHT = MAX(m.loControl.HEIGHT - m.lnMovementTop, 0) ENDIF m.loControl.TOP = m.loControl.TOP + m.lnMovementTop ENDIF ENDIF m.loControl.ANCHOR = m.lnAnchorWas ENDIF NEXT m.lnAnchorWas = THIS.ANCHOR THIS.ANCHOR = 0 DODEFAULT(m.nLeft, m.nTop, m.nWidth, m.nHeight) && Finally move the splitter THIS.ANCHOR = m.lnAnchorWas THISFORM.LOCKSCREEN = m.llLockScreenWas THIS.TAG = "" ENDPROC PROCEDURE MouseUp LPARAMETERS nButton, nShift, nXCoord, nYCoord This.mousedownat = 0 ENDPROC PROCEDURE redraw WITH THIS .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .BACKCOLOR = _SCREEN.oRibbon.BackColor1 .Label1.FORECOLOR = _SCREEN.oRibbon.FontColor ENDWITH DODEFAULT() ENDPROC KPROCEDURE fieldheight_access * VerticalScrollBar.FieldHeight_Access() * * OVERVIEW: The field height is the distance, specified in pixels * between the top and bottom end buttons. FieldHeight * specifies the maximum extent of possible movement of * the slide. WITH this .FieldHeight = ; MAX( 0, .Height - .TopArrow.Height - .BottomArrow.Height ) RETURN .FieldHeight ENDWITH ENDPROC PROCEDURE scrolled * VerticalScrollBar.Scrolled() * * OVERVIEW: Occurs after the scrollbar has been scrolled. Used to permit derived objects * to fine-tune scrolling behavior. * * PARAMETERS: * * nDirection Specifies the scroll direction and scrollbar object initiating * the scroll. * * Values are: Scroll Direction * * 0 Top end button (up - LineIncrement ) * 1 Bottom end button (down + LineIncrement ) * 2 Scroll bar in area above the scroll box (up - PageIncrement ) * 3 Scroll bar in area below the scroll box (down + PageIncrement ) * LPARAMETERS nDirection .oMove() RETURN ENDPROC PROCEDURE scroll * VerticalScrollBar.Scroll() * * OVERVIEW: Scroll the scroll object up or down the number of pixels * and direction specified in tnScroll. * * If tnScroll is a negative number, the scroll object is * scrolled up. If positive, the scroll object is scrolled down. * LPARAMETERS tnPixels LOCAL loBaseObject, lnScrollObjectTop, lnBaseHeight, lnLineIncrement, lnScrollObjectHeight WITH this * Get a local reference to the base object loBaseObject = .BaseObject * Store the amount of 1 line scroll stated in pixels. lnLineIncrement = .LineIncrement * Round the height of the base object to the nearest LineIncrement. lnBaseHeight = ; ROUND( .parent.Height / lnLineIncrement, 0 ) * lnLineIncrement loScrollObject = .ScrollObject IF VARTYPE( loScrollObject ) = "O" WITH loScrollObject lnScrollObjectHeight = .Height * Set the top of the scroll object but not to more than 0, but not * more than the amount that would expose the bottom of the * page. STORE ; MAX( ; MIN( ; .Top + tnPixels, ; 0 ; ), ; lnBaseHeight - lnScrollObjectHeight ; ) TO ; .Top, ; lnScrollObjectTop ENDWITH * Reposition the slide bar so it correctly reflects the current * scroll status. .SetSlideTop( lnScrollObjectTop, loScrollObject ) * Trigger the Scrolled() event. .Scrolled() ENDIF ENDWITH RETURN ENDPROC PROCEDURE enabled_assign * VerticalScrollBar.Enabled_Assign() * * OVERVIEW: Sets the Enabled property of the bar and all objects on the bar. * If the bar is disabled, the Slide is made invisible. * LPARAMETERS tlEnabled LOCAL loBaseObject, loScrollObject WITH THIS * Disregarding other considerations, the scroll bar is disabled if * (1) Either the BaseObject container or ScrollObject container cannot * be identified or do not evaluate to object, or * (2) The scroll object container is not taller than the base object * container. * loBaseObject = .BaseObject loScrollObject = .ScrollObject IF ISNULL( loBaseObject ) .OR. ; ISNULL( loScrollObject ) .OR. ; loScrollObject.HEIGHT <= loBaseObject.HEIGHT tlEnabled = .F. ENDIF * Enable/Disable this scrollbar .ENABLED = tlEnabled * Enabled/Disable all objects on the scrollbar. .SETALL( "Enabled", tlEnabled ) *!* * The slide is visible only if the bar is enabled. .Slide.VISIBLE = tlEnabled STORE .NULL. TO loBaseObject, loScrollObject ENDWITH RETURN ENDPROC PROCEDURE scrollslide * VerticalScrollBar.ScrollSlide() * * OVERIEW: Scrolls the scroll object when the slide is moved by the user. * LPARAMETERS toScrollObject LOCAL lnPixels, loScrollObject, lnSlideOffset, lnSlideTop WITH this WITH .TopArrow lnSlideOffset = .Top + .Height ENDWITH * If the object reference to the Scroll Object has been passed in * toScrollObject, use it. Otherwise, get the reference from * .ScrollObject. loScrollObject = toScrollObject IF VARTYPE( loScrollObject ) # "O" loScrollObject = .ScrollObject ENDIF lnSlideTop = .Slide.Top - lnSlideOffset * Translate slide movement into the number of pixels to * scroll the scroll object. There is a relationship between * the scroll object and the scroll bar field that detErmines * how much the scroll object is moved for the number of pixels * the slide is moved. The formula is: * * lnScrollObjectTop lnSlideTop * ------------ = ------------ * .ScrollObject.Height .FieldHeight * * which translates to, * * lnScrollObjectTop * .FieldHeight = lnSlideTop * .ScrollObject.Height * * which factors down to... lnScrollObjectTop = ( lnSlideTop * loScrollObject.Height ) / .FieldHeight * Where, * FieldHeight is the height of the scrollbar between the top and * bottom arrows * Scroll to an even scroll increment line. lnScrollObjectTop = ROUND( lnScrollObjectTop / .LineIncrement, 0 ) * .LineIncrement * Position the top of the scroll object. loScrollObject.Top = ( lnScrollObjectTop ) * (-1) * Fire the Scrolled() event .Scrolled() ENDWITH RETURN ENDPROC PROCEDURE setslidetop * VerticalScrollBar.SetSlideTop() * * OVERVIEW: Positions the slide after scrolling by clicking an arrow or the * scrollbar background. * LPARAMETERS tnScrollObjectTop, toScrollObject LOCAL lnBottomArrowTop, lnScrollObjectTop, lnSlideHeight, lnSlideTop, lnTopOffSet IF VARTYPE( tnScrollObjectTop ) # "N" RETURN ENDIF WITH this * Offset to above the bottom end button lnBottomArrowTop = .BottomArrow.Top * Offset to below the top end button WITH .TopArrow lnTopOffSet = .Top + .Height ENDWITH * Calculate the slide top position lnScrollObjectTop = ABS( tnScrollObjectTop ) * If a reference to the scroll object has been passed as * a parameter, use the parameter loScrollObject = toScrollObject * If the parameter is not a reference to the scroll object, get * the reference from .ScrollObject. IF VARTYPE( loScrollObject ) # "O" loScrollObject = .ScrollObject ENDIF * We can proceed only with a valid scroll object reference IF VARTYPE( loScrollObject ) = "O" lnSlideHeight = .Slide.Height * Translate object top position into the a setting for the slide * top The formula is: * * lnSlideTop lnScrollObjectTop * ------------ = ------------------- * .FieldHeight .ScrollObject.Height * * lnSlideTop * .ScrollObject.Height = lnScrollObjectTop * .FieldHeight * * lnSlideTop = lnScrollObjectTop * .Fieldheight / .ScrollObject.Height * lnSlideTop = lnScrollObjectTop * .Fieldheight / loScrollObject.Height .Slide.Top = ; MIN( ; MAX( ; lnTopOffSet + 1, ; lnTopOffSet + lnSlideTop ; ), ; lnBottomArrowTop - lnSlideHeight - 1 ; ) ENDIF ENDWITH RETURN ENDPROC PROCEDURE scrollpage * VerticalScrollBar.ScrollPage() * * OVERVIEW: Scrolls the scroll object one page up or down * * PARAMETERS: lnMouseY The Y-coordinate of the mouse specified * from the top left corner of the form. * LPARAMETERS lnMouseY LOCAL loBaseObject, lnSlideBottom WITH this * MouseOver is not true unless the scroll bar is enabled. .MouseOver = .parent.Enabled IF !( .MouseOver ) RETURN ENDIF * Get a local reference to the Base Object. loBaseObject = .BaseObject * Calculate the number of pixels to be scrolled. .PageIncrement = ; ROUND( ( loBaseObject.Height * .PageScrollFactor ) / .LineIncrement, 0 ) * .LineIncrement * If a full page is to be scrolled, reduce the pixels by one line IF .PageScrollFactor = 1 * Scroll one page less one row .PageIncrement = .PageIncrement - .LineIncrement ENDIF * If the PageScrollFactor is less than one line, make it one line .PageIncrement = MAX( .PageIncrement, .LineIncrement ) * Find out whether the mouse hit occurred above or below the slide. lnSlideBottom = OBJTOCLIENT( .Slide, 1 ) + .Slide.Height * If the click mouse hit occurred below the slide, set ScrollTimer with * ScrollDirection -1 to scroll down one page. If above the slide, set * ScrollDirection 1 to scroll down one page. IF lnMouseY > lnSlideBottom .ScrollTimer.TimerStart( ; .T., ; && PageScroll: Scrolling a page -1 ; && ScrollDirection: (down) ) ELSE .ScrollTimer.TimerStart( ; .T., ; && PageScroll: Scrolling a page 1 ; && ScrollDirection: (up) ) ENDIF ENDWITH RETURN ENDPROC PROCEDURE scrollobject_access * VerticalScrollBar.ScrollObject_Access() * * OVERVIEW: Returns a reference to the scroll container or .NULL. if * it cannot be identified or does not evaluate to an object. WITH this IF !EMPTY( .ScrollObjectName ) .AND. ; TYPE( .ScrollObjectName ) = "O" RETURN EVALUATE( .ScrollObjectName ) ENDIF ENDWITH RETURN .NULL. ENDPROC PROCEDURE buttonspecialeffect_assign * VerticalScrollBar.ButtonSpecialEffect_Assign() * * OVERVIEW: Assigns a special effect setting to ButtonsSpecialEffect * and modifies the appearance of objects on the bar to implement * the special effect setting. * LPARAMETERS tnSpecialEffect * The only legal special effect settings are 0 = 3D and 2 = Flat. IF INLIST( tnSpecialEffect, 0, 2 ) WITH this .ButtonSpecialEffect = tnSpecialEffect * The MouseUp() methods of the various buttons reset their * appearance according to the setting of ButtonSpecialEffect. * Rather than writing appearance-setting code here, we just use * the code that already exists in each of these MouseUp() methods. .TopArrow.MouseUp() .BottomArrow.MouseUp() .Slide.MouseUp() ENDWITH ENDIF RETURN ENDPROC PROCEDURE baseobject_access * VerticalScrollBar.BaseObject_Access() * * OVERVIEW: Returns a reference to the fixed container or .NULL. if * it cannot be identified or does not evaluate to an object. * WITH this IF !EMPTY( .BaseObjectName ) .AND. ; TYPE( .BaseObjectName ) = "O" RETURN EVALUATE( .BaseObjectName ) ENDIF ENDWITH RETURN .NULL. ENDPROC PROCEDURE scrollobjectname_assign * VerticalScrollBar.ScrollObjectName_Assign() * * OVERVIEW: Assign the ScrollObjectname. * * PARAMETERS: * * tuName May contain the full hierarchy path name to the object as * text or an object reference to be evaluated. * LPARAMETERS tuName LOCAL loScrollObject WITH this IF VARTYPE( tuName ) = "O" * An object reference was passed. Get the full path name from * SYS( 1272) then translate out the form name and replace it with * "thisform" so EVALUATE() will return the object reference when * evaluating the name. tuName = STRTRAN( SYS( 1272, tuName ), ; LOWER( thisform.Name ) + ".", "thisform." ) ENDIF IF VARTYPE( tuName ) = 'C' .ScrollObjectName = tuName * Set Initial position of the slide bar. loScrollObject = .ScrollObject IF !ISNULL( loScrollObject ) .SetSlideTop( loScrollObject.Top ) loScrollObject = .NULL. ENDIF ENDIF * See if the scroll bar should be enabled. It is enabled only if * BaseObjectName and .ScrollObjectName are both not empty and * both evaluate to an object reference. This is all tested in * Enabled_Assign(). .Enabled = .T. ENDWITH RETURN ENDPROC PROCEDURE baseobjectname_assign * VerticalScrollBar.BaseObjectName_Assign() * * OVERVIEW: Assign the BaseObjectname. * * PARAMETERS: * * tuName May contain the full hierarchy path name to the object as * text or an object reference to be evaluated. * LPARAMETERS tuName WITH this IF VARTYPE( tuName ) = "O" * An object reference was passed. Get the full path name from * SYS( 1272) then translate out the form name and replace it with * "thisform" so EVALUATE() will return the object reference when * evaluating the name. tuName = STRTRAN( SYS( 1272, tuName ), ; LOWER( thisform.Name ) + ".", "thisform." ) ENDIF IF VARTYPE( tuName ) = 'C' .BaseObjectName = tuName *!* IF TYPE( ".ScrollObjectName" ) = "C" *!* * Reassign ScrollObjectName to itself to trigger SetSlideTop(). *!* .ScrollObjectName = .ScrollObjectName *!* ENDIF ENDIF * See if the scroll bar should be enabled. It is enabled only if * BaseObjectName and .ScrollObjectName are both not empty and * both evaluate to an object reference. This is all tested in * Enabled_Assign(). .Enabled = .T. ENDWITH RETURN ENDPROC PROCEDURE redraw WITH THIS .BORDERWIDTH = 1 .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .BACKCOLOR = _SCREEN.oRibbon.BackColor1 ENDWITH LOCAL lnI WITH THIS FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "redraw", 5) .CONTROLS(lnI).ReDraw() ENDIF ENDFOR ENDWITH ENDPROC PROCEDURE omove LOCAL lnCon, lcMacro IF NOT EMPTY(THIS.ScrollObjectName) lcMacro = THIS.ScrollObjectName WITH &lcMacro FOR lnI = 1 TO .CONTROLCOUNT .CONTROLS(lnI).TOP = .CONTROLS(lnI).TOP + 1 - 1 ENDFOR ENDWITH ENDIF ENDPROC PROCEDURE MouseUp * VerticalScrollBar.MouseUp() * LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH this * Set the MouseOver property .F. It will not be set * .T. again until the mouse leaves and reenters the * object or a MouseDown() event occurs over an Enabled * object. .MouseOver = .F. * Stop the ScrollTimer from processing Timer() events. .ScrollTimer.TimerStop() ENDWITH RETURN ENDPROC PROCEDURE MouseDown * VerticalScrollBar.MouseDown() * LPARAMETERS nButton, nShift, nXCoord, nYCoord IF nButton = 1 && Left Mouse button WITH this .ScrollPage( nYCoord ) ENDWITH ENDIF RETURN ENDPROC PROCEDURE Resize * VerticalScrollBar.Resize() * * OVERVIEW: Positions and sizes the objects on the Scrollbar in * response to a change in the height or width of the scrollbar. * LOCAL lnBarWith, lnBorderWidth, lnBottomArrowTop, lnFieldHeight, lnPageHeight, ; lnParentHeight, lnParentWidth, loScrollObject, lnScrollObjectHeight, ; lnTopArrowBottom lnBorderWidth = 0 lnScrollObjectHeight = 0 WITH THIS * It is assumed that the height of the scroll bar is the same * as the height of its parent container. It is further assumed * that the scroll bar is located on the right edge of its parent * container. WITH .PARENT lnParentHeight = .HEIGHT lnParentWidth = .WIDTH IF PEMSTATUS( THIS.PARENT, "BorderWidth", 5 ) lnBorderWidth = .BORDERWIDTH ENDIF ENDWITH .MOVE( ; lnParentWidth - .WIDTH - lnBorderWidth, ; 0, ; THIS.WIDTH, ; lnParentHeight ; ) lnBarWidth = .WIDTH lnFieldHeight = .FieldHeight loScrollObject = .ScrollObject IF VARTYPE( loScrollObject ) = "O" lnScrollObjectHeight = loScrollObject.HEIGHT ENDIF llEnabled = lnScrollObjectHeight > lnParentHeight IF VARTYPE( loScrollObject ) = "O" AND NOT llEnabled loScrollObject.TOP = 0 .oMove() ENDIF WITH .TopArrow .MOVE( ; 0, ; 0, ; lnBarWidth, ; lnBarWidth ; ) lnTopArrowBottom = .TOP + .HEIGHT * Size and position lines and the label on the button .RESIZE() ENDWITH WITH .BottomArrow .MOVE( ; 0, ; lnParentHeight - lnBarWidth, ; lnBarWidth, ; lnBarWidth ; ) lnBottomArrowTop = .TOP * Size and position lines and the label on the button .RESIZE() ENDWITH WITH .Slide .LEFT = 0 IF lnScrollObjectHeight > 0 * Height is a relation between the height of the ScrollObject and * the FieldHeight. .HEIGHT = ; MAX( ; lnBarWidth, ; ( lnParentHeight / lnScrollObjectHeight ) * lnFieldHeight ; ) ELSE * Default height is the same as the scroll bar width .HEIGHT = lnBarWidth ENDIF * Height cannot be greater than the FieldHeight of the scroll bar .HEIGHT = MIN( .HEIGHT, lnFieldHeight ) * Width is always the scrollbar width *.Width = lnBarWidth * Top of the slide cannot intrude on the top arrow. .TOP = ; MIN( lnBottomArrowTop - .HEIGHT, MAX( lnTopArrowBottom, .TOP ) ) * Reposition the lines on the Slide container .RESIZE() ENDWITH && Slide .ENABLED = llEnabled ENDWITH RETURN ENDPROC PROCEDURE Init *-------------------------------------------------------------------------------- * * Thanks to Jim Edgar. http://www.universalthread.com/ViewPageArticle.aspx?ID=555 * *-------------------------------------------------------------------------------- * VerticalScrollBar.Init() * LOCAL loBaseObject WITH THIS * Add the MouseOver property. This will be used in the timers * to see if the mouse is still on top of the bar. The arrow * buttons also have a MouseOver property, but this is not it. .ADDPROPERTY( "MouseOver", .F. ) * PageIncrement is the number of pixels scrolled by a page scroll. * Set in ScrollPage() and used by the timer to determine the * amount of scroll. .ADDPROPERTY( "PageIncrement", 0 ) * Set the default PageScrollFactor. This property specifies the * portion of a page to scroll when the user clicks on the scroll * bar background (or field.) IF !BETWEEN( .PageScrollFactor, 0, 1 ) .PageScrollFactor = 1 ENDIF .WIDTH = 17 * The scroll bar container is always flat and has no border. Any * 3-D effect is given to the buttons, not to the bar itself. In * case settings are otherwise in the property sheet, set the * correct appearance here. .SPECIALEFFECT = 2 .BORDERWIDTH = 0 * See if the BaseObjectName and .ScrollObjectName properties have both been * set. These are the full hierarcy names of the two objects. If they have * not yet been set, disable to scroll bar. When they are set, the scroll * bar will be re-enabled in BaseObjectName_Assign() and * .ScrollObjectName_Assign() code. Both must be assigned and evaluate * to a proper object before the grid will be enabled. IF EMPTY( .BaseObjectName ) .OR. ; EMPTY( .ScrollObjectName ) .ENABLED = .F. ELSE * See if both names evaluate to objects. * * Get a reference to the scroll container. The ScrollObject * property is attached to an Access() method that returns the * object reference by evaluating the ScrollObjectName property. loBaseObject = .BaseObject * Get a reference to the scroll container. The ScrollObject * property is attached to an Access() method that returns the * object reference by evaluating the ScrollObjectName property. loScrollObject = .ScrollObject IF !ISNULL( loBaseObject ) .AND. !ISNULL( loScrollObject ) * Initial position of the slide bar. .SetSlideTop( loScrollObject.TOP ) .ScrollBaseWidth = .ScrollBase.WIDTH ENDIF STORE .NULL. TO loBaseObject, loScrollObject ENDIF * For FoxRibbon .Redraw() * Position the contained objects *.RESIZE() ENDWITH RETURN ENDPROC R RR<%4KQLUm%CB fATCTC Default.ini %CC Default.ini0C]C Default.iniOCCCRIBBON.nTheme%CRIBBON.nThemeC_-6cCCCRIBBON.nFactorBackColor/CRIBBON.nFactorBackColorC_-6\CCCRIBBON .BackGround.CRIBBON .BackGroundC-6\CCCRIBBON .BackColor1.CRIBBON .Backcolor1C-6\CCCRIBBON .Backcolor2.CRIBBON .Backcolor2C -6bCCCRIBBON.FormBackColor1CRIBBON.FormBackColorC -6^CCCRIBBON .ShadowColor/CRIBBON .ShadowColorC -6ZCCCRIBBON .FontColor-CRIBBON .FontColorC -6lCCCRIBBON.FontColorAlternate6CRIBBON.FontColorAlternateC -6`CCCRIBBON .TabFontColor0CRIBBON .TabFontColorC-6pCCCRIBBON.SelectedTabFontColor8CRIBBON.SelectedTabFontColorC-6\CCCRIBBON .LinesColor.CRIBBON .LinesColorC-6]CCCRIBBON .cFontName0CRIBBON .cFontName''-6sCCCRIBBON.SeeOutlineGroup@CRIBBON.SeeOutlineGroupC .T..F.6-6fCCCRIBBON.ButtonFontColor3CRIBBON.ButtonFontColorC-6dCCCRIBBON.SelectedColor12CRIBBON.SelectedColor1C-6dCCCRIBBON.SelectedColor22CRIBBON.SelectedColor2C-6vCCCRIBBON.SelectedButtonFontColor;CRIBBON.SelectedButtonFontColorC-6mCCCRIBBON .AutoTabClick=CRIBBON .AutoTabClickC .T..F.6-6wCCCRIBBON.ShowAnimationPageBCRIBBON.ShowAnimationPageC .T..F.6-6aCCCRIBBON.AnimationFaster.CRIBBON.AnimationFasterC_-6fCCCRIBBON.InEditBackColor3CRIBBON.InEditBackColorC-6jCCCRIBBON.InEditBackDisable5CRIBBON.InEditBackDisableC-6fCCCRIBBON.InEditForeColor3CRIBBON.InEditForeColorC-6jCCCRIBBON.InEditForeDisable5CRIBBON.InEditForeDisableC-6hCCCRIBBON.InEditFrameColor4CRIBBON.InEditFrameColorC-6`CCCRIBBON .RowBackColor0CRIBBON .RowBackColorC-6`CCCRIBBON .RowFontColor0CRIBBON .RowFontColorC -6)TCCRIBBON.nThemeg&TCC63TCCRIBBON.nFactorBackColorg&TCCd26-TCCRIBBON .BackGround-TCCRIBBON .BackColor1-T CCRIBBON .BackColor21TCCRIBBON.selectedcolor11TCCRIBBON.selectedcolor20T CCRIBBON.FormBackColor.T CCRIBBON .ShadowColor-TCCRIBBON .LinesColor2TCCRIBBON.ButtonFontColor:TCCRIBBON.SelectedButtonFontColor,T CCRIBBON .FontColor5T CCRIBBON.FontColorAlternate/TCCRIBBON .TabFontColor7TCCRIBBON.SelectedTabFontColor*TCRIBBON .cFontName>TCCRIBBON .AutoTabClick.F.-a6ATCCRIBBON.SeeOutlineGroup.F.-a6CTCCRIBBON.ShowAnimationPage.F.-a6&TCC 62TCCRIBBON.InEditBackColor4TCCRIBBON.InEditBackDisable2TCCRIBBON.InEditForeColor4TCCRIBBON.InEditForeDisable3TCCRIBBON.InEditFrameColor/TCCRIBBON .RowBackColor/T CCRIBBON .RowFontColorU!THISFILEINI READFILEINI WRITEFILEININTHEMENFACTORBACKCOLORNTORGB BACKGROUND BACKCOLOR1 BACKCOLOR2 FORMBACKCOLOR SHADOWCOLOR FONTCOLORFONTCOLORALTERNATE TABFONTCOLORSELECTEDTABFONTCOLOR LINESCOLOR CFONTNAMESEEOUTLINEGROUPBUTTONFONTCOLORSELECTEDCOLOR1SELECTEDCOLOR2SELECTEDBUTTONFONTCOLOR AUTOTABCLICKSHOWANIMATIONPAGEANIMATIONFASTERINEDITBACKCOLORINEDITBACKDISABLEINEDITFORECOLORINEDITFOREDISABLEINEDITFRAMECOLOR ROWBACKCOLOR ROWFONTCOLOR4 TTCX+TC*NULL*TC\%*NULL* T BU TCFILENAME TCSECTIONTCENTRY LCINIVALUELNRESULT LNBUFFERSIZEGETPRIVATEPROFILESTRING>4(BCCa-6U TCFILENAME TCSECTIONTCENTRYTCVALUEWRITEPRIVATEPROFILESTRING TCX TTC%dTCCTEMPTCC\ BULCPATHLNRETLNSIZE GETTEMPPATH/  TC C].TMP TC C].TMP TC C].TMP TC C].TMP TC C].TMP TC C].TMP TC C].TMP9% ^TCxTCHTCCC " !C # !C$HTCC`C # !C " !C`$C&'(%T )$TCxTCHTCCxC " !C # !Cx$C&'(%T )TCBTC HcK *AHTCC-C + !C , !C-$HTCC2C , !C + !C2$ *HTCC!!!C + !C , !C!!!$HTCC"C , !C + !C"$ *HTCC!!!C , !C + !C!!!$HTCC"C + !C , !C"$ *TCBTCHTCCBC , !C + !CB$ *KTCBTCHTCCBC + !C , !CB$C&'(%T -TC<TCHTCC<C # !C , !C<$C&'(%T .TCBTC Hs  *r ^TCC-CC + / !CC , / !C-$STCC2CC , / !C + !C2$ *| ^TCC!!!CC + / !CC , / !C!!!$^TCC"CC , / !CC + / !C"$ * ^TCC!!!CC , / !CC + / !C!!!$^TCC"CC + / !CC , / !C"$ *C TCBTC^TCCBCC , / !CC + / !CB$ * TCBTC^TCCBCC + / !CC , / !CB$C&'(%T 0TCxTC\TCCCC " / !CC # / !C$\TCC`CC # / !CC " / !C`$C&'(%T 1TCBTC H *HTCC-C # !C 2 !C-$HTCC2C 2 !C # !C2$ *qHTCC!!!C 2 !C # !C!!!$HTCC"C # !C 2 !C"$ *OHTCC!!!C # !C 2 !C!!!$HTCC"C 2 !C # !C"$ *TCBTCHTCCBC " !C 2 !CB$ *TCBTCHTCCBC 2 !C " !CB$C&'(%T 3TCBTC Hg * \TCC-CC # / !CC 2 / !C-$\TCC2CC 2 / !CC # / !C2$ *\TCC!!!CC # / !CC 2 / !C!!!$\TCC"CC 2 / !CC # / !C"$ *\TCC!!!CC 2 / !CC # / !C!!!$\TCC"CC # / !CC 2 / !C"$ *TCBTCHTCCBC 2 !C " !CB$ *gTCBTCHTCCBC " !C 2 !CB$C&'(%T 4 C 5<U6 LCTEMPBMP1 LCTEMPBMP2 LCFILEBMP3 LCFILEBMP4 LCFILEBMP5 LCFILEBMP6 LCFILEBMP7 LCFILEBMP8 LCFILEBMP9 LCFILEBMP10 LCFILEBMP11THIS DELETEBMPTEMPPATH LCTEMPBMP3 LCTEMPBMP4 LCTEMPBMP5 LCTEMPBMP6 LCTEMPBMP7SYSTEMDRAWINGSEEOUTLINEGROUPOBMPBITMAPNEWOGFXGRAPHICS FROMIMAGEOBRUSH DRAWING2DLINEARGRADIENTBRUSH RECTANGLECOLORFROMRGB BACKCOLOR1 BACKCOLOR2 FILLRECTANGLESAVEIMAGING IMAGEFORMATBMP CFILEBMP1NTHEMESELECTEDCOLOR1SELECTEDCOLOR2 CFILEBMP2 CFILEBMP3 CHANGECOLOR CFILEBMP4 CFILEBMP5 BACKGROUND CFILEBMP6 CFILEBMP7 DRAWGRADIENT 4%% BTd TC TCC TCC %<BC^-BC^UTNRGBTNLEVELLNREDLNGREENLNBLUEy u%C01 %C0Q %C0q %C0 %C0 %C0 %C0 %C0 %C 01  %C 0Q  %C 0q  U THIS CFILEBMP1 CFILEBMP2 CFILEBMP3 CFILEBMP4 CFILEBMP5 CFILEBMP6 CFILEBMP7 CFILEBMP8 CFILEBMP9 CFILEBMP10 CFILEBMP11 4%CN6TC_%Ct X T%Ct B2TClng\.lngText%CC TCC 6 BUTCID TCDEFAULTTEXT LCRETURNTXTTHIS READFILEINILANGUAGE4 TRGB((8TCCCG999_C,6TC 8T) BUTNCOLORLCRGBLN 4%C DT ET C$(%C CC fSC T %C N T %C  T ]T CC i2RSCC H2RSCC )2RSCC %2RSCC QT CXT /T C    T C  = B UTDDATETNFORMATLCDATELCBUFFER LNBUFFERLENLNRETVALGETDATEFORMAT_CDATEEX 4(%C CC fSC UT %C N T %C  T (%C NC  )T  C 0)6a%C DT /T C$.T C )C 0)6T CX!TC  T C  = B UTDDATETNFORMATLNTYPELCBUFFER LNBUFFERLENLNRETVAL GETLOCALEINFO 4(%C CC fSC UT %C N T %C  T (%C NC  )T  C C76^%C DT /T C$+T C HC C76T CX!TC  T C  = B UTDDATETNFORMATLNTYPELCBUFFER LNBUFFERLENLNRETVAL GETLOCALEINFO C CUTHISDRAWBMP DRAWGRADIENTd40TCRibbonFormMsgBoxNTaTUTCTITLETCTEXTTNTIMETLBEEPOMSGBOXVISIBLETHIS LASTOPENFORMY 47&TCRibbonFormWaitNTaTUTCTITLETCTEXT OFORMWAITVISIBLETHIS LASTOPENFORMX9%COCfRIBBONFORMWAIT Q<<,UTHIS LASTOPENFORMNAME OFORMWAIT4%CO T$%CN CN TaC  C U TCTEXT TNPROGRESSMAXTNPROGRESSVALUE TLPERCENTAGE OFORMWAIT RIBBONLABEL1CAPTION _PROGRESSBAR1VISIBLEPROGRESSREFRESHv43TC _MessageBoxNCB9 U TCCAPTIONTXICONTCTITLE TCBUTTONS TCICONFILE TNTIMEOUTOFORMSHOWORIBBONNOPTIONMESSAGEBOXc.|SystemParametersInfouser32&| SendMessageUser32-| SetWindowPosWIN32API&|ClientToScreenWIN32API | SetParentWIN32API#| GetClassLongWIN32API%| SetClassLongWIN32API'|SetWindowLongAWIN32API%|GetWindowLongAWIN32API%| CreateRectRgngdi32.|CreateRoundRectRgngdi32#| SetWindowRgnuser32W&| SetWindowLongWin32Api5|SetLayeredWindowAttributesWin32ApiG| GetDateFormatkernel32QGetDateFormat_CDATEEX(| GetLocaleInfokernel327|GetPrivateProfileStringWIN32API#| GetTempPathWIN32API7|GetPrivateProfileStringWIN32API4|WritePrivateProfileStringWIN32APIUSYSTEMPARAMETERSINFOUSER32 SENDMESSAGE SETWINDOWPOSWIN32APICLIENTTOSCREEN SETPARENT GETCLASSLONG SETCLASSLONGSETWINDOWLONGAGETWINDOWLONGA CREATERECTRGNGDI32CREATEROUNDRECTRGN SETWINDOWRGN SETWINDOWLONGSETLAYEREDWINDOWATTRIBUTES GETDATEFORMATKERNEL32GETDATEFORMAT_CDATEEX GETLOCALEINFOGETPRIVATEPROFILESTRING GETTEMPPATHWRITEPRIVATEPROFILESTRING %C0D %C0d %C0 %C0  T C C].TMP T C C].TMP T C C].TMP T C C].TMP9TCxTCHTCCxCCCxC !"T C !"T TCxTCHTCCxCCCxC !"T C !"T TCxTCHTCCxCCCxC !"T C !"T TCxTCHTCCxCCCxC !"T C !"T U# LCFILEBMP8 LCFILEBMP9 LCFILEBMP10 LCFILEBMP11THIS CFILEBMP8 CFILEBMP9 CFILEBMP10 CFILEBMP11 LCTEMPBMP8TEMPPATH LCTEMPBMP9 LCTEMPBMP10 LCTEMPBMP11SYSTEMDRAWINGOBMPBITMAPNEWOGFXGRAPHICS FROMIMAGEOBRUSH DRAWING2DLINEARGRADIENTBRUSH RECTANGLECOLORFROMRGB FORMBACKCOLOR BACKGROUND FILLRECTANGLESAVEIMAGING IMAGEFORMATBMP5 . C C CUTHIS DECLAREAPISETTINGSREDRAW UTHIS DELETEBMPsettings, readfileini writefileinitemppathdrawbmp changecolor/ deletebmp/1 translate<3ntorgbo4 c_cdateex/5c_cdowex57 c_cmonthexD9redrawP;msgbox;waiton=<waitoff< waitrefreshT= messagebox> declareapii? drawgradientMDInitJDestroyK1!AA!AA2"2cBBbrcba1a!Qq1a!A!A1A3QqA313aaA3"aaAaAAAAaAaAaaA4AAAaAaAaaAAAAaAaAaAAAAaAaAB6A1A2AAAAAAAAAAAAA3qQAAA!A3qqAA!24AAAA34AAAAA34AAAAA3313qa3qA31QAAAA3 q23da1QqQS3cTyy4yE41AAAAAA"aaaaB2A41I kpT~W:b/L MZOzO\RA|RTR3TT\UX"q8X[B&[]_^6^|S^____``b0befnnx/xox`xxi)R1 %UO H$TC999T9TT -C C C C C C C% D@(<%%CCredrawh8CC UTHIS BACKCOLORORIBBON CHANGECOLOR BACKCOLOR1NFACTORBACKCOLOR BORDERCOLOR LINESCOLOR CNTYEARMONTHVISIBLERIBBONMENUSEPARATOR1REDRAWRIBBONMENUSEPARATOR2RIBBONCOMMANDBUTTON1RIBBONCOMMANDBUTTON2RIBBONMONTHYEARRIBBONDATETIME_REFRESHLNI NOCONTROLS CONTROLCOUNTCONTROLSCLASS   %T -T -T -T -TT aT -C- T -TTCCC$6TCCHTCCi% c TC$TCC$iTCC$H%' TC$TCC$iTCC$H3T CC$9 C_T 7TCCC$H CC$i 96 CTC$TCCCC%%TC9)!T CC9_%T!CC9_%T"CC9_%T#CC9_%T$CC9_%T%CC#9_HT CC gCC$9 CC$i 96HT!CC!gCC$9 CC$i 96HT"CC"gCC$9 CC$i 96HT#CC#gCC$9 CC$i 96HT$CC$gCC$9 CC$i 96HT%CC%gCC$9 CC$i 96(TdC_!THIS. &lcMacro .FORECOLOR = 0 8%CC$9) CC$H CC$i <THIS. &lcMacro .FORECOLOR = _SCREEN.oRibbon.c_TodayColor  T(*j T THIS._DayC_WITH &lcMacrof T&T'T'(-T) -T*T+T, T--T. H:  .T/T'CCC/%_ T'C^T$  T'C^%T'CC_ "T/CC'g$T :(T/CCC%T'CCC/%_ T'C^ Ta HV C/) 90  T- C/) 91  T- C/) 92  T- C/) 93  T- C/) 94 - T- C/) 95 X T- C/) 96  T-%  9T'C'C^ C^6%/C$, T&T79T'C^C8%/ %/C$r T9C^ T9C^T::T;;THIS.dayevent(&lcMacro ) %-b %'C^O 9T'C'C^ C^6T'(a%  T aC8U< LCDATEREF LNLASTDAYLNDAY1LNCON LNCOUNTER LLWORKDAYLCMACROTHIS NOCONTROLSRIBBONCOMMANDBUTTON1VISIBLERIBBONCOMMANDBUTTON2RIBBONDATETIMERIBBONMONTHYEAR MONTHANDYEARCAPTIONMARC THISENABLEDBORDERTIMER1INTERVALTHISDATENMONTHNGOMONTHNYEAR RIBBONLABEL1ORIBBON C_CMONTHEX FORECOLOR C_TODAYCOLOR CONTROLWEEKC_FIRSTDAYWEEKW1W2W3W4W5W6 BACKSTYLELABEL1FONTBOLDSHAPE1TAGNEVENTS NDURATIONLHOLIDAYCCOMMENT DATEVALUE C_1SUNHOLI C_2MONHOLI C_3TUEHOLI C_4WEDHOLI C_5THUHOLI C_6FRIHOLI C_7SATHOLI BACKCOLORZORDER BORDERCOLORLEFTTOPJ4 C%&BT CU ODATEVALUETHIS NOCONTROLSTHISDATE_REFRESHTC$  H7 9cTC$ 9TC$ 9TC$ 9TC$ 9TC$ 9?TC$ 9kTC$2TC$!TCC9=$TCC9=$T CC9=$T CC9=$T CC9=$T CC9=$T CC9=ULDDATETHISORIBBONC_FIRSTDAYWEEKD1CAPTIONC_CDOWEXNLONGDAYD2D3D4D5D6D7> 7TC CUTHIS CNTYEARMONTHLEFTTIMER1TIMERREDRAWredraw,_refresh controldate controlweek=Init.1A1!rQ1AAAAA3Arq2A1A2qrqQQQQQArAAAqQqAQ!QAAA1ARAAAAAAA24qAAA3qaaaaaaaaaaaaaaaaAAAAAAAA3A2Hj1)kPROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.Parent.MouseLeave(nButton, nShift, nXCoord, nYCoord) ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT.MOUSEENTER(nButton, nShift, nXCoord, nYCoord) ENDPROC PROCEDURE Click WITH THIS .PARENT.CLICK() *.PARENT.MOUSEUP() ENDWITH ENDPROC U <<d%UK D$TC999T9UTHIS BACKCOLORORIBBON CHANGECOLOR BACKCOLOR1NFACTORBACKCOLOR BORDERCOLOR LINESCOLORInit,1A1A2)<ZPROCEDURE Click WITH THIS.PARENT .Command1.SETFOCUS() .ReDraw() .ZORDER(0) IF .HEIGHT = 38 .image1.VISIBLE = .F. .WIDTH = THISFORM.WIDTH .HEIGHT = THISFORM.HEIGHT + 19 *.StartPanel.VISIBLE = .T. ELSE .image1.VISIBLE = .T. .WIDTH = 44 .HEIGHT = 38 *.StartPanel.VISIBLE = .F. ENDIF ENDWITH ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT.image1.VISIBLE = .F. ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord IF THIS.PARENT.HEIGHT = 38 THIS.PARENT.image1.VISIBLE = .T. ENDIF ENDPROC  %~U'  T9UTHIS BACKCOLORORIBBON SHADOWCOLORInit,11A2O), S%UT9UTHIS BORDERCOLORORIBBON LINESCOLOR CUTHISREDRAWredraw,Initp1Q21?Zg)PROCEDURE redraw LOCAL lnI WITH THIS FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "redraw", 5) .CONTROLS(lnI).ReDraw() ENDIF ENDFOR ENDWITH ENDPROC PROCEDURE Init WITH THIS .BORDERWIDTH = 0 .BACKSTYLE = 0 .TOP = 6 .LEFT = 1 .WIDTH = 44 .HEIGHT = 38 .VISIBLE = .T. ENDWITH WITH THIS.Image1 .TOP = 0 .LEFT = 6 .ZORDER(1) ENDWITH WITH THIS.Image2 .TOP = 0 .LEFT = 6 .ZORDER(1) ENDWITH WITH THIS.Image3 .TOP = 7 .LEFT = 13 .ZORDER(0) .VISIBLE = IIF(!EMPTY(.PICTURE), .T., .F.) ENDWITH WITH THIS.Shape1 .TOP = 0 .LEFT = 6 .BORDERSTYLE = 0 .ZORDER(0) ENDWITH WITH THIS.StartPanel .LEFT = 1 .TOP = 24 .ZORDER(1) ENDWITH ENDPROC PROCEDURE Click THIS.shape1.CLICK() MOUSE CLICK ENDPROC Top = 0 Left = 0 Height = 200 Width = 200 ShowWindow = 1 DoCreate = .T. BorderStyle = 1 Caption = "" ControlBox = .F. TitleBar = 0 BackColor = 255,255,255 ncurvature = 5 nleft = 0 ntop = 0 nhwnd = 0 Name = "ribbonformbase" ;Anchor = 8 Top = 0 Left = 2 Width = 39 Height = 21 Visible = .F. swapcolors = .T. Name = "_progressbar1" Shape1.Curvature = 0 Shape1.Name = "Shape1" Image1.Name = "Image1" Ribbonlabel1.Height = 14 Ribbonlabel1.Left = 4 Ribbonlabel1.Top = 4 Ribbonlabel1.Width = 31 Ribbonlabel1.Name = "Ribbonlabel1" BPROCEDURE LostFocus THIS.MOUSELEAVE() ENDPROC PROCEDURE MouseUp LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.PARENT.image2.PICTURE = IIF(THIS.PARENT.SwapColors, _SCREEN.oRibbon.cFileBMP2, _SCREEN.oRibbon.cFileBMP7) WITH THIS.PARENT IF !EMPTY(.HelpObj) THISFORM.REMOVEOBJECT(.HelpObj) .HelpObj = "" ENDIF .MOUSEENTER() ENDWITH ENDPROC PROCEDURE MouseDown LPARAMETERS nButton, nShift, nXCoord, nYCoord LOCAL lcMarco, llVisible, loName WITH THIS.PARENT .image2.PICTURE = _SCREEN.oRibbon.cFileBMP4 IF !EMPTY(.PanelClass) lcMacro = .PanelClass IF (OBJTOCLIENT(THIS, 2) + 2 + THISFORM. &lcMacro .WIDTH) <= THISFORM.WIDTH THISFORM. &lcMacro .LEFT = OBJTOCLIENT(THIS, 2) - 2 + .nMenuLeft ELSE THISFORM. &lcMacro .LEFT = THISFORM.WIDTH - THISFORM. &lcMacro .WIDTH ENDIF THISFORM. &lcMacro .TOP = OBJTOCLIENT(THIS, 1) + THIS.HEIGHT + 2 + .nMenuTop THISFORM. &lcMacro .ZORDER(0) THISFORM. &lcMacro .ReDraw() THISFORM. &lcMacro .VISIBLE = IIF(THISFORM. &lcMacro .VISIBLE, .F., .T.) ENDIF IF !EMPTY(.Path_Form_Menu) DO FORM (.Path_Form_Menu) NAME loName WITH OBJTOCLIENT(THIS, 2) - 3 + .nMenuLeft, ; OBJTOCLIENT(THIS, 1) + THIS.HEIGHT + 1 + .nMenuTop, THISFORM.HWND _SCREEN.oRibbon.LastOpenForm = loName THIS.MOUSEENTER() ENDIF ENDWITH ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH THIS.PARENT .MOUSELEAVE() .xShape2.MOUSELEAVE() .shape1.VISIBLE = .BORDER .xShape2.VISIBLE = .BORDER .image2.PICTURE = IIF(.SwapColors, _SCREEN.oRibbon.cFileBMP2, _SCREEN.oRibbon.cFileBMP7) .image2.VISIBLE = IIF(.BORDER AND .ENABLED, .T., .F.) .Ribbonlabel1.FORECOLOR = IIF(.SwapColors,_SCREEN.oRibbon.SelectedButtonFontColor, _SCREEN.oRibbon.ButtonFontColor) .Ribbonlabel2.FORECOLOR = IIF(.SwapColors,_SCREEN.oRibbon.SelectedButtonFontColor, _SCREEN.oRibbon.ButtonFontColor) .Marlett.FORECOLOR = _SCREEN.oRibbon.ButtonFontColor IF !EMPTY(.HelpObj) THISFORM.REMOVEOBJECT(.HelpObj) .HelpObj = "" ENDIF ENDWITH ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord LOCAL lcMacro, oObj WITH THIS.PARENT IF VARTYPE(.PARENT._Shape2) = "O" .PARENT.MOUSEENTER() .PARENT._Shape2.MOUSEENTER() ENDIF .Shape1.VISIBLE = IIF(.BORDER, .T., .ENABLED) .xShape2.VISIBLE = IIF(.BORDER, .T., .ENABLED) .Image2.VISIBLE = IIF(.BORDER AND .ENABLED, .T., .ENABLED) .Image2.PICTURE = IIF(.SwapColors, _SCREEN.oRibbon.cFileBMP7, _SCREEN.oRibbon.cFileBMP2) .Ribbonlabel1.FORECOLOR = IIF(.SwapColors,_SCREEN.oRibbon.ButtonFontColor, _SCREEN.oRibbon.SelectedButtonFontColor) .Ribbonlabel2.FORECOLOR = IIF(.SwapColors,_SCREEN.oRibbon.ButtonFontColor, _SCREEN.oRibbon.SelectedButtonFontColor) .Marlett.FORECOLOR = _SCREEN.oRibbon.SelectedButtonFontColor IF !EMPTY(.helptitle) AND EMPTY(.HelpObj) and pmenu = .F. .HelpObj = SYS(2015) lcMacro = .HelpObj THISFORM.NEWOBJECT(.HelpObj, "RibbonHelp") IF (OBJTOCLIENT(THIS, 2) - 2 + THISFORM. &lcMacro .WIDTH) <= THISFORM.WIDTH THISFORM. &lcMacro .LEFT = OBJTOCLIENT(THIS, 2) + 2 ELSE THISFORM. &lcMacro .LEFT = THISFORM.WIDTH - THISFORM. &lcMacro .WIDTH ENDIF THISFORM. &lcMacro .TOP = OBJTOCLIENT(THIS, 1) IF VARTYPE(.PARENT.Shape1) = "O" THISFORM. &lcMacro .TOP = OBJTOCLIENT(.PARENT.Shape1, 1) + ; OBJTOCLIENT(.PARENT.Shape1, 4) + 6 ELSE THISFORM. &lcMacro .TOP = OBJTOCLIENT(THIS, 1) + .HEIGHT + 5 ENDIF THISFORM. &lcMacro .ZORDER(0) THISFORM. &lcMacro .Label1.CAPTION = _SCREEN.oRibbon.TRANSLATE(.HelpTitle_Id, .helptitle) THISFORM. &lcMacro .Label2.CAPTION = _SCREEN.oRibbon.TRANSLATE(.HelpTxt_Id, .HelpTxt) THISFORM. &lcMacro .Image1.PICTURE = .Image1.PICTURE THISFORM. &lcMacro .Image1.VISIBLE = .Image1.VISIBLE ENDIF ENDWITH ENDPROC PROCEDURE Click IF THIS.PARENT.ENABLED THIS.PARENT.CLICK() ENDIF ENDPROC Adisabledpicture Specifies the graphic to display when the control is disabled. helptitle helptxt border lcurvature panelclass helptitle_id helptxt_id path_form_menu nmenuleft nmenutop cancel Specifies if a CommandButton is the Cancel button. swapcolors cskipforexp *thisenabled *redraw *cancel_assign (Width = 66 Height = 66 BackColor = 128,255,128 disabledpicture = helptitle = helptxt = border = .F. lcurvature = .T. panelclass = helptitle_id = helptxt_id = path_form_menu = nmenuleft = 0 nmenutop = 0 cancel = .F. swapcolors = .F. cskipforexp = Name = "ribbonbuttonv" >Top = 24 Left = 1 Width = 360 Height = 310 Visible = .F. Name = "StartPanel" _Shape1.Name = "_Shape1" Ribbonlabel1.Height = 17 Ribbonlabel1.Left = 3 Ribbonlabel1.Top = 5 Ribbonlabel1.Width = 354 Ribbonlabel1.Name = "Ribbonlabel1" _Shape2.Name = "_Shape2" _Image1.Name = "_Image1" sHADOW.Name = "sHADOW" pPROCEDURE Init DODEFAULT() WITH THIS._Image2 .PICTURE = _SCREEN.oRibbon.cFileBMP6 .LEFT = 2 .TOP = THIS.HEIGHT - 32 - IIF(THIS.lShadow, 3, 0) .HEIGHT = 30 .WIDTH = THIS.WIDTH - 4 - IIF(THIS.lShadow, 3, 0) .ZORDER(1) ENDWITH WITH THIS ._Shape2.ZORDER(1) ._Shape1.ZORDER(1) .Shadow.ZOrder(1) ._MenuTabs1.LEFT = 2 ._MenuTabs1.WIDTH = THIS._Image2.WIDTH ._MenuTabs1.TOP = ._Image1.TOP + ._Image1.HEIGHT ._MenuTabs1.HEIGHT = .Height - ._MenuTabs1.TOP - 32 - IIF(THIS.lShadow, 3, 0) ENDWITH ENDPROC PROCEDURE redraw DODEFAULT() THIS._Image2.PICTURE = _SCREEN.oRibbon.cFileBMP6 ENDPROC PROCEDURE redraw WITH THIS .Shape1.BORDERCOLOR = _SCREEN.oRibbon.LinesColor .Shape1.BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .Image1.PICTURE = IIF(.SwapColors, _SCREEN.oRibbon.cFileBMP2, _SCREEN.oRibbon.cFileBMP7) .Ribbonlabel1.FORECOLOR = IIF(.SwapColors, _SCREEN.oRibbon.SelectedButtonFontColor, _SCREEN.oRibbon.ButtonFontColor) ENDWITH ENDPROC PROCEDURE progress PARAMETERS tnValue, tnMax, tlPercentage LOCAL lnWidthBar WITH THIS lnWidthBar = (tnValue * (.WIDTH - 4)) / tnMax *.RibbonLabel1.VISIBLE = tlPercentage IF lnWidthBar > 0 .Image1.VISIBLE = .T. .Image1.WIDTH = lnWidthBar .RibbonLabel1.CAPTION = TRANSFORM(((tnValue*100)/tnMax), "999") + " %" ELSE .Image1.VISIBLE = .F. ENDIF ENDWITH ENDPROC PROCEDURE Init WITH THIS .BORDERWIDTH = 0 .BACKSTYLE = 0 ENDWITH WITH THIS.Shape1 .TOP = 0 .LEFT = 0 .HEIGHT = THIS.HEIGHT .WIDTH = THIS.WIDTH ENDWITH WITH THIS.RibbonLabel1 .LEFT = 0 .WIDTH = THIS.WIDTH .CAPTION = "0 %" *.VISIBLE = .F. ENDWITH WITH THIS.Image1 .TOP = 2 .LEFT = 2 .HEIGHT = THIS.HEIGHT - 4 .WIDTH = 1 .VISIBLE = .F. ENDWITH THIS.ReDraw() ENDPROC QPROCEDURE Unload _SCREEN.oRibbon.LastOpenForm = "" ENDPROC PROCEDURE Init PARAMETERS tnLeft, tnTop, tnHWND #DEFINE SWP_SHOWWINDOW 0x0040 #DEFINE GWL_EXSTYLE (-20) #DEFINE WS_EX_TOOLWINDOW 0x00000080 #DEFINE WS_EX_APPWINDOW 0x00040000 #DEFINE WS_EX_TOPMOST 0x8 #DEFINE GCL_STYLE (-26) #DEFINE CS_DROPSHADOW 0x00020000 WITH THIS .BACKCOLOR = RGB(255,255,255) .BORDERSTYLE = 0 .LEFT = 0 .TOP = 0 .Command1.CLICK() m.lStyle = GetWindowLongA(.HWND, GWL_EXSTYLE) m.lStyle = BITAND(BITOR(m.lStyle, WS_EX_TOOLWINDOW), BITNOT(WS_EX_APPWINDOW)) SetWindowLongA(.HWND, GWL_EXSTYLE, m.lStyle) m.lqPt = BINTOC(tnLeft, '4RS')+BINTOC(tnTop, '4RS') ClientToScreen(tnHWND, @lqPt) tnLeft = CTOBIN(SUBSTR(m.lqPt, 1, 4), '4RS') tnTop = CTOBIN(SUBSTR(m.lqPt, 5, 4), '4RS') IF ((tnLeft + .WIDTH) > SYSMETRIC(1)) tnLeft = SYSMETRIC(1) - .WIDTH - 2 ENDIF IF ((tnTop + .HEIGHT) > SYSMETRIC(2)) tnTop = tnTop - .HEIGHT ENDIF SetWindowRgn(.HWND, CreateRoundRectRgn(.LEFT + 1, .TOP + 1, .WIDTH, .HEIGHT, .nCurvature, .nCurvature), 1) m.lnStyle = GetClassLong(.HWND, GCL_STYLE) SetClassLong(.HWND, GCL_STYLE, BITOR(m.lnStyle, CS_DROPSHADOW)) SetParent(.HWND, 0) SetWindowPos(.HWND, 0, tnLeft, tnTop, .WIDTH, .HEIGHT, SWP_SHOWWINDOW) ._Shape11.LEFT = 1 ._Shape11.TOP = 1 ._Shape11.HEIGHT = .HEIGHT - 2 ._Shape11.WIDTH = .WIDTH - 2 ._Shape11.CURVATURE = .nCurvature ._Shape11.BORDERCOLOR = _SCREEN.oRibbon.LinesColor ._Shape11.BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) ._Shape11.ZORDER(1) ENDWITH ENDPROC PROCEDURE Deactivate THIS.RELEASE() ENDPROC PROCEDURE redraw LOCAL lnI WITH THIS FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "redraw", 5) .CONTROLS(lnI).ReDraw() ENDIF ENDFOR ENDWITH ENDPROC PROCEDURE setline PARAMETERS tnLeft, tnWidth WITH THIS.line1 .VISIBLE = .F. .TOP = THIS.Shape1.TOP .LEFT = tnLeft .WIDTH = tnWidth .BORDERCOLOR = _SCREEN.oRibbon.backcolor1 .ZORDER(0) .VISIBLE = .T. ENDWITH WITH THIS.line2 .VISIBLE = .F. .TOP = THIS.Shape1.TOP - 1 .LEFT = tnLeft + 1 .WIDTH = tnWidth - 2 .BORDERCOLOR = _SCREEN.oRibbon.backcolor1 .ZORDER(0) .VISIBLE = .T. ENDWITH ENDPROC PROCEDURE redraw LOCAL llOldLock llOldLock = THISFORM.LOCKSCREEN THISFORM.LOCKSCREEN = .T. WITH THIS THISFORM.BACKCOLOR = _SCREEN.oRibbon.FormBackColor .Image1.PICTURE = _SCREEN.oRibbon.cFileBMP1 .Shape1.BORDERCOLOR = _SCREEN.oRibbon.LinesColor .Shape2.BACKCOLOR = _SCREEN.oRibbon.BackGround .Line1.BORDERCOLOR = _SCREEN.oRibbon.backcolor1 .Line2.BORDERCOLOR = _SCREEN.oRibbon.backcolor1 ENDWITH LOCAL lnI WITH THIS FOR lnI = 1 TO .CONTROLCOUNT IF .CONTROLS(lnI).PARENTCLASS == "Ribbonpage" .CONTROLS(lnI).ZORDER(0) ENDIF IF PEMSTATUS(.CONTROLS(lnI).CLASS, "redraw", 5) .CONTROLS(lnI).ReDraw() ENDIF ENDFOR ENDWITH WITH THISFORM LOCAL lnI FOR lnI = 1 TO .CONTROLCOUNT IF UPPER(.CONTROLS(lnI).NAME) # UPPER(THIS.NAME) AND PEMSTATUS(.CONTROLS(lnI).CLASS, "redraw", 5) .CONTROLS(lnI).ReDraw() ENDIF ENDFOR ENDWITH THISFORM.LOCKSCREEN = llOldLock ENDPROC PROCEDURE GotFocus this.redraw() ENDPROC PROCEDURE Resize LOCAL lcMacro IF VARTYPE(_SCREEN.oRibbon.LastOpenForm) = "O" AND ; (UPPER(_SCREEN.oRibbon.LastOpenForm.NAME) # "RIBBONFORMMSGBOX" AND ; UPPER(_SCREEN.oRibbon.LastOpenForm.NAME) # "RIBBONFORMWAIT") RELEASE WINDOWS (_SCREEN.oRibbon.LastOpenForm.NAME) ENDIF IF !EMPTY(THIS.YourStartButton) lcMacro = "THISFORM." + THIS.YourStartButton IF &lcMacro .HEIGHT # 38 &lcMacro .CLICK() ENDIF ENDIF ENDPROC PROCEDURE Init LOCAL lcMacro, lcPageClass WITH THIS .ADDPROPERTY("oLastClick" , "") .ADDPROPERTY("oLastPage" , "") .ADDPROPERTY("oPreviusPage" , "") IF !EMPTY(.YourTitlebar) lcMacro = "THISFORM.NEWOBJECT('" + .YourTitlebar + "', '" + .YourTitlebar +"')" &lcMacro ENDIF IF !EMPTY(.YourStartButton) lcMacro = "THISFORM.NEWOBJECT('" + .YourStartButton + "', '" + .YourStartButton +"')" &lcMacro *this.startmenu = newobject("mistartbutton","clases\mydesigns","") *this.startmenu.Show() ENDIF IF !EMPTY(.YourStatusBar) lcMacro = "THISFORM.NEWOBJECT('" + .YourStatusBar + "', '" + .YourStatusBar +"')" &lcMacro ENDIF .LEFT = 0 .WIDTH = THISFORM.WIDTH .HEIGHT = THISFORM.HEIGHT .BORDERWIDTH = 0 .BACKSTYLE = 0 .ANCHOR = 15 .ZORDER(1) THISFORM.BACKCOLOR = _SCREEN.oRibbon.FormBackColor **** THISFORM.MINWIDTH = 140 **** THISFORM.MINHEIGHT = 25 + IIF(!EMPTY(.YourTitlebar), 30, 0) + IIF(!EMPTY(.YourStatusBar), 22, 0) ENDWITH WITH THIS.Shape2 .LEFT = 0 .TOP = 0 .HEIGHT = 119 + IIF(!EMPTY(THIS.YourTitlebar), 30, 0) .WIDTH = THIS.PARENT.WIDTH .BACKCOLOR = _SCREEN.oRibbon.BackGround .ANCHOR = 10 ENDWITH WITH THIS.Shape1 .ZORDER(1) .LEFT = 2 .TOP = 23 + IIF(!EMPTY(THIS.YourTitlebar), 30, 0) .HEIGHT = 94 .WIDTH = THIS.PARENT.WIDTH - 4 .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .ANCHOR = 10 ENDWITH WITH THIS.Image1 .ZORDER(1) .LEFT = 3 .TOP = 24 + IIF(!EMPTY(THIS.YourTitlebar), 30, 0) .HEIGHT = 92 .WIDTH = THIS.PARENT.WIDTH - 6 .PICTURE = _SCREEN.oRibbon.cFileBMP1 .ANCHOR = 10 ENDWITH WITH THIS.line1 .TOP = THIS.Shape1.TOP .VISIBLE = .F. .ZORDER(0) ENDWITH WITH THIS.line2 .TOP = THIS.Shape1.TOP - 1 .VISIBLE = .F. .ZORDER(0) ENDWITH WITH THIS LOCAL lnI FOR lnI = 1 TO .CONTROLCOUNT IF .CONTROLS(lnI).CLASS == "Ribbontab" lcPageClass = .CONTROLS(lnI).PageClass IF !EMPTY(lcPageClass) .NEWOBJECT(lcPageClass, lcPageClass) ENDIF .CONTROLS(lnI).ZORDER(1) ENDIF ENDFOR IF !EMPTY(.FirstTabClick) lcMacro = "THIS." + .FirstTabClick + ".CLICK()" &lcMacro ENDIF .Shape2.ZORDER(1) ENDWITH ENDPROC 54PROCEDURE caption_assign ************************************************************************ *$METHOD$ Caption_assign() *$CREATED$ 01/02/2007 * *$HISTORY$ * 28/02/2008 - GZ: Added support for fixed width items *$HISTORY$ ************************************************************************ LPARAMETERS vcNewVal THIS.caption = m.vcNewVal this.lblCaption.Caption = this.Caption this.cmdMenuItem.Caption = this.Caption this.lblCaption.Visible = .t. this.lblCaption.Left = 6 IF this.lFixedwidth *-- Centre the caption in the space. this.lblCaption.Left = MAX(0, INT((this.Width - this.lblCaption.Width)/2)) ELSE this.Width = this.lblCaption.Width + 12 ENDIF ENDPROC PROCEDURE lselected_assign *************************************************************************** *$METHOD$ lSelected_assign() *$CREATED$ 27/02/2007 * *$HISTORY$ * 27/02/2008 - GZ: Added support for skinning * * 06/03/2008 - GZ: Renamed this property to be lSelected *$HISTORY$ *************************************************************************** LPARAMETERS vlNewVal THIS.lSelected = m.vlNewVal IF m.vlNewVal this.picture = this.aSkinData[6] && "tabmenu.bmp" ******** this.imgLeft.Picture = this.aSkinData[5] && 'TABLEFT.BMP' this.imgLeft.Visible = .t. this.imgRight.Picture = this.aSkinData[7] && 'TABRIGHT.BMP' this.lblCAPTION.ForeColor = _SCREEN.oRibbon.SelectedButtonFontColor ELSE this.Picture = this.aSkinData[1] && 'TABSTRIP.BMP' this.imgLeft.Visible = .f. this.imgRight.Picture = this.aSkinData[4] && 'TABSEPARATOR.BMP' this.lblCAPTION.ForeColor = _SCREEN.oRibbon.ButtonFontColor ENDIF ENDPROC PROCEDURE hottrackon ************************************************************************* *$METHOD$ HotTrackOn() *$CREATED$ 01/02/2007 * *$HISTORY$ * 07/04/2007 - GZ: Added support for the minimized ribbon * * 27/02/2008 - GZ: Added support for skinning * * 06/03/2008 - GZ: changed to handle the change of the Selected property * to be lSelected *$HISTORY$ ************************************************************************* IF this.Enabled AND NOT this.lSelected ******** this.imgLeft.Picture = this.aSkinData[8] && 'HOVLEFT.BMP' this.imgLeft.Visible = .f. this.Picture = this.aSkinData[9] && 'HOVMENU.BMP' this.imgRight.Picture = this.aSkinData[10] && 'HOVRIGHT.BMP' this.lblCAPTION.ForeColor = _SCREEN.oRibbon.SelectedButtonFontColor IF this.Parent.lMinimized RAISEEVENT(this.Parent, "tbmMinimize") ENDIF ENDIF ENDPROC PROCEDURE hottrackoff ************************************************************************ *$METHOD$ HotTrackOff() *$CREATED$ 01/02/2007 * *$HISTORY$ * 07/04/2007 - GZ: Added support for the minimized ribbon * * 27/02/2008 - GZ: Added support for skinning * * 06/03/2008 - GZ: changed to handle the change of the Selected property * to be lSelected *$HISTORY$ ************************************************************************ IF NOT this.lSelected ***************** this.imgLeft.Picture = this.aSkinData[5] && 'tabLEFT.BMP' this.imgLeft.Visible = .f. this.Picture = this.aSkinData[1] && 'TABSTRIP.BMP' this.imgRight.Picture = this.aSkinData[4] && 'tabseparator.BMP' this.lblCAPTION.ForeColor = _SCREEN.oRibbon.ButtonFontColor IF this.Parent.lMinimized RAISEEVENT(this.Parent, "tbmMinimize") ENDIF ENDIF ENDPROC PROCEDURE chotkey_assign LPARAMETERS vcNewVal THIS.chotkey = m.vcNewVal *this.lblHotKey.Caption = this.cHotkey ENDPROC PROCEDURE lshowhotkey_assign LPARAMETERS vlNewVal THIS.lShowHotKey = m.vlNewVal AND this.Enabled this.lblHotKey.Visible = this.lshowhotkey AND NOT EMPTY(this.chotkey) this.imgHotKey.Visible = this.lshowhotkey AND NOT EMPTY(this.chotkey) ENDPROC PROCEDURE cskipforexp_assign **************************************************************************** *$METHOD$ cSkipForExp_assign() *$CREATED$ 13/02/2007 **************************************************************************** LPARAMETERS vcNewVal THIS.cSkipForExp = m.vcNewVal ENDPROC PROCEDURE enabled_assign **************************************************************************** *$METHOD$ enabled_assign() *$CREATED$ 13/02/2007 * *$HISTORY$ * 27/02/2008 - GZ: Added support for skinning *$HISTORY$ **************************************************************************** LPARAMETERS vlNewVal this.enabled = m.vlNewVal IF this.Enabled this.lblCaption.ForeColor = this.aSkinData[2] && RGB(21,66,139) ELSE this.lblCaption.ForeColor = this.aSkinData[3] && RGB(141,141,141) ENDIF ENDPROC PROCEDURE cbasefont_assign ************************************************************************* *$METHOD$ cBaseFont_Assign() *$CREATED$ 03/07/2007 ************************************************************************* LPARAMETERS vcNewVal THIS.cBaseFont = _SCREEN.oRibbon.cFontName this.lblCaption.FontName = this.cBaseFont this.lblHotKey.FontName = this.cBaseFont ENDPROC PROCEDURE skin *************************************************************************** *$METHOD$ Skin() *$CREATED$ 27/02/2008 *************************************************************************** LOCAL lnSelect, lctblSkinDef, llHovCaption *lnSelect = SELECT() *-- Determine an unused alias for the skin definition table and * then open that table in a new workarea with that alias. lctblSkindef = "t" + SYS(2015) *!* DO WHILE USED(lctblskindef) *!* lctblSkindef = "t" + SYS(2015) *!* ENDDO *!* SELECT 0 *!* USE skindef ALIAS (lctblskindef) DIMENSION this.aSkinData[12] *****this.aSkinData[1] = "TABSTRIP.BMP" this.aSkinData[1] = _SCREEN.oRibbon.cFileBMP1 this.aSkinData[2] = RGB(21,66,139) this.aSkinData[3] = RGB(141,141,141) this.aSkinData[4] = "TABSEPARATOR.BMP" this.aSkinData[5] = "TABLEFT.BMP" *****this.aSkinData[6] = "TABMENU.BMP" this.aSkinData[6] = _SCREEN.oRibbon.cFileBMP7 this.aSkinData[7] = "TABRIGHT.BMP" this.aSkinData[8] = "HOVLEFT.BMP" *this.aSkinData[9] = "HOVMENU.BMP" this.aSkinData[9] = _SCREEN.oRibbon.cFileBMP2 this.aSkinData[10] = "HOVRIGHT.BMP" this.aSkinData[11] = "POPUPDN.BMP" *!* SELECT (lctblSkindef) *!* SCAN FOR cmponentid = this.cComponentid *!* DO CASE *!* CASE subitemid = "0000000000" *!* *-- This is the container *!* IF NOT EMPTY(backcolor) *!* this.BackColor = EVALUATE("RGB(" + ALLTRIM(backcolor) + ")") *!* ENDIF *!* IF NOT EMPTY(imagepath) AND FILE(ALLTRIM(imagepath)) *!* this.aSkinData[1] = ALLTRIM(imagepath) *!* ELSE *!* this.aSkinData[1] = "" *!* ENDIF *!* CASE subitemid = "0000000001" *!* *-- This is the enabled caption *!* IF NOT EMPTY(forecolor) *!* this.aSkinData[2] = EVALUATE("RGB(" + ALLTRIM(forecolor) + ")") *!* ENDIF *!* CASE subitemid = "0000000002" *!* *-- This is the disabled caption *!* IF NOT EMPTY(forecolor) *!* this.aSkinData[3] = EVALUATE("RGB(" + ALLTRIM(forecolor) + ")") *!* ENDIF *!* CASE subitemid = "0000000003" *!* *-- This is the tab separator *!* IF NOT EMPTY(imagepath) AND FILE(ALLTRIM(imagepath)) *!* this.aSkinData[4] = ALLTRIM(imagepath) *!* ENDIF *!* CASE subitemid = "0000000004" *!* *-- This is the tab left *!* IF NOT EMPTY(imagepath) AND FILE(ALLTRIM(imagepath)) *!* this.aSkinData[5] = ALLTRIM(imagepath) *!* ENDIF *!* CASE subitemid = "0000000005" *!* *-- This is the tab background *!* IF NOT EMPTY(imagepath) AND FILE(ALLTRIM(imagepath)) *!* this.aSkinData[6] = ALLTRIM(imagepath) *!* ENDIF *!* CASE subitemid = "0000000006" *!* *-- This is the tab right *!* IF NOT EMPTY(imagepath) AND FILE(ALLTRIM(imagepath)) *!* this.aSkinData[7] = ALLTRIM(imagepath) *!* ENDIF *!* CASE subitemid = "0000000007" *!* *-- This is the tab hover left *!* IF NOT EMPTY(imagepath) AND FILE(ALLTRIM(imagepath)) *!* this.aSkinData[8] = ALLTRIM(imagepath) *!* ENDIF *!* CASE subitemid = "0000000008" *!* *-- This is the tab hover background *!* IF NOT EMPTY(imagepath) AND FILE(ALLTRIM(imagepath)) *!* this.aSkinData[9] = ALLTRIM(imagepath) *!* ENDIF *!* CASE subitemid = "0000000009" *!* *-- This is the tab hover right *!* IF NOT EMPTY(imagepath) AND FILE(ALLTRIM(imagepath)) *!* this.aSkinData[10] = ALLTRIM(imagepath) *!* ENDIF *!* CASE subitemid = "0000000010" *!* *-- This is the sub menu indicator *!* IF NOT EMPTY(imagepath) AND FILE(ALLTRIM(imagepath)) *!* this.aSkinData[11] = ALLTRIM(imagepath) *!* ENDIF *!* CASE subitemid = "0000000011" *!* *-- This is the hovered caption color *!* IF NOT EMPTY(forecolor) *!* this.aSkinData[12] = EVALUATE("RGB(" + ALLTRIM(forecolor) + ")") *!* llHovCaption = .t. *!* ENDIF *!* ENDCASE *!* ENDSCAN *!* IF NOT llHovCaption *!* *-- If the hovered caption colour has not been specified then it should *!* * be set to the normal caption colour *!* this.aSkinData[12] = this.aSkinData[2] *!* ENDIF *!* *-- Apply the skin information this.Picture = this.aSkinData[1] *!* this.lblCaption.ForeColor = this.aSkinData[2] *!* this.imgLeft.Stretch = 0 *!* this.imgLeft.Picture = this.aSkinData[5] *!* this.imgLeft.Stretch = 2 *!* this.imgRight.Stretch = 0 *!* this.imgRight.Picture = this.aSkinData[4] *!* this.imgRight.Stretch = 2 *!* this.imgSubMenu.Stretch = 0 *!* this.imgSubMenu.Picture = this.aSkinData[11] *!* this.imgSubMenu.Stretch = 2 *!* *-- Define the height of the menu items based on the height of the images *!* this.Height = this.imgRight.Height *!* USE IN SELECT(lctblSkinDef) *!* SELECT (lnSelect) ENDPROC PROCEDURE lsubmenu_assign *************************************************************************** *$METHOD$ lSubMenu_assign() *$CREATED$ 06/03/2008 *************************************************************************** LPARAMETERS vlNewVal THIS.lSubMenu = m.vlNewVal this.imgSubmenu.Visible = this.lSubmenu ENDPROC PROCEDURE Init *************************************************************************** *$METHOD$ Init() *$CREATED$ 27/02/2007 * *$HISTORY$ * 27/02/2008 - GZ: Added the skin method and also added code to support * centering the caption vertically * * 27/02/2008 - GZ: Added ability to specify the width of the tab rather * than have this adjusted dynamically based on the content. *$HISTORY$ *************************************************************************** LPARAMETERS vcCaption, vnWidth IF NOT EMPTY(vnWidth) this.lFixedWidth = .t. this.Width = vnWidth ENDIF this.skin() this.Caption = vcCaption this.lblCaption.Top = INT((this.Height - this.lblCaption.Height) / 2) + INT(this.Height * .10) this.imgHotKey.Top = this.Height - this.imgHotKey.Height this.imgHotkey.Left = this.Width - this.imgHotKey.Width this.lblHotKey.Top = this.imgHotKey.Top this.lblHotKey.Left = this.imgHotkey.Left this.lblHotkey.Width = this.imghotkey.width this.lblCaption.ForeColor = _SCREEN.oRibbon.ButtonFontColor this.lblCaption.FontName = _SCREEN.oRibbon.cFontName ENDPROC PROCEDURE Resize *************************************************************************** *$METHOD$ Resize() * *$HISTORY$ * 27/02/2008 - GZ: Added code to support centering the caption vertically * * 06/03/2008 - GZ: Added support for the submenu indicator *$HISTORY$ *************************************************************************** this.lblCaption.Top = INT((this.Height - this.lblCaption.Height) / 2) + INT(this.Height * .10) this.imgRight.Left = this.Width - this.imgRight.Width this.cmdMenuItem.Width = this.width - 7 this.imgHotKey.Top = this.Height - this.imgHotKey.Height this.imgHotkey.Left = this.Width - this.imgHotKey.Width this.lblHotKey.Top = this.imgHotKey.Top this.lblHotKey.Left = this.imgHotkey.Left this.lblHotkey.Width = this.imghotkey.width this.imgSubmenu.Top = this.Height - this.imgSubmenu.Height - 2 this.imgSubMenu.Left = INT((this.Width - this.imgSubMenu.Width)/2) ENDPROC PROCEDURE Click **************************************************************************** *$METHOD$ Click() *$CREATED$ 10/02/2007 **************************************************************************** IF this.Enabled this.Parent.SelectMenuItem(this.ItemIndex) ENDIF ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord this.Hottrackoff() ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord this.HotTrackon() ENDPROC PROCEDURE Refresh *************************************************************************** *$METHOD$ Refresh() * *$HISTORY$ * 28/02/2008 - GZ: Added code to support fixed width controls *$HISTORY$ *************************************************************************** IF NOT this.lFixedWidth *-- Only adjust the width if the control is dynamic this.Width = this.lblCaption.Width + 12 ENDIF IF NOT EMPTY(this.cSkipforexp) this.Enabled = NOT EVALUATE(this.cSkipforexp) ENDIF ENDPROC PROCEDURE Destroy *************************************************************************** *$METHOD$ Destroy() *$CREATED$ 17/02/2007 *************************************************************************** UNBINDEVENTS(this) ENDPROC xPROCEDURE settings IF EMPTY(THIS.FileIni) RETURN ENDIF WITH THIS TRY .FileIni = LOCFILE(.FileIni) CATCH .FileIni = FULLPATH("") + "Default.ini" IF FILE(FULLPATH("") + "Default.ini") DELETE FILE (SYS(5) + CURDIR() + "Default.ini") ENDIF ENDTRY *-- Save Default Settings Ribbon *--Background IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".nTheme")), ; .WriteFileIni(.FileIni,"RIBBON",".nTheme",TRANSFORM(.nTheme)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".nFactorBackColor")), ; .WriteFileIni(.FileIni,"RIBBON",".nFactorBackColor",TRANSFORM(.nFactorBackColor)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".BackGround")), ; .WriteFileIni(.FileIni,"RIBBON",".BackGround",THIS.ntoRGB(.BackGround)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".BackColor1")), ; .WriteFileIni(.FileIni,"RIBBON",".Backcolor1",THIS.ntoRGB(.BackColor1)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".Backcolor2")), ; .WriteFileIni(.FileIni,"RIBBON",".Backcolor2",THIS.ntoRGB(.BackColor2)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".FormBackColor")), ; .WriteFileIni(.FileIni,"RIBBON",".FormBackColor",THIS.ntoRGB(.FormBackColor)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".ShadowColor")), ; .WriteFileIni(.FileIni,"RIBBON",".ShadowColor",THIS.ntoRGB(.ShadowColor)),.F.) *--Ribbon, tabs and groups IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".FontColor")), ; .WriteFileIni(.FileIni,"RIBBON",".FontColor",THIS.ntoRGB(.FontColor)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".FontColorAlternate")), ; .WriteFileIni(.FileIni,"RIBBON",".FontColorAlternate",THIS.ntoRGB(.FontColorAlternate)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".TabFontColor")), ; .WriteFileIni(.FileIni,"RIBBON",".TabFontColor",THIS.ntoRGB(.TabFontColor)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".SelectedTabFontColor")), ; .WriteFileIni(.FileIni,"RIBBON",".SelectedTabFontColor",THIS.ntoRGB(.SelectedTabFontColor)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".LinesColor")), ; .WriteFileIni(.FileIni,"RIBBON",".LinesColor",THIS.ntoRGB(.LinesColor)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".cFontName")), ; .WriteFileIni(.FileIni,"RIBBON",".cFontName","'" + .cFontName + "'"),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".SeeOutlineGroup")), ; .WriteFileIni(.FileIni,"RIBBON",".SeeOutlineGroup",IIF(.SeeOutLineGroup, ".T.", ".F.")),.F.) *--Buttons an objects IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".ButtonFontColor")), ; .WriteFileIni(.FileIni,"RIBBON",".ButtonFontColor",THIS.ntoRGB(.ButtonFontColor)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".SelectedColor1")), ; .WriteFileIni(.FileIni,"RIBBON",".SelectedColor1",THIS.ntoRGB(.SelectedColor1)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".SelectedColor2")), ; .WriteFileIni(.FileIni,"RIBBON",".SelectedColor2",THIS.ntoRGB(.SelectedColor2)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".SelectedButtonFontColor")), ; .WriteFileIni(.FileIni,"RIBBON",".SelectedButtonFontColor",THIS.ntoRGB(.SelectedButtonFontColor)),.F.) *--Others IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".AutoTabClick")), ; .WriteFileIni(.FileIni,"RIBBON",".AutoTabClick",IIF(.AutoTabClick, ".T.", ".F.")),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".ShowAnimationPage")), ; .WriteFileIni(.FileIni,"RIBBON",".ShowAnimationPage",IIF(.ShowAnimationPage, ".T.", ".F.")),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".AnimationFaster")), ; .WriteFileIni(.FileIni,"RIBBON",".AnimationFaster",TRANSFORM(.AnimationFaster)),.F.) *-- In edit IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".InEditBackColor")), ; .WriteFileIni(.FileIni,"RIBBON",".InEditBackColor",THIS.ntoRGB(.InEditBackColor)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".InEditBackDisable")), ; .WriteFileIni(.FileIni,"RIBBON",".InEditBackDisable",THIS.ntoRGB(.InEditBackDisable)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".InEditForeColor")), ; .WriteFileIni(.FileIni,"RIBBON",".InEditForeColor",THIS.ntoRGB(.InEditForeColor)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".InEditForeDisable")), ; .WriteFileIni(.FileIni,"RIBBON",".InEditForeDisable",THIS.ntoRGB(.InEditForeDisable)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".InEditFrameColor")), ; .WriteFileIni(.FileIni,"RIBBON",".InEditFrameColor",THIS.ntoRGB(.InEditFrameColor)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".RowBackColor")), ; .WriteFileIni(.FileIni,"RIBBON",".RowBackColor",THIS.ntoRGB(.RowBackColor)),.F.) IIF(ISNULL(.ReadFileIni(.FileIni,"RIBBON",".RowFontColor")), ; .WriteFileIni(.FileIni,"RIBBON",".RowFontColor",THIS.ntoRGB(.RowFontColor)),.F.) *-- .nTheme = VAL(.ReadFileIni(.FileIni,"RIBBON",".nTheme")) .nTheme = IIF(BETWEEN(.nTheme, 1, 5), .nTheme, 1) .nFactorBackColor = VAL(.ReadFileIni(.FileIni,"RIBBON",".nFactorBackColor")) .nFactorBackColor = IIF(BETWEEN(.nFactorBackColor, 0, 100), .nFactorBackColor, 50) .BackGround = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".BackGround")) .BackColor1 = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".BackColor1")) .BackColor2 = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".BackColor2")) .selectedcolor1 = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".selectedcolor1")) .selectedcolor2 = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".selectedcolor2")) .FormBackColor = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".FormBackColor")) .ShadowColor = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".ShadowColor")) .LinesColor = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".LinesColor")) .ButtonFontColor = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".ButtonFontColor")) .SelectedButtonFontColor = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".SelectedButtonFontColor")) .FontColor = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".FontColor")) .FontColorAlternate = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".FontColorAlternate")) .TabFontColor = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".TabFontColor")) .SelectedTabFontColor = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".SelectedTabFontColor")) .cFontName = .ReadFileIni(.FileIni,"RIBBON",".cFontName") .AutoTabClick = IIF(.ReadFileIni(.FileIni,"RIBBON",".AutoTabClick") = ".F.", .F., .T.) .SeeOutlineGroup = IIF(.ReadFileIni(.FileIni,"RIBBON",".SeeOutlineGroup") = ".F.", .F., .T.) .ShowAnimationPage = IIF(.ReadFileIni(.FileIni,"RIBBON",".ShowAnimationPage") = ".F.", .F., .T.) .AnimationFaster = IIF(BETWEEN(.AnimationFaster, 1, 9), .AnimationFaster, 5) .InEditBackColor = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".InEditBackColor")) .InEditBackDisable = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".InEditBackDisable")) .InEditForeColor = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".InEditForeColor")) .InEditForeDisable = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".InEditForeDisable")) .InEditFrameColor = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".InEditFrameColor")) .RowBackColor = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".RowBackColor")) .RowFontColor = EVALUATE(.ReadFileIni(.FileIni,"RIBBON",".RowFontColor")) ENDWITH ENDPROC PROCEDURE readfileini PARAMETERS tcFileName, tcSection, tcEntry LOCAL lcIniValue, lnResult, lnBufferSize lnBufferSize = 255 lcIniValue = SPAC(lnBufferSize) lnResult=GetPrivateProfileString(tcSection,tcEntry,"*NULL*",; @lcIniValue,lnBufferSize,tcFileName) lcIniValue=SUBSTR(lcIniValue,1,lnResult) IF lcIniValue="*NULL*" lcIniValue=.NULL. ENDIF RETURN lcIniValue ENDPROC PROCEDURE writefileini PARAMETERS tcFileName, tcSection, tcEntry, tcValue RETURN IIF(WritePrivateProfileString(tcSection,tcEntry,tcValue,tcFileName)=1, .T., .F.) ENDPROC PROCEDURE temppath LOCAL lcPath, lnRet lcPath = SPACE(255) lnSize = 255 lnRet = GetTempPath(lnSize, @lcPath) IF lnRet <= 0 lcPath = ADDBS(FULLPATH("TEMP")) ELSE lcPath = ADDBS(SUBSTR(lcPath, 1, lnRet)) ENDIF RETURN lcPath ENDPROC PROCEDURE drawbmp LOCAL lcTempBMP1, lcTempBMP2, lcFileBMP3, lcFileBMP4, lcFileBMP5, lcFileBMP6, lcFileBMP7, lcFileBMP8, lcFileBMP9, lcFileBMP10, lcFileBMP11 THIS.DeleteBMP lcTempBMP1 = THIS.TempPath() + SYS(2015) + ".TMP" lcTempBMP2 = THIS.TempPath() + SYS(2015) + ".TMP" lcTempBMP3 = THIS.TempPath() + SYS(2015) + ".TMP" lcTempBMP4 = THIS.TempPath() + SYS(2015) + ".TMP" lcTempBMP5 = THIS.TempPath() + SYS(2015) + ".TMP" lcTempBMP6 = THIS.TempPath() + SYS(2015) + ".TMP" lcTempBMP7 = THIS.TempPath() + SYS(2015) + ".TMP" WITH _SCREEN.SYSTEM.Drawing *-- Fondo de los grupos IF THIS.SeeOutlineGroup oBMP = .BITMAP.New(1, 120) oGFX = .Graphics.FromImage(oBMP) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,24), ; .COLOR.FromRGB(THIS.BackColor1), ; .COLOR.FromRGB(THIS.BackColor2), 1) oGFX.FillRectangle(oBrush,0,0,1,24) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,24,24,96), ; .COLOR.FromRGB(THIS.BackColor2), ; .COLOR.FromRGB(THIS.BackColor1), 1) oGFX.FillRectangle(oBrush,0,24,24,96) oBMP.SAVE(lcTempBMP1,.Imaging.ImageFormat.Bmp) THIS.cFileBMP1 = lcTempBMP1 ELSE oBMP = .BITMAP.New(1, 120) oGFX = .Graphics.FromImage(oBMP) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,120), ; .COLOR.FromRGB(THIS.BackColor1), ; .COLOR.FromRGB(THIS.BackColor2), 1) oGFX.FillRectangle(oBrush,0,0,1,120) oBMP.SAVE(lcTempBMP1,.Imaging.ImageFormat.Bmp) THIS.cFileBMP1 = lcTempBMP1 ENDIF *--Fonde de los botenes seleccionados oBMP = .BITMAP.New(1, 66) oGFX = .Graphics.FromImage(oBMP) DO CASE CASE THIS.nTheme = 1 oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,45), ; .COLOR.FromRGB(THIS.SelectedColor1), ; .COLOR.FromRGB(THIS.SelectedColor2), 1) oGFX.FillRectangle(oBrush,0,0,1,45) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,26,26,50), ; .COLOR.FromRGB(THIS.SelectedColor2), ; .COLOR.FromRGB(THIS.SelectedColor1), 1) oGFX.FillRectangle(oBrush,0,26,26,50) CASE THIS.nTheme = 2 oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,33,33,33), ; .COLOR.FromRGB(THIS.SelectedColor1), ; .COLOR.FromRGB(THIS.SelectedColor2), 1) oGFX.FillRectangle(oBrush,0,33,33,33) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,34), ; .COLOR.FromRGB(THIS.SelectedColor2), ; .COLOR.FromRGB(THIS.SelectedColor1), 1) oGFX.FillRectangle(oBrush,0,0,1,34) CASE THIS.nTheme = 3 oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,33,33,33), ; .COLOR.FromRGB(THIS.SelectedColor2), ; .COLOR.FromRGB(THIS.SelectedColor1), 1) oGFX.FillRectangle(oBrush,0,33,33,33) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,34), ; .COLOR.FromRGB(THIS.SelectedColor1), ; .COLOR.FromRGB(THIS.SelectedColor2), 1) oGFX.FillRectangle(oBrush,0,0,1,34) CASE THIS.nTheme = 4 oBMP = .BITMAP.New(1, 66) oGFX = .Graphics.FromImage(oBMP) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,66), ; .COLOR.FromRGB(THIS.SelectedColor2), ; .COLOR.FromRGB(THIS.SelectedColor1), 1) oGFX.FillRectangle(oBrush,0,0,1,66) CASE THIS.nTheme = 5 oBMP = .BITMAP.New(1, 66) oGFX = .Graphics.FromImage(oBMP) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,66), ; .COLOR.FromRGB(THIS.SelectedColor1), ; .COLOR.FromRGB(THIS.SelectedColor2), 1) oGFX.FillRectangle(oBrush,0,0,1,66) ENDCASE oBMP.SAVE(lcTempBMP2,.Imaging.ImageFormat.Bmp) THIS.cFileBMP2 = lcTempBMP2 *--Fondo de las pestaas oBMP = .BITMAP.New(1, 60) oGFX = .Graphics.FromImage(oBMP) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,60), ; .COLOR.FromRGB(THIS.BackColor2), ; .COLOR.FromRGB(THIS.SelectedColor2), 1) oGFX.FillRectangle(oBrush,0,0,1,60) oBMP.SAVE(lcTempBMP3,.Imaging.ImageFormat.Bmp) THIS.cFileBMP3 = lcTempBMP3 *--Fondo botones con click oBMP = .BITMAP.New(1, 66) oGFX = .Graphics.FromImage(oBMP) DO CASE CASE THIS.nTheme = 1 oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,45), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.SelectedColor1, -8)), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.SelectedColor2, -13)), 1) oGFX.FillRectangle(oBrush,0,0,1,45) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,26,26,50), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.SelectedColor2, -8)), ; .COLOR.FromRGB(THIS.SelectedColor1), 1) oGFX.FillRectangle(oBrush,0,26,26,50) CASE THIS.nTheme = 2 oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,33,33,33), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.SelectedColor1, -8)), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.SelectedColor2, -8)), 1) oGFX.FillRectangle(oBrush,0,33,33,33) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,34), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.SelectedColor2, -8)), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.SelectedColor1, -8)), 1) oGFX.FillRectangle(oBrush,0,0,1,34) CASE THIS.nTheme = 3 oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,33,33,33), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.SelectedColor2, -8)), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.SelectedColor1, -8)), 1) oGFX.FillRectangle(oBrush,0,33,33,33) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,34), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.SelectedColor1, -8)), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.SelectedColor2, -8)), 1) oGFX.FillRectangle(oBrush,0,0,1,34) CASE THIS.nTheme = 4 oBMP = .BITMAP.New(1, 66) oGFX = .Graphics.FromImage(oBMP) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,66), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.SelectedColor2, -8)), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.SelectedColor1, -8)), 1) oGFX.FillRectangle(oBrush,0,0,1,66) CASE THIS.nTheme = 5 oBMP = .BITMAP.New(1, 66) oGFX = .Graphics.FromImage(oBMP) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,66), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.SelectedColor1, -8)), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.SelectedColor2, -8)), 1) oGFX.FillRectangle(oBrush,0,0,1,66) ENDCASE oBMP.SAVE(lcTempBMP4,.Imaging.ImageFormat.Bmp) THIS.cFileBMP4 = lcTempBMP4 oBMP = .BITMAP.New(1, 120) oGFX = .Graphics.FromImage(oBMP) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,24), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.BackColor1, 20)), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.BackColor2, 20)), 1) oGFX.FillRectangle(oBrush,0,0,1,24) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,24,24,96), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.BackColor2, 20)), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.BackColor1, 20)), 1) oGFX.FillRectangle(oBrush,0,24,24,96) oBMP.SAVE(lcTempBMP5,.Imaging.ImageFormat.Bmp) THIS.cFileBMP5 = lcTempBMP5 *--TitleBar, StatusBar and Buttons oBMP = .BITMAP.New(1, 66) oGFX = .Graphics.FromImage(oBMP) DO CASE CASE THIS.nTheme = 1 oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,45), ; .COLOR.FromRGB(THIS.BackColor2), ; .COLOR.FromRGB(THIS.BackGround), 1) oGFX.FillRectangle(oBrush,0,0,1,45) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,26,26,50), ; .COLOR.FromRGB(THIS.BackGround), ; .COLOR.FromRGB(THIS.BackColor2), 1) oGFX.FillRectangle(oBrush,0,26,26,50) CASE THIS.nTheme = 2 oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,33,33,33), ; .COLOR.FromRGB(THIS.BackGround), ; .COLOR.FromRGB(THIS.BackColor2), 1) oGFX.FillRectangle(oBrush,0,33,33,33) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,34), ; .COLOR.FromRGB(THIS.BackColor2), ; .COLOR.FromRGB(THIS.BackGround), 1) oGFX.FillRectangle(oBrush,0,0,1,34) CASE THIS.nTheme = 3 oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,33,33,33), ; .COLOR.FromRGB(THIS.BackColor2), ; .COLOR.FromRGB(THIS.BackGround), 1) oGFX.FillRectangle(oBrush,0,33,33,33) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,34), ; .COLOR.FromRGB(THIS.BackGround), ; .COLOR.FromRGB(THIS.BackColor2), 1) oGFX.FillRectangle(oBrush,0,0,1,34) CASE THIS.nTheme = 4 oBMP = .BITMAP.New(1, 66) oGFX = .Graphics.FromImage(oBMP) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,66), ; .COLOR.FromRGB(THIS.BackColor1), ; .COLOR.FromRGB(THIS.BackGround), 1) oGFX.FillRectangle(oBrush,0,0,1,66) CASE THIS.nTheme = 5 oBMP = .BITMAP.New(1, 66) oGFX = .Graphics.FromImage(oBMP) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,66), ; .COLOR.FromRGB(THIS.BackGround), ; .COLOR.FromRGB(THIS.BackColor1), 1) oGFX.FillRectangle(oBrush,0,0,1,66) ENDCASE oBMP.SAVE(lcTempBMP6,.Imaging.ImageFormat.Bmp) THIS.cFileBMP6 = lcTempBMP6 *--CommandButtons oBMP = .BITMAP.New(1, 66) oGFX = .Graphics.FromImage(oBMP) DO CASE CASE THIS.nTheme = 1 oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,45), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.BackColor2, 10)), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.BackGround, 10)), 1) oGFX.FillRectangle(oBrush,0,0,1,45) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,26,26,50), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.BackGround, 10)), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.BackColor2, 10)), 1) oGFX.FillRectangle(oBrush,0,26,26,50) CASE THIS.nTheme = 2 oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,33,33,33), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.BackColor2, 10)), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.BackGround, 10)), 1) oGFX.FillRectangle(oBrush,0,33,33,33) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,34), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.BackGround, 10)), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.BackColor2, 10)), 1) oGFX.FillRectangle(oBrush,0,0,1,34) CASE THIS.nTheme = 3 oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,33,33,33), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.BackGround, 10)), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.BackColor2, 10)), 1) oGFX.FillRectangle(oBrush,0,33,33,33) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,34), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.BackColor2, 10)), ; .COLOR.FromRGB(THIS.ChangeColor(THIS.BackGround, 10)), 1) oGFX.FillRectangle(oBrush,0,0,1,34) CASE THIS.nTheme = 4 oBMP = .BITMAP.New(1, 66) oGFX = .Graphics.FromImage(oBMP) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,66), ; .COLOR.FromRGB(THIS.BackGround), ; .COLOR.FromRGB(THIS.BackColor1), 1) oGFX.FillRectangle(oBrush,0,0,1,66) CASE THIS.nTheme = 5 oBMP = .BITMAP.New(1, 66) oGFX = .Graphics.FromImage(oBMP) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,66), ; .COLOR.FromRGB(THIS.BackColor1), ; .COLOR.FromRGB(THIS.BackGround), 1) oGFX.FillRectangle(oBrush,0,0,1,66) ENDCASE oBMP.SAVE(lcTempBMP7,.Imaging.ImageFormat.Bmp) THIS.cFileBMP7 = lcTempBMP7 THIS.DrawGradient() ENDWITH RELEASE oBMP, oGFX, oBrush ENDPROC PROCEDURE changecolor PARAMETERS tnRGB, tnLevel IF tnLevel = 0 RETURN tnRGB ENDIF tnLevel = tnLevel / 100 LOCAL lnRed, lnGreen, lnBlue lnRed = BITAND(tnRGB, 0x000000FF) lnGreen = BITRSHIFT(BITAND(tnRGB, 0x0000FF00), 8) lnBlue = BITRSHIFT(BITAND(tnRGB, 0x00FF0000), 16) IF tnLevel > 0 RETURN RGB( ; lnRed + ((255 - lnRed) * tnLevel) , ; lnGreen + ((255 - lnGreen) * tnLevel) , ; lnBlue + ((255 - lnBlue) * tnLevel) ) ELSE RETURN RGB( ; lnRed + (lnRed * tnLevel) , ; lnGreen + (lnGreen * tnLevel) , ; lnBlue + (lnBlue * tnLevel) ) ENDIF ENDPROC PROCEDURE deletebmp TRY WITH THIS IF FILE(.cFileBMP1) DELETE FILE (.cFileBMP1) ENDIF IF FILE(.cFileBMP2) DELETE FILE (.cFileBMP2) ENDIF IF FILE(.cFileBMP3) DELETE FILE (.cFileBMP3) ENDIF IF FILE(.cFileBMP4) DELETE FILE (.cFileBMP4) ENDIF IF FILE(.cFileBMP5) DELETE FILE (.cFileBMP5) ENDIF IF FILE(.cFileBMP6) DELETE FILE (.cFileBMP6) ENDIF IF FILE(.cFileBMP7) DELETE FILE (.cFileBMP7) ENDIF IF FILE(.cFileBMP8) DELETE FILE (.cFileBMP8) ENDIF IF FILE(.cFileBMP9) DELETE FILE (.cFileBMP9) ENDIF IF FILE(.cFileBMP10) DELETE FILE (.cFileBMP10) ENDIF IF FILE(.cFileBMP11) DELETE FILE (.cFileBMP11) ENDIF ENDWITH CATCH ENDTRY ENDPROC PROCEDURE translate PARAMETERS tcId, tcDefaultText LOCAL lcReturnTxt IF VARTYPE(tcId) = "N" tcId = TRANSFORM(tcId) ENDIF IF PCOUNT()<2 tcDefaultText = "" ENDIF IF EMPTY(tcId) RETURN tcDefaultText ENDIF lcReturnTxt = THIS.ReadFileIni("lng\" + THIS.LANGUAGE + ".lng","Text", tcId) IF EMPTY(lcReturnTxt) OR ISNULL(lcReturnTxt) lcReturnTxt = IIF(!EMPTY(tcDefaultText), tcDefaultText, "") ENDIF RETURN lcReturnTxt ENDPROC PROCEDURE ntorgb PARAMETERS tnColor LOCAL lcRGB, ln lcRGB="RGB(" FOR ln=1 TO 3 lcRGB=lcRGB+ALLTRIM(TRAN(tnColor%256,"999"))+IIF(ln=3, "", ",") tnColor=INT(tnColor/256) ENDFOR lcRGB=lcRGB+")" RETURN lcRGB ENDPROC PROCEDURE c_cdateex PARAMETERS tdDate, tnFormat *-- By Carlos Alloatti LOCAL lcDate, lcBuffer, lnBufferLen, lnRetVal IF NOT VARTYPE(m.tdDate) $ [DT] THEN m.tdDate = DATE() ENDIF IF VARTYPE(m.tnFormat) = [C] AND UPPER(m.tnFormat) $ "SC" THEN m.tnFormat = 1 ENDIF IF NOT VARTYPE(m.tnFormat) = [N] THEN m.tnFormat = 2 ENDIF IF NOT BETWEEN(m.tnFormat,1,2) THEN m.tnFormat = 2 ENDIF m.lcDate = ; BINTOC(YEAR(m.tdDate),[2RS]) + ; BINTOC(MONTH(m.tdDate),[2RS]) + ; BINTOC(DOW(m.tdDate,2),[2RS]) + ; BINTOC(DAY(m.tdDate),[2RS]) + ; REPLICATE(CHR(0),8) m.lcBuffer = SPACE(254) m.lnBufferLen = 254 m.lnRetVal = GetDateFormat_CDATEEX(1024, m.tnFormat, ; @m.lcDate, 0, @m.lcBuffer, m.lnBufferLen) m.lcBuffer = LEFT(m.lcBuffer, m.lnRetVal - 1) RETURN m.lcBuffer ENDPROC PROCEDURE c_cdowex PARAMETERS tdDate, tnFormat *-- By Carlos Alloatti LOCAL lnType, lcBuffer, lnBufferLen, lnRetVal IF VARTYPE(m.tnFormat) = [C] AND UPPER(m.tnFormat) $ "SC" THEN m.tnFormat = 1 ENDIF IF NOT VARTYPE(m.tnFormat) = [N] THEN m.tnFormat = 2 ENDIF IF NOT BETWEEN(m.tnFormat, 1, 2) THEN m.tnFormat = 2 ENDIF IF VARTYPE(m.tdDate) = [N] AND BETWEEN(m.tdDate, 1, 7) m.lnType = m.tdDate + IIF(m.tnFormat = 1, 48, 41) ELSE IF NOT VARTYPE(m.tdDate) $ [DT] THEN m.tdDate = DATE() ENDIF m.lnType = DOW(m.tdDate,2) + IIF(m.tnFormat = 1, 48, 41) ENDIF m.lcBuffer = SPACE(254) lnRetVal = GetLocaleInfo(1024, m.lnType, @m.lcBuffer, 254) m.lcBuffer = LEFT(m.lcBuffer, m.lnRetVal - 1) RETURN m.lcBuffer ENDPROC PROCEDURE c_cmonthex PARAMETERS tdDate, tnFormat *-- By Carlos Alloatti LOCAL lnType, lcBuffer, lnBufferLen, lnRetVal IF VARTYPE(m.tnFormat) = [C] AND UPPER(m.tnFormat) $ "SC" THEN m.tnFormat = 1 ENDIF IF NOT VARTYPE(m.tnFormat) = [N] THEN m.tnFormat = 2 ENDIF IF NOT BETWEEN(m.tnFormat, 1, 2) THEN m.tnFormat = 2 ENDIF IF VARTYPE(m.tdDate) = [N] AND BETWEEN(m.tdDate, 1, 12) m.lnType = m.tdDate + IIF(m.tnFormat = 1, 67, 55) ELSE IF NOT VARTYPE(m.tdDate) $ [DT] THEN m.tdDate = DATE() ENDIF m.lnType = MONTH(m.tdDate) + IIF(m.tnFormat = 1, 67, 55) ENDIF m.lcBuffer = SPACE(254) lnRetVal = GetLocaleInfo(1024, m.lnType, @m.lcBuffer, 254) m.lcBuffer = LEFT(m.lcBuffer, m.lnRetVal - 1) RETURN m.lcBuffer ENDPROC PROCEDURE redraw THIS.DrawBMP() THIS.DrawGradient() ENDPROC PROCEDURE msgbox PARAMETERS tcTitle, tcText, tnTime, tlBeep oMsgBox = CREATEOBJECT("RibbonFormMsgBox", tcTitle, tcText, tnTime, tlBeep) oMsgBox.VISIBLE = .T. THIS.LastOpenForm = oMsgBox ENDPROC PROCEDURE waiton PARAMETERS tcTitle, tcText PUBLIC oFormWait oFormWait = CREATEOBJECT("RibbonFormWait", tcTitle, tcText) oFormWait.VISIBLE = .T. THIS.LastOpenForm = oFormWait ENDPROC PROCEDURE waitoff IF VARTYPE(THIS.LastOpenForm) = "O" AND ; UPPER(THIS.LastOpenForm.NAME) = "RIBBONFORMWAIT" RELEASE oFormWait RELEASE WINDOWS (THIS.LastOpenForm.NAME) ENDIF ENDPROC PROCEDURE waitrefresh PARAMETERS tcText, tnProgressMax, tnProgressValue, tlPercentage IF VARTYPE(oFormWait) = "O" WITH oFormWait .RibbonLabel1.CAPTION = tcText IF VARTYPE(tnProgressMax) = "N" AND VARTYPE(tnProgressValue) = "N" ._ProgressBar1.VISIBLE = .T. ._ProgressBar1.Progress(tnProgressValue, tnProgressMax, tlPercentage) ENDIF .REFRESH() ENDWITH ENDIF ENDPROC PROCEDURE messagebox *-- Parameters: *-- TcCaption - The text that appears in the dialog box. *-- TnIcon - The icon to display, can be numeric with the same values ??used by the function MESSAGEBOX (), or character: *-- Icon Error: 16 or "x" *-- Icon Enterrogacin: 32 or "?" *-- Icon: 48 or "!" *-- Information Icon: 64 or "i" *-- TcTitle - The text that appears in the title bar of the dialog box *-- TcButtons - The texts used in the buttons using the comma "," as a delimiter. Use the characters "\<" to determine the HotKey *-- TcIconFile - (optional) file icon image *-- Return values: *-- "X" of the form or ESC = 0 *-- Button 1 = 1 *-- Button 2 = 2 *-- Button 3 = 3 *-- After the tnTimeOut = -1 PARAMETERS tcCaption, txIcon, tcTitle, tcButtons, tcIconFile, tnTimeOut LOCAL oForm oForm = CREATEOBJECT("_MessageBox" , tcCaption, txIcon, tcTitle, tcButtons, tcIconFile, tnTimeOut) oForm.SHOW(1) RETURN _SCREEN.oRibbon.nOptionMessageBox ENDPROC PROCEDURE declareapi DECLARE INTEGER SystemParametersInfo IN user32; INTEGER uiAction, INTEGER uiParam,; STRING @pvParam, INTEGER fWinIni DECLARE LONG SendMessage IN "User32"; LONG HANDLE, LONG wMsg, ; LONG wParam, LONG LPARAM DECLARE LONG SetWindowPos IN WIN32API LONG, LONG, LONG, LONG, LONG, LONG, LONG DECLARE LONG ClientToScreen IN WIN32API LONG, STRING @ DECLARE LONG SetParent IN WIN32API LONG, LONG DECLARE LONG GetClassLong IN WIN32API LONG, LONG DECLARE LONG SetClassLong IN WIN32API LONG, LONG, LONG DECLARE LONG SetWindowLongA IN WIN32API LONG, LONG, LONG DECLARE LONG GetWindowLongA IN WIN32API LONG, LONG DECLARE INTEGER CreateRectRgn IN gdi32; INTEGER nLeftRect, INTEGER nTopRect,; INTEGER nRightRect, INTEGER nBottomRect DECLARE INTEGER CreateRoundRectRgn IN gdi32; INTEGER nLeftRect, INTEGER nTopRect,; INTEGER nRightRect, INTEGER nBottomRect,; INTEGER nWidthEllipse, INTEGER nHeightEllipse DECLARE INTEGER SetWindowRgn IN user32; INTEGER HWND, INTEGER hRgn, SHORT bRedraw DECLARE INTEGER SetWindowLong IN Win32Api ; INTEGER HWND, INTEGER INDEX, INTEGER NewVal DECLARE INTEGER SetLayeredWindowAttributes IN Win32Api ; INTEGER HWND, STRING ColorKey, ; INTEGER Opacity, INTEGER FLAGS DECLARE INTEGER GetDateFormat ; IN kernel32 AS GetDateFormat_CDATEEX ; INTEGER Locale, ; INTEGER dwFlags, ; STRING @lpDate, ; INTEGER lpFormat, ; STRING @lpDateStr, ; INTEGER cchDate DECLARE INTEGER GetLocaleInfo ; IN kernel32 ; INTEGER Locale, ; INTEGER LCType, ; STRING lpLCData, ; INTEGER cchData DECLARE INTEGER GetPrivateProfileString ; IN WIN32API ; STRING cSection,; STRING cEntry,; STRING cDefault,; STRING @cRetVal,; INTEGER nSize,; STRING cFileName DECLARE INTEGER GetTempPath IN WIN32API ; INTEGER nBufSize, ; STRING @cPathName DECLARE INTEGER GetPrivateProfileString ; IN WIN32API ; STRING cSection,; STRING cEntry,; STRING cDefault,; STRING @cRetVal,; INTEGER nSize,; STRING cFileName DECLARE INTEGER WritePrivateProfileString ; IN WIN32API ; STRING cSection,STRING cEntry,STRING cEntry,; STRING cFileName *DECLARE Sleep IN WIN32API INTEGER Duration ENDPROC PROCEDURE drawgradient LOCAL lcFileBMP8, lcFileBMP9, lcFileBMP10, lcFileBMP11 TRY WITH THIS IF FILE(.cFileBMP8) DELETE FILE (.cFileBMP8) ENDIF IF FILE(.cFileBMP9) DELETE FILE (.cFileBMP9) ENDIF IF FILE(.cFileBMP10) DELETE FILE (.cFileBMP10) ENDIF IF FILE(.cFileBMP11) DELETE FILE (.cFileBMP11) ENDIF ENDWITH CATCH ENDTRY lcTempBMP8 = THIS.TempPath() + SYS(2015) + ".TMP" lcTempBMP9 = THIS.TempPath() + SYS(2015) + ".TMP" lcTempBMP10 = THIS.TempPath() + SYS(2015) + ".TMP" lcTempBMP11 = THIS.TempPath() + SYS(2015) + ".TMP" WITH _SCREEN.SYSTEM.Drawing *--Vertical _gradient oBMP = .BITMAP.New(1, 120) oGFX = .Graphics.FromImage(oBMP) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,120), ; .COLOR.FromRGB(THIS.FormBackColor), ; .COLOR.FromRGB(THIS.BackGround), 1) oGFX.FillRectangle(oBrush,0,0,1,120) oBMP.SAVE(lcTempBMP8,.Imaging.ImageFormat.Bmp) THIS.cFileBMP8 = lcTempBMP8 oBMP.SAVE(lcTempBMP8,.Imaging.ImageFormat.Bmp) THIS.cFileBMP8 = lcTempBMP8 *--SwapColors oBMP = .BITMAP.New(1, 120) oGFX = .Graphics.FromImage(oBMP) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,1,120), ; .COLOR.FromRGB(THIS.BackGround), ; .COLOR.FromRGB(THIS.FormBackColor), 1) oGFX.FillRectangle(oBrush,0,0,1,120) oBMP.SAVE(lcTempBMP9,.Imaging.ImageFormat.Bmp) THIS.cFileBMP9 = lcTempBMP9 oBMP.SAVE(lcTempBMP9,.Imaging.ImageFormat.Bmp) THIS.cFileBMP9 = lcTempBMP9 *--Horizontal _gradient oBMP = .BITMAP.New(120, 1) oGFX = .Graphics.FromImage(oBMP) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,120,1), ; .COLOR.FromRGB(THIS.FormBackColor), ; .COLOR.FromRGB(THIS.BackGround), 0) oGFX.FillRectangle(oBrush,0,0,120,1) oBMP.SAVE(lcTempBMP10,.Imaging.ImageFormat.Bmp) THIS.cFileBMP10 = lcTempBMP10 oBMP.SAVE(lcTempBMP10,.Imaging.ImageFormat.Bmp) THIS.cFileBMP10 = lcTempBMP10 *--SwapColors oBMP = .BITMAP.New(120, 1) oGFX = .Graphics.FromImage(oBMP) oBrush = .Drawing2D.LinearGradientBrush.New( ; .Rectangle.New(0,0,120,1), ; .COLOR.FromRGB(THIS.BackGround), ; .COLOR.FromRGB(THIS.FormBackColor), 0) oGFX.FillRectangle(oBrush,0,0,120,1) oBMP.SAVE(lcTempBMP11,.Imaging.ImageFormat.Bmp) THIS.cFileBMP11 = lcTempBMP11 oBMP.SAVE(lcTempBMP11,.Imaging.ImageFormat.Bmp) THIS.cFileBMP11 = lcTempBMP11 *-- ENDWITH ENDPROC PROCEDURE Init WITH THIS .DeclareApi() .Settings() .Redraw() ENDWITH ENDPROC PROCEDURE Destroy THIS.DeleteBMP ENDPROC OPROCEDURE redraw WITH THIS .Shape1.BORDERCOLOR = _SCREEN.oRibbon.LinesColor .Shape1.BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.backcolor1, _SCREEN.oRibbon.nFactorBackcolor) .Shape2.BORDERCOLOR = IIF(THIS.PARENT.lCurvature,_SCREEN.oRibbon.BackColor2, _SCREEN.oRibbon.LinesColor) .Shape2.BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.backcolor1, _SCREEN.oRibbon.nFactorBackcolor) .image2.PICTURE = _SCREEN.oRibbon.cFileBMP7 ENDWITH WITH THIS.RibbonLabel1 .ReDraw() .FORECOLOR = IIF(THIS.Image2.VISIBLE,_SCREEN.oRibbon.TabFontColor, _SCREEN.oRibbon.SelectedTabFontColor) .FONTNAME = _SCREEN.oRibbon.cFontName THIS.Command1.CAPTION = .CAPTION ENDWITH WITH THIS.RibbonLabel2 .ReDraw() .FORECOLOR = IIF(THIS.Image2.VISIBLE,_SCREEN.oRibbon.TabFontColor, _SCREEN.oRibbon.SelectedTabFontColor) .FONTNAME = _SCREEN.oRibbon.cFontName ENDWITH ENDPROC PROCEDURE MouseUp LPARAMETERS nButton, nShift, nXCoord, nYCoord LOCAL lnI, lcMacro, lnLeft WITH THIS IF ! .AutoTabClick RETURN ENDIF WITH .PARENT FOR lnI =1 TO .CONTROLCOUNT IF .CONTROLS(lnI).CLASS == "_menutabsbutton" .CONTROLS(lnI).RibbonLabel1.FORECOLOR = _SCREEN.oRibbon.TabFontColor .CONTROLS(lnI).RibbonLabel2.FORECOLOR = _SCREEN.oRibbon.TabFontColor .CONTROLS(lnI).Image2.VISIBLE = .T. ENDIF ENDFOR ENDWITH .Image2.VISIBLE = .F. .RibbonLabel1.FORECOLOR = _SCREEN.oRibbon.SelectedTabFontColor .RibbonLabel2.FORECOLOR = _SCREEN.oRibbon.SelectedTabFontColor WITH .PARENT FOR lnI = 1 TO .CONTROLCOUNT IF .CONTROLS(lnI).PARENTCLASS == "Ribbonpage" IF .CONTROLS(lnI).VISIBLE .oPreviusPage = .CONTROLS(lnI).NAME ENDIF .CONTROLS(lnI).VISIBLE = .F. .CONTROLS(lnI).LEFT = THIS.Parent.ShapeTabs.LEFT ENDIF ENDFOR ENDWITH .PARENT.oLastClick = THIS.NAME lcMacro = .PageClass IF !EMPTY(.PageClass) **- ShowAnimation Page IF _SCREEN.oRibbon.ShowAnimationPage AND .PARENT.ShowAnimationPage AND .PARENT.oLastPage # THIS.PARENT. &lcMacro .NAME .PARENT.oLastPage = THIS.PARENT. &lcMacro .NAME lnLeft = .Parent.WIDTH .PARENT. &lcMacro .LEFT = lnLeft .PARENT. &lcMacro .VISIBLE = .T. .PARENT.Timer1.ENABLED = .T. ENDIF **- .PARENT. &lcMacro .VISIBLE = .T. ENDIF ENDWITH ENDPROC PROCEDURE Init LOCAL llLeft WITH THIS llLeft = IIF(.LEFT <= .Parent.ShapeTabs.LEFT, .T., .F.) .BACKSTYLE = 0 .BORDERWIDTH = 0 .LEFT = IIF(llLeft, .LEFT, .LEFT - 1) .WIDTH = IIF(llLeft, .WIDTH, .WIDTH + 1) ENDWITH WITH THIS.Shape1 .CURVATURE = IIF(THIS.PARENT.lCurvature, 7, 0) .LEFT = IIF(llLeft, 0, -3) .TOP = 0 .HEIGHT = THIS.HEIGHT .WIDTH = THIS.WIDTH + 3 .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.backcolor1, _SCREEN.oRibbon.nFactorBackcolor) .ZORDER(0) ENDWITH WITH THIS.Shape2 .CURVATURE = 0 .LEFT = IIF(llLeft, 0, -3) .TOP = 0 .HEIGHT = THIS.HEIGHT .WIDTH = THIS.WIDTH + 3 .BORDERCOLOR = IIF(THIS.PARENT.lCurvature,_SCREEN.oRibbon.BackColor2, _SCREEN.oRibbon.LinesColor) .BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.backcolor1, _SCREEN.oRibbon.nFactorBackcolor) .ZORDER(1) ENDWITH WITH THIS.image2 .LEFT = 2 + IIF(llLeft, 0, -3) .TOP = 2 .HEIGHT = THIS.HEIGHT - 4 .WIDTH = THIS.WIDTH - 4 + 3 .PICTURE = _SCREEN.oRibbon.cFileBMP7 .ZORDER(0) .VISIBLE = .T. ENDWITH WITH THIS.RibbonLabel1 .FORECOLOR = _SCREEN.oRibbon.TabFontColor .FONTNAME = _SCREEN.oRibbon.cFontName .ZORDER(0) .TABINDEX = 2 ENDWITH WITH THIS.RibbonLabel2 .FORECOLOR = _SCREEN.oRibbon.TabFontColor .FONTNAME = _SCREEN.oRibbon.cFontName .ZORDER(0) .VISIBLE = IIF(.CAPTION = "Auxiliary Label", .F., .T.) ENDWITH WITH THIS.Image1 .VISIBLE = IIF(EMPTY(.PICTURE) OR !FILE(.PICTURE), .F., .T.) .ZORDER(0) ENDWITH WITH THIS.command1 .LEFT = -2 .TOP = -2 .HEIGHT = THIS.HEIGHT + 4 .WIDTH = THIS.WIDTH + 4 .CAPTION = THIS.RibbonLabel1.CAPTION .ZORDER(0) .TABINDEX = 1 ENDWITH ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH THIS IF _SCREEN.oRibbon.AutoTabClick AND .AutoTabClick .MOUSEUP() ELSE .Image2.PICTURE = _SCREEN.oRibbon.cFileBMP2 ENDIF ENDWITH ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH THIS .image2.PICTURE = _SCREEN.oRibbon.cFileBMP7 ENDWITH ENDPROC FPROCEDURE thisenabled PARAMETERS tlEnabled WITH THIS IF PCOUNT() = 1 .ENABLED = tlEnabled ENDIF .Ribbonlabel1.ENABLED = .ENABLED .Ribbonlabel2.ENABLED = .ENABLED .Marlett.ENABLED = .ENABLED IF .ENABLED .Image1.PICTURE = THIS.EnabledPicture .MOUSELEAVE() ELSE .Image1.PICTURE = ADDBS(JUSTPATH(.Image1.PICTURE)) + JUSTFNAME(.DISABLEDPICTURE) .Image2.VISIBLE = IIF(.BORDER AND .ENABLED, .T., .F.) .Shape1.VISIBLE = .BORDER .xShape2.VISIBLE = .BORDER ENDIF ENDWITH ENDPROC PROCEDURE redraw WITH THIS .Shape1.BORDERCOLOR = IIF(THIS.BORDER,_SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.LinesColor, - 25), ; _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.SelectedColor2, - 20)) .xShape2.BORDERCOLOR = IIF(THIS.BORDER,_SCREEN.oRibbon.Backcolor2, _SCREEN.oRibbon.SelectedColor1) IF ! .SwapColors .Image2.PICTURE = IIF(.BORDER, _SCREEN.oRibbon.cFileBMP7, _SCREEN.oRibbon.cFileBMP2) ELSE .Image2.PICTURE = IIF(.BORDER, _SCREEN.oRibbon.cFileBMP2, _SCREEN.oRibbon.cFileBMP7) ENDIF .Marlett.FORECOLOR = _SCREEN.oRibbon.ButtonFontColor .Image2.VISIBLE = .BORDER .Shape1.VISIBLE = .BORDER .xShape2.VISIBLE = .BORDER .Shape1.Curvature = IIF(.lCurvature, 2, 0) .xShape2.Curvature = IIF(.lCurvature, 2, 0) ENDWITH WITH THIS.RibbonLabel1 .ReDraw() .FORECOLOR = IIF(THIS.SwapColors,_SCREEN.oRibbon.SelectedButtonFontColor, _SCREEN.oRibbon.ButtonFontColor) .FONTNAME = _SCREEN.oRibbon.cFontName THIS.Command1.CAPTION = .CAPTION ENDWITH WITH THIS.RibbonLabel2 .ReDraw() .FORECOLOR = IIF(THIS.SwapColors,_SCREEN.oRibbon.SelectedButtonFontColor, _SCREEN.oRibbon.ButtonFontColor) .FONTNAME = _SCREEN.oRibbon.cFontName .VISIBLE = IIF(UPPER(.CAPTION) = "FX", .F., .T.) ENDWITH IF NOT EMPTY(this.cSkipforexp) this.thisenabled(NOT EVALUATE(this.cSkipForExp)) ENDIF ENDPROC PROCEDURE cancel_assign *-- Thanks to Claudio Luna (Uruguay) LPARAMETERS vNewVal *To do: Modify this routine for the Assign method THIS.CANCEL = m.vNewVal THIS.command1.CANCEL = THIS.CANCEL ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.command1.MOUSELEAVE() ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord THIS.command1.MOUSEENTER() ENDPROC PROCEDURE Init ADDPROPERTY(THIS, "HelpObj") WITH THIS .ADDPROPERTY("EnabledPicture", THIS.Image1.PICTURE) .BACKSTYLE = 0 .BORDERWIDTH = 0 IF .CLASS = "RIBBONBUTTONV" .TOP = 3 ENDIF .ZORDER(0) ENDWITH WITH THIS.image2 .LEFT = 1 .TOP = 1 .HEIGHT = THIS.HEIGHT - 2 .WIDTH = THIS.WIDTH - 2 IF ! THIS.SwapColors .PICTURE = IIF(THIS.BORDER, _SCREEN.oRibbon.cFileBMP7, _SCREEN.oRibbon.cFileBMP2) ELSE .PICTURE = IIF(THIS.BORDER, _SCREEN.oRibbon.cFileBMP2, _SCREEN.oRibbon.cFileBMP7) ENDIF .VISIBLE = THIS.BORDER .ANCHOR = THIS.ANCHOR .ZORDER(1) ENDWITH WITH THIS.shape1 .CURVATURE = IIF(THIS.lCurvature, 5, 0) .LEFT = 0 .TOP = 0 .HEIGHT = THIS.HEIGHT .WIDTH = THIS.WIDTH .BORDERCOLOR = IIF(THIS.BORDER,_SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.LinesColor, - 25), ; _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.SelectedColor2, - 20)) .ANCHOR = THIS.ANCHOR .ZORDER(0) .VISIBLE = THIS.BORDER ENDWITH WITH THIS.xShape2 .CURVATURE = IIF(THIS.lCurvature, 2, 0) .LEFT = 1 .TOP = 1 .HEIGHT = THIS.HEIGHT - 2 .WIDTH = THIS.WIDTH - 2 .BORDERCOLOR = IIF(THIS.BORDER,_SCREEN.oRibbon.Backcolor2, _SCREEN.oRibbon.SelectedColor1) .ANCHOR = THIS.ANCHOR .ZORDER(0) .VISIBLE = THIS.BORDER ENDWITH WITH THIS.RibbonLabel1 .FORECOLOR = IIF(THIS.SwapColors,_SCREEN.oRibbon.SelectedButtonFontColor, _SCREEN.oRibbon.ButtonFontColor) .FONTNAME = _SCREEN.oRibbon.cFontName .ZORDER(0) ENDWITH WITH THIS.RibbonLabel2 .FORECOLOR = IIF(THIS.SwapColors,_SCREEN.oRibbon.SelectedButtonFontColor, _SCREEN.oRibbon.ButtonFontColor) .FONTNAME = _SCREEN.oRibbon.cFontName .ZORDER(0) .VISIBLE = IIF(UPPER(.CAPTION) = "FX", .F., .T.) ENDWITH WITH THIS.Image1 IF EMPTY(THIS.DISABLEDPICTURE) THIS.DISABLEDPICTURE = .PICTURE ENDIF .VISIBLE = IIF(EMPTY(.PICTURE) OR !FILE(.PICTURE), .F., .T.) .ZORDER(0) ENDWITH WITH THIS.command1 .LEFT = 2 .TOP = 2 .HEIGHT = THIS.HEIGHT - 4 .WIDTH = THIS.WIDTH - 4 .CAPTION = THIS.RibbonLabel1.CAPTION .TABSTOP = THIS.TABSTOP .CANCEL = THIS.CANCEL .ANCHOR = THIS.ANCHOR .ZORDER(0) ENDWITH WITH THIS IF !EMPTY(.PanelClass) THISFORM.NEWOBJECT(.PanelClass, .PanelClass) ENDIF .Marlett.VISIBLE = IIF(EMPTY(.PanelClass) AND EMPTY(.Path_Form_Menu), .F., .T.) .Marlett.FORECOLOR = _SCREEN.oRibbon.ButtonFontColor .ThisEnabled(.ENABLED) ENDWITH ENDPROC HPROCEDURE addmenuitem **************************************************************************** *$METHOD$ AddMenuItem() *$CREATED$ 01/02/2007 * *$HISTORY$ * 28/02/2008 - GZ: Added support for fixed width items and a background * picture for the pageframe *$HISTORY$ **************************************************************************** LPARAMETERS vcCaption, vcHotKey, vnWidth LOCAL lcItemName, lnLeft, lcPrevItem lcPrevItem = "MenuItem" + STRTRAN(STR(this.ItemCount,3,0), " ", "0") this.Itemcount = this.Itemcount + 1 lcItemName = "MenuItem" + STRTRAN(STR(this.ItemCount,3,0), " ", "0") this.AddObject(lcItemName, "cntMenuItem", vcCaption, vnWidth) lnLeft = IIF(this.lShowMain, 45, 5) IF this.ItemCount > 1 lnLeft = this.&lcPrevItem..Left + this.&lcPrevItem..Width ENDIF WITH this.&lcItemName. .Top = IIF(this.ltitlebar, 0, 0) .Left = lnLeft .cHotKey = IIF(EMPTY(vcHotKey),"",vcHotKey) .ItemIndex = this.Itemcount .cBaseFont = this.cBasefont .Visible = .t. ENDWITH RETURN this.&lcItemName. ENDPROC PROCEDURE hidemenuitem *************************************************************************** *$METHOD$ HideMenuItem() *$CREATED$ 30/03/2007 *************************************************************************** LPARAMETERS vnItemIndex LOCAL lcItemName lcItemName = "MenuItem" + STRTRAN(STR(vnItemIndex,3,0), " ", "0") this.&lcItemName..Visible = .f. this.Refresh() ENDPROC PROCEDURE selectmenuitem LPARAMETERS vnItemIndex, vlShowHotKeys if vnItemIndex > 0 local vname vname = "win"+alltrim(str(vnItemIndex,10,0)) &vname..show endif LOCAL lnCount, lcItemName, llSubmenu this.lshowhotkeys = vlShowHotKeys IF vnItemIndex > 0 FOR lnCount = 1 TO this.ItemCount lcItemName = "MenuItem" + STRTRAN(STR(lnCount,3,0), " ", "0") WITH this.&lcItemName. IF .lSelected AND .ItemIndex <> vnItemIndex .lSelected = .f. ELSE IF .ItemIndex = vnItemIndex AND NOT .lSelected .lSelected = .t. this.Parent.Refresh() ENDIF ENDIF ENDWITH NEXT ENDIF ENDPROC PROCEDURE redraw WITH THIS .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .BACKCOLOR = _SCREEN.oRibbon.BackColor2 .bar.BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackGround, 30) ENDWITH ENDPROC PROCEDURE Resize this.image1.Left = this.Width - 12 ENDPROC PROCEDURE Refresh ************************************************************************* *$METHOD$ Refresh() *$CREATED$ 11/02/2007 * *$HISTORY$ * 30/03/2007 - GZ: Added support for hidden menu items * 07/04/2007 - GZ: Added support for the minimized ribbon * 06/03/2008 - GZ: Changes to handle renaming the Selected property * of the menu items to lSelected. This was done when * providing support for menu level submenus *$HISTORY$ ************************************************************************* LOCAL lnCount, lcItemName, lnLeft, lnItems, lnNewSelected, ; lcPrevVisible, lcFirstVisible, llAnySelected lnLeft = IIF(this.lShowMain, 45, 5) lnItems = 0 lnNewSelected = 0 this.nMaxItemPos = 0 FOR lnCount = 1 TO this.ItemCount lcItemName = "MenuItem" + STRTRAN(STR(lnCount,3,0), " ", "0") IF this.&lcItemName..Visible lnItems = lnItems + 1 IF lnItems = 1 *-- Take note of the first visible item name for use later lcFirstVisible = lcItemName ELSE *-- If we are past the first item then adjust the left position lnLeft = this.&lcPrevVisible..Left + this.&lcPrevVisible..Width ENDIF WITH this.&lcItemName. .Refresh() .Left = lnLeft .Top = IIF(this.ltitlebar, 2, 2) IF .Left + .Width > this.nMaxitempos *-- Determine the position of the rightmost item this.nMaxItemPos = .Left + .Width ENDIF *-- Set the flag to determine if any of the visible items * are selected because if they are not we will need to * select one of them llAnySelected = (llAnySelected OR .lSelected) ENDWITH lcPrevVisible = lcItemName ELSE *-- The item is invisible but it may have been the selected item * so we need to select a different tab IF this.&lcItemName..lSelected this.&lcItemName..lSelected = .f. IF NOT EMPTY(lcPrevVisible) *-- The default selected item will be the one immediately prior * to the invisible one. lnNewSelected = this.&lcPrevVisible..ItemIndex ENDIF ENDIF ENDIF NEXT IF NOT llAnySelected AND NOT this.lMinimized *-- We need to select a new menu item becaue the none of the currently * visible menu items have been selected. IF lnNewSelected = 0 AND NOT EMPTY(lcFirstVisible) *-- We have not yet determined which menu item to select so that means * we need to default to the first visible item if there is one lnNewSelected = this.&lcFirstVisible..ItemIndex ENDIF *this.SelectMenuItem(lnNewSelected, this.lShowHotkeys) ENDIF ENDPROC PROCEDURE Init WITH THIS .ReDraw() ENDWITH ENDPROC PROCEDURE redraw LOCAL lnI WITH THIS FOR lnI = 1 TO .CONTROLCOUNT IF PEMSTATUS(.CONTROLS(lnI).CLASS, "redraw", 5) .CONTROLS(lnI).ReDraw() ENDIF ENDFOR ENDWITH WITH THIS ._Shape1.BORDERCOLOR = _SCREEN.oRibbon.LinesColor ._Shape2.BORDERCOLOR = _SCREEN.oRibbon.BackColor2 ._Shape2.BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) ._Image1.PICTURE = _SCREEN.oRibbon.cFileBMP6 .RibbonLabel1.FORECOLOR = _SCREEN.oRibbon.FontColor .Shadow.BACKCOLOR = _SCREEN.oRibbon.ShadowColor ENDWITH ENDPROC PROCEDURE Init WITH THIS .BORDERWIDTH = 0 .BACKSTYLE = 0 ENDWITH WITH THIS.RibbonLabel1 .BORDERSTYLE = 0 .FORECOLOR = _SCREEN.oRibbon.FontColor .LEFT = 3 .TOP = 3 .WIDTH = THIS.WIDTH - 6 .ZORDER(1) .ReDraw() ENDWITH WITH THIS._Image1 .PICTURE = _SCREEN.oRibbon.cFileBMP6 .LEFT = 2 .TOP = 2 *.HEIGHT = 18 .WIDTH = THIS.WIDTH - 4 .ZORDER(1) ENDWITH WITH THIS._Shape2 .BORDERCOLOR = _SCREEN.oRibbon.BackColor2 .BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .LEFT = 1 .TOP = 1 .HEIGHT = THIS.HEIGHT - 2 .WIDTH = THIS.WIDTH - 2 .ZORDER(1) ENDWITH WITH THIS._Shape1 .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .LEFT = 0 .TOP = 0 .HEIGHT = THIS.HEIGHT .WIDTH = THIS.WIDTH .ZORDER(1) ENDWITH WITH THIS.SHADOW .LEFT = 10 .TOP = 10 .HEIGHT = THIS.HEIGHT - 6 .WIDTH = THIS.WIDTH - 6 .ZORDER(1) .BACKCOLOR = _SCREEN.oRibbon.ShadowColor .VISIBLE = THIS.lShadow IF .VISIBLE THIS.WIDTH = THIS.WIDTH + 3 THIS.HEIGHT = THIS.HEIGHT + 3 ENDIF ENDWITH ENDPROC p WW% UF%9 T-6Ta CUORIBBONSEEOUTLINEGROUPTHISVISIBLE CTUTHISTOPredraw,Init1!A31z )WzPROCEDURE Init WITH THIS .BACKSTYLE = 0 .BORDERWIDTH = 0 ._Shape1.BORDERSTYLE = 0 ._Shape1.BACKCOLOR = _SCREEN.oRibbon.BackColor2 ._Shape1.LEFT = 0 ._Shape1.TOP = 0 ._Shape1.WIDTH = THIS.WIDTH + 1 ._Shape1.HEIGHT = THIS.HEIGHT ._Shape1.CURVATURE = IIF(THIS.LEFT < 10, 2, 0) .RibbonMenuSeparator1.TOP = 0 .RibbonMenuSeparator1.LEFT = 0 .RibbonMenuSeparator1.HEIGHT = THIS.HEIGHT - 1 .RibbonMenuSeparator2.TOP = 0 .RibbonMenuSeparator2.LEFT = THIS.WIDTH - 1 .RibbonMenuSeparator2.HEIGHT = THIS.HEIGHT .RibbonMenuSeparator1.ZOrder(0) .RibbonMenuSeparator2.ZOrder(0) .ZORDER(1) ENDWITH ENDPROC Top = 67 Left = 12 Width = 226 Height = 16 Visible = .F. Name = "_progressbar1" SHAPE1.Name = "SHAPE1" IMAGE1.Name = "IMAGE1" RIBBONLABEL1.Left = 3 RIBBONLABEL1.Top = 1 RIBBONLABEL1.Width = 129 RIBBONLABEL1.Name = "RIBBONLABEL1" :Top = -2 Left = -2 Width = 254 Height = 22 lshadow = .F. Name = "panel1" _SHAPE1.Name = "_SHAPE1" RIBBONLABEL1.Height = 17 RIBBONLABEL1.Left = 3 RIBBONLABEL1.Top = 3 RIBBONLABEL1.Width = 248 RIBBONLABEL1.Name = "RIBBONLABEL1" _SHAPE2.Name = "_SHAPE2" _IMAGE1.Name = "_IMAGE1" SHADOW.Name = "SHADOW" PROCEDURE redraw WITH THIS.Image2 .PICTURE = _SCREEN.oRibbon.cFileBMP3 ENDWITH WITH THIS.shape1 .BORDERCOLOR = _SCREEN.oRibbon.LinesColor IF THIS.LEFT = THIS.PARENT.line1.LEFT .BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.backcolor1, _SCREEN.oRibbon.nFactorBackcolor) ELSE .BACKCOLOR = _SCREEN.oRibbon.backcolor1 ENDIF ENDWITH THIS.Shape2.BORDERCOLOR = _SCREEN.oRibbon.SelectedColor2 WITH THIS.RibbonLabel1 .ReDraw() IF THIS.LEFT = THIS.PARENT.line1.LEFT .FORECOLOR = _SCREEN.oRibbon.SelectedTabFontColor ELSE .FORECOLOR = _SCREEN.oRibbon.TabFontColor ENDIF .FONTNAME = _SCREEN.oRibbon.cFontName THIS.Command1.CAPTION = .CAPTION ENDWITH ENDPROC PROCEDURE thisenabled *-- Thanks to ArilSoft PARAMETERS tlEnabled WITH THIS IF PCOUNT() = 1 .ENABLED = tlEnabled ENDIF .Ribbonlabel1.ENABLED = .ENABLED IF .ENABLED .Image1.PICTURE = THIS.EnabledPicture .MOUSELEAVE() ELSE .Image1.PICTURE = ADDBS(JUSTPATH(.Image1.PICTURE)) + JUSTFNAME(.DISABLEDPICTURE) ENDIF ENDWITH ENDPROC PROCEDURE Click LOCAL lnI, lcMacro, lcMacro2, lnLeft, lnTop WITH THIS IF ! .AutoTabClick RETURN ENDIF WITH .PARENT FOR lnI =1 TO .CONTROLCOUNT IF .CONTROLS(lnI).CLASS == "Ribbontab" IF .CLASS = "_pageframeh" .CONTROLS(lnI).TOP = 2 ENDIF .CONTROLS(lnI).shape1.VISIBLE = IIF(.CLASS = "_pageframeh", .T., .F.) .CONTROLS(lnI).shape1.BACKCOLOR = _SCREEN.oRibbon.backcolor1 .CONTROLS(lnI).shape2.VISIBLE = .F. .CONTROLS(lnI).RibbonLabel1.FORECOLOR = _SCREEN.oRibbon.TabFontColor ENDIF ENDFOR ENDWITH .PARENT.line1.VISIBLE = .F. .shape1.BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.backcolor1, _SCREEN.oRibbon.nFactorBackcolor) IF .PARENT.CLASS = "_pageframeh" .TOP = 0 ENDIF .shape1.VISIBLE = .T. .shape2.VISIBLE = .T. .Image2.VISIBLE = .F. .RibbonLabel1.FORECOLOR = _SCREEN.oRibbon.SelectedTabFontColor WITH .PARENT FOR lnI = 1 TO .CONTROLCOUNT IF .CONTROLS(lnI).PARENTCLASS == "Ribbonpage" IF .CONTROLS(lnI).VISIBLE .oPreviusPage = .CONTROLS(lnI).NAME ENDIF .CONTROLS(lnI).LEFT = IIF(.CLASS == "Ribbon", 3, 0) .CONTROLS(lnI).TOP = SYSMETRIC(2) ENDIF ENDFOR ENDWITH .PARENT.setline(.LEFT, .WIDTH) .PARENT.oLastClick = THIS.NAME lcMacro = .PageClass IF !EMPTY(.PageClass) DO CASE CASE .PARENT.CLASS == "Ribbon" lnTop = 24 + IIF(!EMPTY(.PARENT.YourTitleBar), 30, 0) CASE .PARENT.CLASS == "_pageframeh" OR .PARENT.CLASS == "_carousel" lnTop = .PARENT.shape1.TOP CASE .PARENT.CLASS == "_menutabs" lnTop = .PARENT.ShapeTabs.TOP ENDCASE .PARENT. &lcMacro .TOP = lnTop .PARENT. &lcMacro .VISIBLE = .T. **- ShowAnimation Page IF _SCREEN.oRibbon.ShowAnimationPage AND .PARENT.oLastPage # THIS.PARENT. &lcMacro .NAME lcMacro2 = .PARENT.oPreviusPage IF ! EMPTY(lcMacro2) .PARENT. &lcMacro2 .TOP = lnTop ENDIF .PARENT.oLastPage = THIS.PARENT. &lcMacro .NAME lnLeft = .PARENT.WIDTH .PARENT. &lcMacro .LEFT = lnLeft .PARENT.Timer1.ENABLED = .T. ENDIF **- ENDIF ENDWITH ENDPROC PROCEDURE MouseLeave LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH THIS IF .LEFT # .PARENT.line1.LEFT .shape1.VISIBLE = IIF(.PARENT.CLASS = "_pageframeh", .T., .F.) .shape2.VISIBLE = .F. ENDIF .Image2.VISIBLE = .F. ENDWITH ENDPROC PROCEDURE MouseEnter LPARAMETERS nButton, nShift, nXCoord, nYCoord WITH THIS IF _SCREEN.oRibbon.AutoTabClick AND .AutoTabClick .CLICK() ELSE LOCAL lnI WITH .PARENT FOR lnI =1 TO .CONTROLCOUNT IF .CONTROLS(lnI).CLASS == "Ribbontab" IF .CONTROLS(lnI).LEFT # THIS.PARENT.line1.LEFT .CONTROLS(lnI).Shape1.VISIBLE = IIF(.CLASS = "_pageframeh", .T., .F.) .CONTROLS(lnI).Image2.VISIBLE = .F. ENDIF ENDIF ENDFOR ENDWITH ENDIF .Shape1.VISIBLE = .T. .Shape2.VISIBLE = .T. IF .LEFT = .PARENT.line1.LEFT .Image2.VISIBLE = .F. ELSE .Image2.VISIBLE = .T. ENDIF ENDWITH ENDPROC PROCEDURE Init WITH THIS .ADDPROPERTY("EnabledPicture", THIS.Image1.PICTURE) IF .PARENT.CLASS = "_pageframeh" .TOP = 2 .HEIGHT = .HEIGHT + 4 ENDIF IF .PARENT.CLASS == "Ribbon" .TOP = 1 + IIF(!EMPTY(.PARENT.YourTitleBar), 30, 0) .HEIGHT = 25 ENDIF .BORDERWIDTH = 0 .BACKSTYLE = 0 .ZORDER(1) ENDWITH WITH THIS.shape1 .ZORDER(0) .LEFT = 0 .TOP = 0 .CURVATURE = 7 .WIDTH = THIS.WIDTH .HEIGHT = THIS.HEIGHT .BORDERCOLOR = _SCREEN.oRibbon.LinesColor .BORDERWIDTH = 1 .BACKCOLOR = _SCREEN.oRibbon.backcolor1 .VISIBLE = .F. ENDWITH WITH THIS.shape2 .ZORDER(0) .LEFT = 1 .TOP = 1 .CURVATURE = 5 .WIDTH = THIS.WIDTH - 2 .HEIGHT = THIS.HEIGHT .BORDERCOLOR = _SCREEN.oRibbon.SelectedColor2 .BACKSTYLE = 0 .BORDERWIDTH = 1 .VISIBLE = .F. ENDWITH WITH THIS.Image2 .ZORDER(0) .LEFT = 3 .TOP = 3 .WIDTH = THIS.WIDTH - 6 .HEIGHT = THIS.HEIGHT + 5 .PICTURE = _SCREEN.oRibbon.cFileBMP3 .VISIBLE = .F. ENDWITH WITH THIS.Image1 IF EMPTY(THIS.DISABLEDPICTURE) THIS.DISABLEDPICTURE = .PICTURE ENDIF .VISIBLE = IIF(EMPTY(.PICTURE) OR !FILE(.PICTURE), .F., .T.) .ZORDER(0) ENDWITH LOCAL lnTop, lnWidth WITH THIS.RibbonLabel1 .FORECOLOR = _SCREEN.oRibbon.TabFontColor .FONTNAME = _SCREEN.oRibbon.cFontName *.TOP = 4 .top = int(.parent.height / 4) .ALIGNMENT = 2 .AUTOSIZE = .F. .ZORDER(0) .ENABLED = THIS.ENABLED lnTot = THIS.image1.LEFT + THIS.image1.WIDTH .LEFT = 0 + IIF(!EMPTY(THIS.image1.PICTURE), lnTot, 0) lnWidth = IIF(!EMPTY(THIS.image1.PICTURE), THIS.WIDTH - lnTot, THIS.WIDTH) IF lnWidth >= 0 .WIDTH = lnWidth ENDIF ENDWITH WITH THIS.command1 .ZORDER(0) .LEFT = -2 .TOP = -2 .WIDTH = THIS.WIDTH + 4 .HEIGHT = THIS.HEIGHT + 4 .CAPTION = THIS.RibbonLabel1.CAPTION ENDWITH IF EMPTY(THIS.RibbonLabel1.CAPTION) THIS.image1.LEFT = INT((THIS.WIDTH - THIS.image1.WIDTH) / 2) ENDIF THIS.ThisEnabled(THIS.ENABLED) ENDPROC :PROCEDURE Init PARAMETERS tcTitle, tcText WITH THIS .BACKCOLOR = _SCREEN.oRibbon.FormBackColor .LEFT = SYSMETRIC(1) - THIS.WIDTH - 30 .TOP = 10 .Panel1.RibbonLabel1.CAPTION = IIF(VARTYPE(tcTitle) = "C", tcTitle, "") .RibbonLabel2.CAPTION = IIF(VARTYPE(tcText) = "C", tcText, "") ENDWITH ENDPROC  PROCEDURE redraw LOCAL lnCon, lcMacro WITH THIS * .ANCHOR = 15 .THEMES = .F. .GRIDLINECOLOR = _SCREEN.oRibbon.LinesColor * .HIGHLIGHTBACKCOLOR = _SCREEN.oRibbon.RowBackColor * .HIGHLIGHTFORECOLOR = _SCREEN.oRibbon.RowFontColor * .HIGHLIGHTROWLINEWIDTH = 0 * .HIGHLIGHTSTYLE = 2 * .FONTNAME = _SCREEN.oRibbon.cFontName * .FORECOLOR = _SCREEN.oRibbon.FontColor * .BACKCOLOR = _SCREEN.oRibbon.ChangeColor(_SCREEN.oRibbon.BackColor1, _SCREEN.oRibbon.nFactorBackcolor) .SETALL("BACKCOLOR", _SCREEN.oRibbon.BackColor2, "Header") .SETALL("FORECOLOR", _SCREEN.oRibbon.FontColor, "Header") * .SETALL("FONTBOLD", .T., "Header") .SETALL("FONTNAME", "MS Sans Serif", "Header") .SETALL("FONTSIZE", 9, "Header") ENDWITH WITH THIS.PARENT lcMacro = THIS.NAME + "1" . &lcMacro .BORDERCOLOR = _SCREEN.oRibbon.LinesColor lcMacro = THIS.NAME + "2" . &lcMacro .BORDERCOLOR = _SCREEN.oRibbon.LinesColor lcMacro = THIS.NAME + "3" . &lcMacro .BORDERCOLOR = _SCREEN.oRibbon.LinesColor lcMacro = THIS.NAME + "4" . &lcMacro .BORDERCOLOR = _SCREEN.oRibbon.LinesColor ENDWITH ENDPROC PROCEDURE Init LOCAL lcName, lnCon, lcMacro WITH THIS.PARENT FOR lnCon = 1 TO 4 .NEWOBJECT(THIS.NAME + TRANSFORM(lnCon), "LINE") DO CASE CASE lnCon = 1 lcMacro = THIS.NAME + TRANSFORM(lnCon) . &lcMacro .LEFT = THIS.LEFT . &lcMacro .TOP = THIS.TOP . &lcMacro .HEIGHT = 0 . &lcMacro .WIDTH = THIS.WIDTH - 4 . &lcMacro .ANCHOR = 10 . &lcMacro .VISIBLE = .T. CASE lnCon = 2 lcMacro = THIS.NAME + TRANSFORM(lnCon) . &lcMacro .LEFT = THIS.LEFT . &lcMacro .TOP = THIS.TOP . &lcMacro .HEIGHT = THIS.HEIGHT + 0 . &lcMacro .WIDTH = 0 . &lcMacro .ANCHOR = 5 . &lcMacro .VISIBLE = .T. CASE lnCon = 3 lcMacro = THIS.NAME + TRANSFORM(lnCon) . &lcMacro .LEFT = THIS.LEFT . &lcMacro .TOP = THIS.TOP + THIS.HEIGHT - 1 . &lcMacro .HEIGHT = 0 . &lcMacro .WIDTH = THIS.WIDTH - 4 . &lcMacro .ANCHOR = 10 . &lcMacro .VISIBLE = .T. . &lcMacro .COMMENT = "D" CASE lnCon = 4 lcMacro = THIS.NAME + TRANSFORM(lnCon) . &lcMacro .LEFT = THIS.LEFT + THIS.WIDTH - 1 . &lcMacro .TOP = THIS.TOP . &lcMacro .HEIGHT = THIS.HEIGHT + 0 . &lcMacro .WIDTH = 0 . &lcMacro .ANCHOR = 5 . &lcMacro .VISIBLE = .T. . &lcMacro .COMMENT = "H" ENDCASE NEXT ENDWITH THIS.Redraw() ENDPROC