Seite 1 von 1

Frage zu CalendarGadget

Verfasst: 27.01.2007 15:00
von usim
Hallo und gruß an alle,

Meine frage ist:

Ich habe ein Jahres-kalender erstellt und möchte wissen, wenn man ein Datum bereich mit der Maus anklickt, dass das Fenster geschlossen wird.

z.B
http://gpihome.de/purebasic/

so wie er in seine "Termin-Kalender" gemacht hat.

Quell Code:

Code: Alles auswählen

Procedure MonthRequester(sDate)
  GetCursorPos_(mouse.POINT)
  SelDate=0
  getwindowrect_(GadgetID(#Gadget_Titel),rect.RECT)
  If OpenWindow(#win_Month,rect\left+(rect\right-rect\left)/2-410/2,rect\bottom,410,320,#PB_Window_Invisible|#PB_Window_BorderLess,#Lg_TagWaehlen,WindowID(#Win_Main))
    hCal=CreateWindowEx_(0,"SysMonthCal32","Kalender",#WS_BORDER|#WS_CHILD|#MCS_WEEKNUMBERS|#MCS_DAYSTATE ,0,0,410,320,WindowID(#win_Month),0,GetModuleHandle_(0),0) 
    AddKeyboardShortcut(#win_Month,#PB_Shortcut_Escape,#Menu_Hide)
    
    EnableWindow_(WindowID(#Win_Main),#False)
    HideWindow(#win_Month,#False)
    ShowWindow_(hCal,#SW_SHOW)
    While WindowEvent():Wend
    st.SYSTEMTIME
    st\wYear=Year(sDate)
    st\wMonth=Month(sDate)
    st\wDay=Day(sDate)
    SendMessage_(hCal,#MCM_SETCURSEL,0,@st)
    
    If hCal
      While SelDate=0
        Event=WaitWindowEvent()
        If Event= #PB_Event_Menu
          If EventMenuID()=#Menu_Hide
            Break
          EndIf
        EndIf
        If Event=#PB_Event_CloseWindow
          Break
        EndIf
      Wend
    EndIf
    While getasynckeystate_(#VK_LBUTTON)&$FF00:Delay(1):Wend
    UseWindow(#Win_Main)
    EnableWindow_(WindowID(#Win_Main),#True)
    ActivateWindow()
    CloseWindow(#win_Month)
  EndIf 
  ProcedureReturn SelDate
EndProcedure


MfG
usim