VB6.0中,DTPicker日期、時間控件不允許為空時,采用文本框與日期、時間控件相互替換賦值(解決方案)


VB6.0中,日期、時間控件不允許為空時,采用文本框與日期、時間控件相互替換賦值,或許是一個不錯的選擇。

 

實現效果如下圖:

 

文本框txtStopTime1
時間框DTStopTime1(DTPicker控件) 右鍵-屬性-選擇格式3 - dtpCustom  HH:mm:ss
若沒有DTPicker控件,在部件中添加 工具-部件-控件-“Microsoft Windows Common Controls-2.6.0”-應用-確定

 

代碼如下:

Private Sub Form_Load()
      txtStopTime1.ZOrder
      DTStopTime1.Top = txtStopTime1.Top
      DTStopTime1.Left = txtStopTime1.Left
end Sub
'時間控件
'鍵盤輸入值
Private Sub DTStopTime1_KeyPress(KeyAscii As Integer)
      If KeyAscii = 8 Then
            txtStopTime1.text = ""
            txtStopTime1.ZOrder
      End If
End Sub
'失去焦點
Private Sub DTStopTime1_LostFocus()
      DTStopTime1.Value = format("00:00:00", "HH:mm:ss")
      txtStopTime1.ZOrder '決定誰在上面
End Sub
'值改變
Private Sub DTStopTime1_Change()
      txtStopTime1.text = format(DTStopTime1.Value, "HH:mm:ss")
End Sub

'文本框
'得到焦點
Private Sub txtStopTime1_GotFocus()
      If Trim(txtStopTime1.text) = "" Then
            DTStopTime1.Value = format("00:00:00", "HH:mm:ss")
      Else
            DTStopTime1.Value = format(Trim(txtStopTime1.text), "HH:mm:ss")
      End If
      DTStopTime1.ZOrder
      DTStopTime1.SetFocus
End Sub

 

雖然圖中的效果是實現了,在實際開發過程中,我們可能會經常使用到,我想這里完全可以做成自定義控件,需要的時候直接拖就好了。

此思路和實現效果是在Q群:VB6.0編程 263653236上的群友一起討論優化得出的,如若有更好的想法可以留言告知我。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM