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