Global hCalendar
InitCommonControls_()
;#MCN_FIRST = -746
#MCN_SELCHANGE = #MCN_FIRST + 1
Procedure MyWindowCallback(hWin, Msg, wParam, lParam)
Result = #PB_ProcessPureBasicEvents
If Msg=#WM_NOTIFY
CopyMemory(lParam,pnmh.NMSELCHANGE,SizeOf(NMSELCHANGE))
If pnmh\nmhdr\code=#MCN_SELCHANGE
;https://learn.microsoft.com/en-us/windows/win32/controls/mcn-selchange
If pnmh\nmhdr\hwndFrom=hCalendar
y=pnmh\stSelStart\wYear
m=pnmh\stSelStart\wMonth
d=pnmh\stSelStart\wDay
SetWindowTitle(0,Str(d)+"-"+Str(m)+"-"+Str(y))
EndIf
EndIf
EndIf
ProcedureReturn Result
EndProcedure
If OpenWindow(0, 0, 0, 640, 480, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
hCalendar = CreateWindowEx_(#Null,@"SysMonthCal32",@"DateTime",#WS_CHILD|#WS_VISIBLE|#WS_BORDER,0,0,640,480,WindowID(0),0,GetModuleHandle_(0),0)
SetWindowCallback(@MyWindowCallback())
;https://learn.microsoft.com/en-us/windows/win32/controls/mcm-getminreqrect
;Returns nonzero and lParam receives the applicable bounding information if successful. Otherwise, the message returns zero.
;SendMessage_(hCalendar,#MCM_GETMINREQRECT,0,crect.RECT)
;MoveWindow_(hCalendar,crect\left,crect\top,(crect\right-crect\left+30),(crect\bottom-crect\top+30),1)
;set date
st.SYSTEMTIME
st\wYear=2025
st\wMonth=1
st\wDay=1
rr=SendMessage_(hCalendar,#MCM_SETCURSEL,0,@st)
Repeat
Event = WaitWindowEvent()
If GetAsyncKeyState_(#VK_ESCAPE)&32768
Break
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
Календарь SysMonthCal32
Страница: 1
Сообщений 1 страница 5 из 5
Поделиться105.05.2025 16:28:38
Код:
Поделиться205.05.2025 18:42:08
Чем же из PB не подошел?
Код:
OpenWindow(0, 0, 0, 640, 480, "Гаджет Календарь", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CalendarGadget(0, 10, 10, 640, 480)
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
SetWindowTitle(0,FormatDate("%dd-%mm-%yyyy", GetGadgetState(0)))
EndIf
Until Event = #PB_Event_CloseWindowПоделиться407.05.2025 17:07:48
newJS написал(а):
мне попалось
CreateWindowEx_()
зачем расширенный???, чистое любопытство
Вангую, что отличие параметров.
newJS написал(а):
на леарне есть русский пдф, машиной переведён, но таки русский, не русский тоже есть
искать в левом нижнем углу
Не, вечный календарь мы уже проходили(:
Поделиться507.05.2025 18:34:15
egons написал(а):
Не, вечный календарь мы уже проходили(:
почему вечный?, каждый день меняется, козы тоже разные, на каждой перезагрузке меняются, это не статика
правда чтобы календарь увидеть надо все окна закрыть
Страница: 1
