biwfmm 发表于 2012-4-1 14:14:56

[已解决]如何设置日期控件默认值为空

本帖最后由 biwfmm 于 2012-4-22 17:46 编辑

GUICtrlCreateDate控件创建时默认时间为当天的。想默认为空值。

netegg 发表于 2012-4-1 15:59:50

既然为空为什么不直接用编辑框呢

kiss2003 发表于 2012-6-13 09:38:34

俺还想再问一下,我这里用日期控件是为了能方便选择日期,但是还需要启动时为空。怎么弄哪?

oo2010 发表于 2015-4-24 23:37:00

不知道楼主有没有解决这个问题,现在我也遇到这个问题,有没有解决的方法,谢谢!

ioripalm 发表于 2017-9-19 18:16:56

GUICtrlCreateDate ( "文本", 左侧, 顶部 [, 宽度 [, 高度 [, 样式 [, 扩展样式]]]] )
样式:$DTS_SHOWNONE使控件能够接受 " 无日期 " 作为有效的选择状态.
试了加上这个参数后日期控件前面会有一个多选框,不勾选的话日期控件为灰色,勾选后日期激活可以输入日期
即使没有勾选,使用GUICtrlRead还是会获取到日期
我也想知道如何默认为空,获取不到数据。勾上就能获取到数据!

yhxhappy 发表于 2018-4-13 11:41:09

最近我也有遇到这个问题,解决思路是 把日期控件缩小,只显示下拉箭头,选择日期后填写到旁边的 Input。#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$gui = GUICreate("背景窗口", 400, 100)
   GUISetOnEvent($GUI_EVENT_CLOSE, "_GUI")

Opt("GUIOnEventMode", 1)                                                                        ;切换至 事件模式

Local $Search_X = 30, $Search_Y = 20, $lE = 20

$Input_W = 80
GUICtrlCreateLabel("日期" & ", 从:", $Search_X, $Search_Y, $Input_W, 16)
   GUICtrlSetColor(-1, 0x666666)
   GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$Orders_StartDate_Input = GUICtrlCreateInput("", $Search_X, $Search_Y+$lE, $Input_W, 24)
$Orders_StartDate = GUICtrlCreateDate(@YEAR & "/" & @MON & "/" & @MDAY, $Search_X+$Input_W, $Search_Y+$lE, 12, 24, 0x20)
   GUICtrlSetFont(-1, 1)
   GUICtrlSetOnEvent(-1, "_GUI")

$Search_X += $Input_W+$lE
$Input_W = 80
GUICtrlCreateLabel("到:", $Search_X, $Search_Y, $Input_W, 16)
   GUICtrlSetColor(-1, 0x666666)
   GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$Orders_EndDate_Input = GUICtrlCreateInput("", $Search_X, $Search_Y+$lE, $Input_W, 24)
$Orders_EndDate = GUICtrlCreateDate("", $Search_X+$Input_W, $Search_Y+$lE, 12, 24, 0x20)
   GUICtrlSetFont(-1, 1)
   GUICtrlSetOnEvent(-1, "_GUI")

GUISetState(@SW_SHOW)

While 1

WEnd

Func _GUI()
   Switch @GUI_CtrlId
   Case $Orders_StartDate
          $StartDate = GUICtrlRead(@GUI_CtrlId)
          GUICtrlSetData($Orders_StartDate_Input, $StartDate)
   Case $Orders_EndDate
          $StartDate = GUICtrlRead(@GUI_CtrlId)
          GUICtrlSetData($Orders_EndDate_Input, $StartDate)
   Case $GUI_EVENT_CLOSE
          Exit
   EndSwitch
EndFunc
页: [1]
查看完整版本: [已解决]如何设置日期控件默认值为空