Yaerox Posted October 27, 2020 Share Posted October 27, 2020 (edited) Is there any Control which allows me to select only Month/Year? I really like the way the DTP looks if you click once on the month/year like the screenshot below. I'd like to use it like this without any option for the user to see the DTP like this: which is the default view. Unfortunately I only found: GUICtrlCreateDate / GUICtrlCreateMonthCal / _GUICtrlDTP_Create and all seem to have no option to hide the day-view. Edited October 27, 2020 by Yaerox Link to comment Share on other sites More sharing options...
Nine Posted October 27, 2020 Share Posted October 27, 2020 Ya I have worked on this in the past : expandcollapse popup#include <Constants.au3> #include <GUIConstants.au3> #include <WinAPISysWin.au3> Opt("MustDeclareVars", 1) MsgBox ($MB_SYSTEMMODAL,"",MonthCalendar()) Func MonthCalendar($iLeft = -1, $iTop = -1) Local Const $asMonth[12] = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] Local Const $cHighlight = 0xD6E0FF Local $hGUI = GUICreate("", 250, 150, $iLeft, $iTop, $WS_POPUP + $WS_BORDER) Local $iPrev = GUICtrlCreateLabel(ChrW(0x25C0), 25, 15, 25, 25, $SS_CENTER) GUICtrlSetFont(-1, 16) Local $iNext = GUICtrlCreateLabel(ChrW(0x25B6), 205, 15, 25, 25, $SS_CENTER) GUICtrlSetFont(-1, 16) Local $iYear = GUICtrlCreateLabel(@YEAR, 100, 21, 50, 25, $SS_CENTER) Local $aiMonth[12], $i = 0 For $y = 0 To 2 For $x = 0 To 3 $aiMonth[$i] = GUICtrlCreateLabel($asMonth[$i], 50 * $x + 38, 30 * $y + 50, 30, 20, $SS_CENTER + $SS_CENTERIMAGE) GUICtrlSetFont(-1, 10) $i += 1 Next Next GUISetState(@SW_SHOW) $i = Int(@MON) - 1 GUICtrlSetBkColor($aiMonth[$i], $cHighlight) Local $iOK = GUICtrlCreateDummy () Local $aAccelKeys[1][2] = [["{ENTER}", $iOK]] GUISetAccelerators($aAccelKeys) Local $nMsg While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE GUIDelete () Return ("") Case $iPrev GUICtrlSetData($iYear, GUICtrlRead($iYear) - 1) Case $iNext GUICtrlSetData($iYear, GUICtrlRead($iYear) + 1) Case $aiMonth[0] To $aiMonth[11] If $i = $nMsg - $aiMonth[0] Then ContinueLoop GUICtrlSetBkColor($nMsg, $cHighlight) GUICtrlSetBkColor($aiMonth[$i], Default) $i = $nMsg - $aiMonth[0] Case $iOK Local $sReturn = GUICtrlRead($iYear) & "|" & $i + 1 GUIDelete() Return $sReturn EndSwitch WEnd EndFunc ;==>MonthCalendar Yaerox 1 “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
Yaerox Posted October 27, 2020 Author Share Posted October 27, 2020 So far this looks promising. Do you accidentally have another way to add a faster year-picking as well? This is for some GUI I build for automotive. So you have to set First-Registration which is MM/YYYY but let's say the car is 15 years old, I had to click on the year picker 15 times. Since it quite late now, I'd take myself a deeper look onto it tomorrow. So far thank you sir! Link to comment Share on other sites More sharing options...
Nine Posted October 27, 2020 Share Posted October 27, 2020 (edited) I am not sure it would be best approach. I would suggest something like this : if the user clicks on the year, an input box shows up, so he can enter whatever year. Edited October 28, 2020 by Nine “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now