因为有你,机房收费大大不同(细节功能实现)
2015-08-30 11:23
459 查看
看“你”为何物
(一)DTpicker控件
添加过程:工具——部件——控件——“Microsoft Windows Common Controls-2.6.0”——应用——确定(二)自定义功能函数
'定义一个能够令MSHFlexGrid自动调整大小的函数 Public Sub autocolwidth(frm As Form, grid As MSHFlexGrid)
(三)神奇API
Public Declare Function SetParent Lib "user32" (ByVal hWndChild As L ong, ByVal hWndNewParent As Long) As Long'变换父窗体专用
(四)旧相识新味道-[b] InputBox控件[/b]
看“你”不拘一格
对于上面的四个“你”的一般功能及其使用,学过VB之后应该是很 不陌生了,那现在如何另旧瓶装新酒呢,达到用户界面更加有好?(一)DTpicker控件令你的组合转换更准确更便捷
在数据库中数据类型的转换是很严谨的,如果数据类型不相符在插 入数据时便会报错,而我们的组合查询里既有int型、string型、也date 型和time型,这时一个DTpicker控件便全部OK(如图所示) 功能实现并不是很困难,这种转移应用的想法还是兴奋了一会(二)大小随你,减少误会
一般用MSHFlaxgrid控件显示出来的数据是这样,有时字符一长便 显示的不完整(如图) 用完之后便是这个效果: 这样不仅看着方便最重要的是避免了一些似是而非的错误,在显示 数据的时候有一部人遇到了,数据无法显示的问题。既不报错,也没异 常。我在帮人挑错时因遇到过此类问题,很快发现了是应为空字符串在 作怪,用一个trim()函数便可解决,如果一开始就自动调整大小,这 样的问题就不存在了。(三)不为浮云遮望眼
之前只知窗体有父子之分,主窗体为父,其它窗体可以设置为它的 子窗体,直到被图片框挡住,API中提供了一个给每个控件当父窗体的权 利,这种平等的思想很好,于是界面显示问题得到了很好的解决(四)换个角度,棒耶
InputBox在VB中提供的功能便是数据写入,很平常的一个功能, 换个玩法,便能减少你的一半工作量。利用InuputBox来实现时间格式 的输入有没有想过呢(如下代码)If Combo1.Text = "上机时间" Or Combo1.Text = "下机时间" Then'条件筛选 On Error Resume Next
<span style="font-weight: bold;"><span style="font-family: arial, 宋体, sans-serif, tahoma, 'Microsoft YaHei'; line-height: 24px;"><span style="color:#333333;"><span style="font-size:24px;"></span></span></span></span><pre name="code" class="html"> '第一个文本框输入时间,并只要前两位X = Left(InputBox("请按hh格式输入小时", "小时"), 2)
'判断前两位是否符合时间规范,是则录入,否则从心开始 If Val(X) > 24 Then MsgBox "请输入小于24的数", vbInformation, "提示" keyasii = 0 Exit Sub End If
<span style="font-weight: bold;"><span style="font-family: arial, 宋体, sans-serif, tahoma, 'Microsoft YaHei'; line-height: 24px;"><span style="color:#333333;"><span style="font-size:24px;"></span></span></span></span><pre name="code" class="html"> '第二个文本框输入时间,并只要前两位Y = Left(InputBox("请按mm格式输入小时", "分钟"), 2) If Val(Y) > 60 Then MsgBox "请输入小于60的数", vbInformation, "提示" KeyAscii = 0 Exit Sub End If
<span style="font-weight: bold;"><span style="font-family: arial, 宋体, sans-serif, tahoma, 'Microsoft YaHei'; line-height: 24px;"><span style="color:#333333;"><span style="font-size:24px;"></span></span></span></span><pre name="code" class="html"> '第三个文本框输入时间,并只要前两位z = Left(InputBox("请按ss格式输入小时", "秒钟"), 2) If Val(z) > 60 Then MsgBox "请输入小于60的数", vbInformation, "提示" KeyAscii = 0 Exit Sub End If '文本框的最后显示 Text1.Text = X & ":" & Y & ":" & z KeyAscii = 0 Combo7.SetFocus End If
看“你”如何存在
(一)
Private Sub txt1_Click()'文本框的单击事件If cmbfield1.Text = "上机日期" Or cmbfield1.Text = "下机日期" Then<span style="white-space:pre"> </span> txt1.Visible = False'如果是日期关键字则DTipcker控件显示dt1.Visible = TrueEnd IfEnd Sub
If txt1.Visible = True Then'在进行查询的时候进行判断
If Trim(cmbfield1.Text) = "" Or Trim(cmbsign1.Text) = "" Or Trim(txt1. Text) = "" ThenMsgBox "请输入完整的查寻条件", vbOKOnly, "警告"Exit SubEnd IfElseIf txt1.Visible = False And dt1.Visible = True ThenIf Trim(cmbfield1.Text) = "" Or Trim(cmbsign1.Text) = "" Or dt1.Value = "" ThenMsgBox "请输入完整的查寻条件", vbOKOnly, "警告"Exit SubEnd IfEnd If
(二)
'定义一个能够令MSHFlexGrid自动调整大小的函数Public Sub autocolwidth(frm As Form, grid As MSHFlexGrid)Dim size As Integersize = frm.FontSizefrm.FontSize = grid.Font.sizeDim rownum As Long, colnum As Long, colwidth As DoubleWith gridFor colnum = 0 To .Cols - 1colwidth = 0'遍历每一行找到最长成本For rownum = 0 To .Rows - 1If frm.TextWidth(.TextMatrix(rownum, colnum)) > colwidth Thencolwidth = frm.TextWidth(.TextMatrix(rownum, colnum))End IfNext.colwidth(colnum) = colwidth + 150NextEnd Withfrm.FontSize = sizeEnd Sub
(三)
Private Sub numbasicdata_Click()frmbasicdata.ShowCall SetParent(frmbasicdata.hwnd, pic1.hwnd)'后面的为父窗体End Sub总结: 虽然这些小细节在技术并没有什么难点,却可以很好的锻炼我们的想 象力
相关文章推荐
- VB6.0学习笔记 之 输入与输出(一)
- 数字视频广播字幕系统(第6.7章)
- CVBS视频信号解析
- 【机房收费系统】VB与grid++report交互(如何让数据以报表格式显示)
- VBScript random function
- VBScript,checkbox,选择问题
- 文档大师 搜狗拼音无法输入汉字_乱码的解决方法_VB6程序
- 使用VBS打开程序和关闭程序
- vb上传文件
- 数字视频广播字幕系统(第五章)
- 语料编程空手道:从 VBA,到 VBS,到 HTA
- VBA病毒“制造机”正在流行
- 【VBA研究】EXCEL启动时自动启动窗体
- 处理Selection对象和Range对象——Word VBA中重要的两个对象
- VB.NET 程序打包(vs2010)
- Excel中的宏--VBA的简单例子
- 用VBS创建Excel后,打开时却提示“您尝试打开的文件 的格式与文件扩展名指定的格式不一致”
- 【VBA研究】关闭保存工作簿时重新计算功能
- 关于VBA对数据透视表的操作使用
- Excel VBA编程的常用代码(备用待查)