Vb6 更改DTPicker上的周开始日期

Vb6 更改DTPicker上的周开始日期,vb6,calendar,locale,datetimepicker,dayofweek,Vb6,Calendar,Locale,Datetimepicker,Dayofweek,是否可以“动态”更改DTPicker控件在一周的第一天使用的一周中的哪一天 我知道它使用系统一周的第一天(定义见控制面板)进行此设置,但是否可以在不更改控制面板设置的情况下将其更改为使用另一天 试试这个,从麦克风旁边的 您可以使用Win32 API使用DTPicker来完成此操作。DTPicker使用 实际的MonthView控件。您可以发送此控件以更改一周的第一天。请注意,您必须(并且只能)执行此操作 在下拉事件中,因为在此之前,MonthView控件 不存在。特写镜头事件后,MonthVie

是否可以“动态”更改DTPicker控件在一周的第一天使用的一周中的哪一天

我知道它使用系统一周的第一天(定义见控制面板)进行此设置,但是否可以在不更改控制面板设置的情况下将其更改为使用另一天

试试这个,从麦克风旁边的

您可以使用Win32 API使用DTPicker来完成此操作。DTPicker使用 实际的MonthView控件。您可以发送此控件以更改一周的第一天。请注意,您必须(并且只能)执行此操作 在下拉事件中,因为在此之前,MonthView控件 不存在。特写镜头事件后,MonthView被销毁。 哦…每周第一天的值是SendMessage的LPRAM (wParam始终为0)

试试这个,从一个麦克风

您可以使用Win32 API使用DTPicker来完成此操作。DTPicker使用 实际的MonthView控件。您可以发送此控件以更改一周的第一天。请注意,您必须(并且只能)执行此操作 在下拉事件中,因为在此之前,MonthView控件 不存在。特写镜头事件后,MonthView被销毁。 哦…每周第一天的值是SendMessage的LPRAM (wParam始终为0)

Option Explicit 
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" 
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As 
Any) As Long 
Private Const MCM_FIRST                 As Long = &H1000& 
Private Const MCM_SETFIRSTDAYOFWEEK     As Long = (MCM_FIRST + 15) 
Private Const DTM_FIRST                 As Long = &H1000& 
Private Const DTM_GETMONTHCAL           As Long = (DTM_FIRST + 8) 
Private Sub DTPicker1_DropDown() 
    Dim hMonthview As Long 
    'Get hwnd of MonthView control 
    hMonthview = SendMessage(DTPicker1.hwnd, DTM_GETMONTHCAL, 0&, ByVal 0&) 
    'Set first day of week for MonthView, according to the following: 
    '   Value      Day of Week 
    '   0          Monday 
    '   1          Tuesday 
    '   2          Wednesday 
    '   3          Thursday 
    '   4          Friday 
    '   5          Saturday 
    '   6          Sunday 
    Call SendMessage(hMonthview, MCM_SETFIRSTDAYOFWEEK, 0&, ByVal 6&) 'first 
day of week = Sunday
End Sub