首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DTPicker上更改周开始日期

在DTPicker上更改周开始日期
EN

Stack Overflow用户
提问于 2012-01-20 17:37:09
回答 1查看 1.1K关注 0票数 2

是否可以更改DTPicker控件用于“动态”每周的第一天的星期几?

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-20 20:53:43

试试这个,来自MikeD的post on the old VB6 newsgroup

通过使用Win32

,您可以通过DTPicker完成此操作。DTPicker使用实际的MonthView控件。您可以向此控件发送MCM_SETFIRSTDAYOFWEEK message以更改每周的第一天。请注意,您必须(并且只能)在DropDown事件中执行此操作,因为在此之前,MonthView控件并不存在。在CloseUp事件之后,MonthView被销毁。每周第一天的Oh...the值是SendMessage的lParam ( wParam始终为0)

代码语言:javascript
复制
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 
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8939317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档