- 浏览: 244749 次
文章分类
- 全部博客 (395)
- Tech (0)
- [随笔分类]心情 (95)
- [随笔分类]技术 (112)
- [随笔分类]管理心得 (13)
- [随笔分类]Code SOP (5)
- [随笔分类]望图知意 (11)
- [网站分类]1.首页原创精华.NET区(包含架构设计、设计模式)(对首页文章的要求:原创、高质量、经过认真思考并精心写作) (8)
- [随笔分类]重构代码 (1)
- [随笔分类]童童 (2)
- Program (1)
- [随笔分类]看你知道不知道 (1)
- [网站分类]4.其他技术区 (31)
- [网站分类]3.非技术区(技术之外的文章,但不要涉及任何政治内容) (21)
- [网站分类]9.求职招聘区(个人求职、企业招聘) (0)
- [随笔分类]昨日关注 (15)
- [网站分类]6.读书区(技术书籍阅读心得、书籍推荐) (3)
- [随笔分类]一步一个脚印 (2)
- [网站分类]网站管理区(网站管理方面的疑问、建议、意见, 寻求管理员帮助) (1)
- [网站分类]2..NET新手区(用于发表不合适发表在首页的.NET技术文章,包括小经验、小技巧) (3)
最新评论
以前在开发的过程中,总是制定一个命名规范,然后在使用中总是反复的查看手册,真是麻烦,今天我在给一个兄弟展示一个新作的VB6外接程序的时候,他就说能不能自动添加控件前缀,这样就不用死记硬背了,所以试验了一下,还好,挺简单的,主要代码如下:
在这段代码中,主要是建立一个VB6 的外接程序,然后在ItemRenamed事件中,增加前缀就行了。
控件的前缀列表放到了ControlPrefixion.config文件中,如下:
3DPanel=pnl
ADOData=ado
Animatedbutton=ani
Checkbox=chk
Combobox=cbo
drop-downlistbox=cbo
Commandbutton=cmd
Commondialog=dlg
Communications=com
Data=dat
Data-boundcombobox=dbcbo
Data-boundgrid=dbgrd
Data-boundlistbox=dblst
Datacombo=dbc
Datagrid=dgd
Datalist=dbl
Datarepeater=drp
Datepicker=dtp
Directorylistbox=dir
Drivelistbox=drv
Filelistbox=fil
Flatscrollbar=fsb
Form=frm
Frame=fra
Gauge=gau
Graph=gra
Grid=grd
Hierarchicalflexgrid=flex
Horizontalscrollbar=hsb
Image=img
Imagecombo=imgcbo
ImageList=ils
Label=lbl
Lightweightcheckbox=lwchk
Lightweightcombobox=lwcbo
Lightweightcommandbutton=lwcmd
Lightweightframe=lwfra
Lightweighthorizontalscrollbar=lwhsb
Lightweightlistbox=lwlst
Lightweightoptionbutton=lwopt
Lightweighttextbox=lwtxt
Lightweightverticalscrollbar=lwvsb
Line=lin
Listbox=lst
ListView=lvw
MAPImessage=mpm
MAPIsession=mps
MCI=mci
Menu=mnu
Monthview=mvw
MSChart=ch
MSFlexgrid=msg
MSTab=mst
OLEcontainer=ole
Optionbutton=opt
Picturebox=pic
Pictureclip=clp
ProgressBar=prg
RemoteData=rd
RichTextBox=rtf
Shape=shp
Slider=sld
Spin=spn
StatusBar=sta
SysInfo=sys
TabStrip=tab
Textbox=txt
Timer=tmr
Toolbar=tlb
TreeView=tre
UpDown=upd
Verticalscrollbar=vsb
一旦加载了这个插件,当在窗体上增加了一个控件后,比如一个Command后,当在属性窗口中将名称改为“OK”后,系统自动增加“cmd”在控件名称前边,变成“cmdOK”,这样再也不用记住控件的前缀了。
有了这个,兄弟很高兴,至少可以将手册变得薄一点了。
在开发这个插件过程中,有点需要注意,就是一个公司总是有各种规范来规定程序员的代码开发规范,其实如果能够提供一些自动工具或者模板工具的话,程序员就不需要死记硬背了,所有的规范程序员也就自动遵守了,也就没有烦恼了,这样才是最好的办法,项目经理也就轻松了,^_^。
Public WithEvents CtlHandler As VBControlsEvents
'监控控件名称前缀
Private Sub WatchNamePrefixion(ByVal VBControl As VBIDE.VBControl)
Dim FileContent As String
FileContent = ReadAll(App.Path & "\ControlPrefixion.config")
FileContent = Replace(FileContent, " ", "")
Dim Rows() As String
Dim Cols() As String
Dim i As Integer
Dim ii As Integer
Rows = Split(FileContent, vbCrLf)
For i = LBound(Rows) To UBound(Rows)
Cols = Split(Rows(i), "=")
If UBound(Cols) = 1 Then
If UCase(VBA.TypeName(VBControl.ControlObject)) = UCase(Cols(0)) Then
If UCase(VBA.Left(VBControl.Properties("Name"), Len(Cols(1)))) <> UCase(Cols(1)) Then
VBControl.Properties("Name") = Cols(1) & VBControl.Properties("Name")
End If
Exit For
End If
End If
Next
Erase Rows
Erase Cols
End Sub
Private Sub CtlHandler_ItemRenamed(ByVal VBControl As VBIDE.VBControl, ByVal OldName As String, ByVal OldIndex As Long)
WatchNamePrefixion VBControl
End Sub
Private Sub WatchNamePrefixion(ByVal VBControl As VBIDE.VBControl)
Dim FileContent As String
FileContent = ReadAll(App.Path & "\ControlPrefixion.config")
FileContent = Replace(FileContent, " ", "")
Dim Rows() As String
Dim Cols() As String
Dim i As Integer
Dim ii As Integer
Rows = Split(FileContent, vbCrLf)
For i = LBound(Rows) To UBound(Rows)
Cols = Split(Rows(i), "=")
If UBound(Cols) = 1 Then
If UCase(VBA.TypeName(VBControl.ControlObject)) = UCase(Cols(0)) Then
If UCase(VBA.Left(VBControl.Properties("Name"), Len(Cols(1)))) <> UCase(Cols(1)) Then
VBControl.Properties("Name") = Cols(1) & VBControl.Properties("Name")
End If
Exit For
End If
End If
Next
Erase Rows
Erase Cols
End Sub
Private Sub CtlHandler_ItemRenamed(ByVal VBControl As VBIDE.VBControl, ByVal OldName As String, ByVal OldIndex As Long)
WatchNamePrefixion VBControl
End Sub
在这段代码中,主要是建立一个VB6 的外接程序,然后在ItemRenamed事件中,增加前缀就行了。
控件的前缀列表放到了ControlPrefixion.config文件中,如下:
3DPanel=pnl
ADOData=ado
Animatedbutton=ani
Checkbox=chk
Combobox=cbo
drop-downlistbox=cbo
Commandbutton=cmd
Commondialog=dlg
Communications=com
Data=dat
Data-boundcombobox=dbcbo
Data-boundgrid=dbgrd
Data-boundlistbox=dblst
Datacombo=dbc
Datagrid=dgd
Datalist=dbl
Datarepeater=drp
Datepicker=dtp
Directorylistbox=dir
Drivelistbox=drv
Filelistbox=fil
Flatscrollbar=fsb
Form=frm
Frame=fra
Gauge=gau
Graph=gra
Grid=grd
Hierarchicalflexgrid=flex
Horizontalscrollbar=hsb
Image=img
Imagecombo=imgcbo
ImageList=ils
Label=lbl
Lightweightcheckbox=lwchk
Lightweightcombobox=lwcbo
Lightweightcommandbutton=lwcmd
Lightweightframe=lwfra
Lightweighthorizontalscrollbar=lwhsb
Lightweightlistbox=lwlst
Lightweightoptionbutton=lwopt
Lightweighttextbox=lwtxt
Lightweightverticalscrollbar=lwvsb
Line=lin
Listbox=lst
ListView=lvw
MAPImessage=mpm
MAPIsession=mps
MCI=mci
Menu=mnu
Monthview=mvw
MSChart=ch
MSFlexgrid=msg
MSTab=mst
OLEcontainer=ole
Optionbutton=opt
Picturebox=pic
Pictureclip=clp
ProgressBar=prg
RemoteData=rd
RichTextBox=rtf
Shape=shp
Slider=sld
Spin=spn
StatusBar=sta
SysInfo=sys
TabStrip=tab
Textbox=txt
Timer=tmr
Toolbar=tlb
TreeView=tre
UpDown=upd
Verticalscrollbar=vsb
一旦加载了这个插件,当在窗体上增加了一个控件后,比如一个Command后,当在属性窗口中将名称改为“OK”后,系统自动增加“cmd”在控件名称前边,变成“cmdOK”,这样再也不用记住控件的前缀了。
有了这个,兄弟很高兴,至少可以将手册变得薄一点了。
在开发这个插件过程中,有点需要注意,就是一个公司总是有各种规范来规定程序员的代码开发规范,其实如果能够提供一些自动工具或者模板工具的话,程序员就不需要死记硬背了,所有的规范程序员也就自动遵守了,也就没有烦恼了,这样才是最好的办法,项目经理也就轻松了,^_^。
发表评论
-
启动NDuiker项目
2005-01-20 17:05 428今天是进驻博客园的第一天,在这里安家真的很不错,十分感谢DuD ... -
NDuiker项目第2天总结
2005-01-21 08:53 623昨天晚上基本上实现了 ... -
NDuiker项目第3天
2005-01-22 22:50 559今天是周六了,原本以为是很轻松的一天,结果只有到了这个时 ... -
NDuiker项目第6天
2005-01-25 16:50 547这几天好忙,也好累呀,这几天是公司项目收尾的阶段,忙的都透不过 ... -
对.Net 类库的一点思索
2005-02-02 09:29 577这些天主要在测试GDI+的 ... -
测试一个网站的想法
2005-02-05 17:07 524由于项目的需要,测试了一下“上海研发公共服务平台” 登录:ht ... -
项目建议书编写总结
2005-02-25 15:46 744昨天完成了项目建议书的编写工作,整个春节期间的工作到今天全部完 ... -
MyIE 增加了RSS功能
2005-02-28 09:54 544今天更新了MyIE,发现MyIE增加了RSS功能,试用了一下, ... -
www.beihua.edu.cn计划摘录
2005-02-28 14:11 756www.beihua.edu.cn工作计划 1:网站后期制作计 ... -
网站调研资料记录
2005-03-01 15:56 602资料整理备忘 1:内外网IP确认 ... -
静静的看书
2005-03-08 17:18 547这几天还是很忙,但是似乎好了很多,因为目前主要是写一个基于Sm ... -
我的Smart Client 的学习笔记
2005-03-09 15:35 1649User Interface Process (UIP) Ap ... -
研发、开发、运营
2005-03-25 12:15 612这些天很忙,网络也不争气,才刚刚好一点。 ... -
当需求变更来临
2005-04-30 14:26 514昨晚已经和老婆安排好5 ... -
重新登录Window2003的域
2005-05-12 09:58 663今天公司要求重新登录Windows2003的域,记录一下,以后 ... -
当不愿意写字得时候
2005-05-16 15:36 674做项目得前期分析得时候,我还是比较喜欢在本子上写写、画画得,通 ... -
远离技术的时候
2005-06-20 11:05 395这一个月一直在忙一个项目,现在项目的可研报告也 ... -
Asp.Net 中使用客户端Activex控件需要注意的事情
2005-08-13 12:57 923案例:Asp.Net +VB制作的Activex控件 操作系统 ... -
Office开发中的测试的与众不同之处
2005-08-22 14:29 673今天修改了一下自己以 ... -
大家确实都很忙
2005-08-27 08:20 705先谈几个技术问题: 1 ...
相关推荐
VB下插件(Add-Ins)编程[VB下插件(Add-Ins)编程]-精品源代码
VB课件--数据库与数据控件.ppt
vb控件pingvb控件pingvb控件pingvb控件pingvb控件pingvb控件pingvb控件pingvb控件ping
vb2005案例-使用ADO.NET控件查询Access数据库
vb2005案例-使用ADO.NET控件查询SQL Server数据库
vb.netComboBox-控件的使用.docx
有了这个控件就方便多了,Resize事件中一行代码不用写,只需将这个控件拖动到窗体上,然后设置被调整控件的Tag属性,在运行时刻就可以进行调整了.VB6ResizerLib 2.0 版本新增分隔条控件,运行时可动态调整.同时修改了1.x...
直接用VB6代码生成二维码,我也把代码做成了控件的方式,方便添加到工程随意使用。 看到CSDN有个同类功能上传,竟然要44积分,太黑了,CSDN管理员,看我的要多少积分? VB生成二维码图形的控件,非常好用,含使用范例...
我这里花了一百大洋买了个通信控件 但是卖的那个贱人不给我说明书就 不理了 我的QQ345324289 麻烦有需要的人去试试 顺便告诉下我 或者加我QQ... 这个控件我已经测试过VB区域的读写 但是M区的 不会用 希望大家 多多指教
VB6中的所有AtiveX控件,VB6的基本资料哈
VB6.0示例文件之 枚举系统正在运行的程序----窗体内控件可自适应改变大小的哟
VB QQ单行文本框-下拉列表-按钮-日历控件最酷
本文档主要讲述的是vb-TreeView-控件应用实例;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
教你使用VB控件,教你使用VB控件,教你使用VB控件
ActiveX控件的应用与工作原理。ActiveX控件的编写,如何为控件安排属性,方法,事件,属性页,持久性存储,控件如何通知容器自身属性的改变。如何注册控件与取消控件注册。在VB和VC中访问ActiveX控件。
很不错的VB插件,可以自动添加行号,自动记录错误位置等功能
vb.net像VB6一样使用控件数组 像VB6一样用来保存对像的index值
VB6控件参考手册 VB6控件参考手册 VB6控件参考手册
MS-VB6 控件参考手册-中文 编程必备