用ActiveX控件封装MaskEdit控件-->解决不能绑定的问题

2016-02-19 14:54 4 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐用ActiveX控件封装MaskEdit控件-->解决不能绑定的问题,无聊中的都看过来。

【 tulaoshi.com - 编程语言 】

  參考決定或改作通用的activeX控件.

  (1)新建一ActiveX Control工程.

  放置一maskedit控件於上.

  其設置屬性參考如下:

  usercontrol之name:DataDate.

  usercontrol之DataBindingBehavior設定1-VvbSimpleBound

  MaskedtBox之name:mskDate.

  (2).新增一數據屬性用於綁定.操作如下(我用為繁體系統,可能說法不大一樣).

  打開菜單: 增益集--增益集管理員.

  載入Visual Basic AcitveX控制項介面精靈並啟動.

  運行至:建立自訂的介面成員處新增一Property:DateValue(此屬性即為您要操作綁定的東東).

  下一步確定對應關系:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  將常用的公用項目中的屬性事件按照綁定至mskDate.如mskDate無相關之屬性和可綁定至usercontrol上.

  在公用項目中將DateValue之資料類型設定Date型

  完成上述操作.

  (3). 將DateValue設定資料綁定屬性.

  點選usercontrol。

  打開 工具---程序屬性.

  從名稱欄位選擇DateValue.

  將資料連結項中如下選擇打上勾:

  屬性具資料連結功能

  在屬性值改變前,先呼叫CanPropertyChange.

  即時更新

  此時DataValue即具有數據綁定功能。此控件的屬性中就會增加諸如DataSource.DataField等東東.

  (4).編寫代碼。

  a.設定控件大小.

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  

Private Sub UserControl_Resize()  MskDate.Move 0, 0, UserControl.Width, usercontrol.Height End Sub       b.將dateValue的代碼修正如下:    Public Property Let DateValue(ByVal New_DateValue As Date)   m_DateValue = New_DateValue   PropertyChanged "DateValue"   If Not IsEmpty(m_DateValue) Then     If IsDate(m_DateValue) Then       If Year(m_DateValue)  1970 Then         MskDate.Text = Format(m_DateValue, "yyyy/mm/dd")       Else         MskDate.Text = "____/__/__"       End If     Else       MskDate.Text = "____/__/__"     End If   Else     MskDate.Text = "____/__/__"   End If End Property

  ,此處即為判斷所傳進來的值是否合乎要求,如果是有效的話就顯示在mskDate中,否則就顯示成其他的方式。

  

Private Sub MskDate_Validate(Cancel As Boolean)If IsDate(Trim(MskDate.Text)) Then  If CanPropertyChange("DateValue") Then    m_DateValue = CDate(MskDate.Text)    PropertyChanged "DateValue"  End IfElse  MsgBox "Invalid date value!", vbExclamation, "Date Error!"    If Not IsEmpty(m_DateValue) Then    If IsDate(m_DateValue) Then      If Year(m_DateValue)  1970 Then        MskDate.Text = Format(m_DateValue, "yyyy/mm/dd")      Else        MskDate.Text = "____/__/__"      End If    Else      MskDate.Text = "____/__/__"    End If  Else    MskDate.Text = "____/__/__"  End If  End IfEnd Sub

  '此處即判斷mskDate的值是否有效,如果有效的話就調用  PropertyChanged "DateValue" . 資料就會更改DataField所綁定的資料欄位的值 .

  最後將工程編譯成控件DataDate.ocx 加以引用,DataValue屬性即相當於text的text屬性在文檔中可以直接調用.

  用以上方法可以自定義資料綁定控件用於我們的特殊處理。

来源:https://www.tulaoshi.com/n/20160219/1608295.html

延伸阅读
这个问题主要提示是,不能通过'/tmp/mysql.sock'连到服务器,而php标准配置正是用过'/tmp/mysql.sock',但是一些mysql安装方法将mysql.sock放在/var/lib/mysql.sock或者其他的什么地方,你可以通过修改/etc/my.cnf文件来修正它,打开文件,可以看到如下的东东: [mysqld] socket=/var/lib/mysql.sock 改一...
818双胞胎如何形成?   双胞胎走在哪里都是众人的焦点,但事实上他们并不总是长得一模一样,可能只是相似甚至不太像。但是为了双喜临门,有的人耗费大量的财力、精力,毕竟育有双胞胎的几率较小。下面让我们一起走近双胞胎。    双胞胎的分类   双胞胎分为同卵双胞胎和异卵双胞胎两种。...
----Grid控件是VisualBasic最常见控件之一,从VB3.0到VB5.0都有该控件。也是VB爱好者最喜爱的工具之一。用它可以以表格的形式显示、浏览数据,特别是数据库应用,直接绑定即可显示浏览数据库信息。然而,美中不足的是Grid没有编辑和打印功能,列与列的位置不能相互交换。笔者曾尝试着给Grid增添了这些功能,使之锦上添花,功能更强大。下面给出...
上一次的程序演示了怎样做一个录音机的程序,不过我的主要目的是要做一个能嵌入网、Director、authorware 等应用软件的ActiveX 控件,下面就来看以下基本实现方法。 程序运行结果如下: 图一 为简单起见,本控件没有设置接口、属性、方法等等,基本的程序思路跟上一篇的类似,大家看源码,就晓得了。一个重要的心得就是,...
你知道ADO控件和DATA控件有冲突吗?试一试下面的例子: DimdbAsDatabase DimrsAsRecordset Setdb=OpenDatabase("d:stockyline.mdb") Setrs=db.OpenRecordset("selectcount(*)astotalcountfromylinewhere条件")*** MsgBox(rs(0)) rs.Close db.Close Setrs=Nothing Setdb=Nothing ‘注明,这个例子...

经验教程

10

收藏

52
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部