Tag: VB

VB-用mousedown代替onclick事件来判断鼠标按键

. VB中的onclick事件,没有button参数,无法判断鼠标按左键/右键 而mousedown时间则有button参数 button=1 ‘左键 button=2 ‘右键 Private Sub mnuSave_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) …

发表在 程序设计 | 标签为 | 一条评论

VB窗体QueryUnload事件实例代码

private sub Form_QueryUnload(Cancel as integer,UnloadMode as integer) ‘参数 Cancel(设置为True可拒绝卸载窗体) UnloadMode为触发事件的模式. select case UnloadMode case vbFormControlMenu ‘=0 case vbFormCode ‘=1 case vbAppWindows ‘=2 case vbAppTaskManager ‘=3 case vbFormMdiForm ‘=4 case vbFormOwner ‘=5 end select end 上边的循环语句可以改成 select case UnloadMode case 0 … 继续阅读

发表在 程序设计 | 标签为 | 留下评论

VB窗口事件的发生顺序

窗口事件的发生顺序 1 Form_Initialize 2 Form_Load 3 Form_Resize 4 Form_Activate 5 Form_GotFocus 6 Form_Paint 7 Form_QueryUnload 8 Form_Unload 8 Form_Terminate …

发表在 程序设计 | 标签为 | 留下评论

VB Recordset的GetRows属性用法详解

Recordset 有个 GetRows 属性,就是把数据集输出到一个数组中。但是实用性可不小,在这里举一个例子说明一下GetRows的使用方法。 比如一个分类的表 T_Cate,结构和数据如下: ID | Title | Intro —————————————– 1 | 新闻 | 这里是新闻 2 | 教程 | 这里是教程 3 | 下载 | 这里是下载 表建立好了,数据也有了,下面我们就要用到GetRows咯! 程序代码: Dim Rs_Cate Dim Arr_Cate Set Rs_Cate=Conn.ExeCute(“select ID,Title,Intro FROM T_Cate ORDER BY … 继续阅读

发表在 程序设计 | 标签为 | 留下评论

VB的模块和类模块

模块是.bas文件,主要用于将代码分别存放,便于管理。 类模块是.cls文件,主要用于定义类和设计ActiveX EXE、ActiveX DLL。在VB中选择“工程|添加类模块”就可以在工程中加入一个类模块。然后,可以使用菜单中的“添加过程”命令添加属性、方法和事件。

发表在 程序设计 | 标签为 | 留下评论

VB – 动态循环加载控件数组失效的解决方法

sql=”select * from table1″ rs.open sql,cnn,1,3 ‘—————————————————————————- do while not rs.eof i=cint(rs(“sid”)) load frmmain.imgswitch(i)’只要加这个,循环就失效了? rs.movenext loop ‘—————————————————————————- 循环失效,只有一个控件被load,而且没有错误提示 经查,是由于事先控件imgswitch(0)已经load所致 修改程序如下: ‘—————————————————————————- do while not rs.eof i=cint(rs(“sid”)) if i<>0 then ‘— load frmmain.imgswitch(i) end if rs.movenext loop

发表在 程序设计 | 标签为 | 留下评论

VB – ini文件读写操作实例代码

ini文件读写操作实例代码 Private Declare Function GetPrivateProfileString Lib “kernel32″ Alias “GetPrivateProfileStringA” (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long Private Declare Function WritePrivateProfileString Lib … 继续阅读

发表在 程序设计 | 标签为 | 留下评论

VB编程的几大优良习惯

1、”&”替换”+” 2、变量命名大小写,语句错落有秩,源代码维护方面 3、请养成以下的“对象命名约定”良好习惯 4、在简单的选择条件情况下,使用IIf()函数 5、尽量使用Debug.Print进行调试 6、在重复对某一对象的属性进行修改时,尽量使用With….End With 7、MsgBox中尽量使用消息图标,这样程序比较有规范 8、在可能的情况下使用枚举 1、”&”替换”+” 在很多人的编程语言中,用“+”来连接字符串,这样容易导致歧义。良好的习惯是用“&”来连接字符串. 不正确: Dim sMessage As String sMessage = “1″ + “2″ 正确: Dim sMessage As String sMessage = “1″ & “2″ 注意:”&”的后面有个空格 2、变量命名大小写,语句错落有秩,源代码维护方面 下面大家比较一下以下两段代码: 读懂难度很大的代码: Dim SNAME As String Dim … 继续阅读

发表在 程序设计 | 标签为 | 一条评论

VB – Listbox按数字排序的函数代码

VB中实现listbox控件按数字进行排序的函数代码如下: Public Sub ReSort(L As Control) Dim P%, PP%, C%, Pre$, S$, V&, NewPos%, CheckIt% Dim TempL$, TempItemData&, S1$ For P = 0 To L.ListCount – 1 S = L.List(P) For C = 1 To Len(S) V = Val(Mid$(S, C)) … 继续阅读

发表在 程序设计 | 标签为 | 一条评论

VB – Combox两点小知识

1、设置默认值: – Combox1.ListIndex = Sindex ‘Sindex_要设置为默认值的项 2、限制只能选择,不能输入 –将dropDownStyle属性改称dropdownList …

发表在 程序设计 | 标签为 | 留下评论

VB conflicting names were found in “.frm”解决方法

在VB中有时候在更改窗口命名后,打开程序时会出现如下提示: “conflicting names were found in ‘F:labfrmMain.frm’ “.The name ‘frmMain’ will be used 解决方法: 1) 先将窗体frmmain在属性中更改其name属性,如frmmain2,保存 2) 再将frmmain2改为frmmain,保存即可! …

发表在 程序设计 | 标签为 | 留下评论

VB-网格排序函数

‘************************************** ‘ Name: SortFlex ‘通过点击网格列标头,对网格内容进行排序 ‘ 参数描述: SortFlex MSFlexGrid, CollumToSort , StringSortAsBoolean , StringSortAsBoolean … 调用示例: SortFlex flxProject, flxProject.MouseCol, False, True, True, True ”************************************** Public Sub SortFlex(FlexGrid As MSFlexGrid, TheCol As Integer, ParamArray IsString() As Variant) FlexGrid.Col = TheCol For … 继续阅读

发表在 程序设计 | 标签为 | 留下评论

MSHFlexGrid参考资料

1) MSHFLEXGRID的重要属性. MSHFLEXGRID的属性非常多,其实绝大部分的属性和网格的显示的外观有关.在MSDN里,这些属性足以将人搞得眼花缭乱的了(我相信你没有耐性一个一个地翻查). 下面列出常用的属性,方法事件及其简要说明.以便查阅. 属性类型说明 AllowBigselectorBoolean返回/设置一个值,定义当在行或列的头部单击时,是否该行或列将整个被选中

发表在 程序设计 | 标签为 , | 留下评论

判断Textbox输入字符的类型

Textbox输入不同字符,如何判断其类型: for i=0 to len(text1.text)   select case asc(i)    case asc(“0″) to asc(“9″) ‘数字    case asc(“A”) to asc(“z”) ‘字母    case <0 ‘汉字    case else   end select next

发表在 程序设计 | 标签为 | 留下评论

VB-Mshflexgrid第一列高亮显示

VB Mshflexgrid控件设置第一行高亮显示: msflexgrid.selectionMode=1 msflexgrid.highlith=2 msflexgrid1.focusRect=0 ~~感谢 一只呆狗 …

发表在 程序设计 | 标签为 , | 留下评论

VB-Mshflexgrid隔行显示不同颜色

Public Function FlexRedraw(F As MSHFlexGrid) As String With F .Redraw = False ‘禁止重画,防止闪动 .BackColorFixed = RGB(190, 218, 178) ‘标题行背景色 .Row = 0 ‘设置标题行文字的对其方式 .Col = 0 .ColSel = .Cols – 1 .CellForeColor = vbBlue ‘标题行文字颜色 .CellAlignment = 4 ‘对其方式为中间中间 .ScrollTrack … 继续阅读

发表在 程序设计 | 标签为 , | 留下评论

VB-解决mshflexgrid 不能删除最后一条记录的问题

    如果默认设置routegrid.fixedrows=1,那么删除最后一条记录的时候就会提示出错”can not move last non-fixed row”     解决方法如下: If Rs.RecordCount = 1 Then’如果是最后一条记录 For I = 0 To 4 ‘将Mshflexgrid的最后一条记录置为空 RouteGrid.TextMatrix(1, i) = “” Next Else RouteGrid.RemoveItem (RouteGrid.RowSel) End If sql = “delete from IProute where id=” /从数据库删除 Cnn.Execute sql Rs.Requery … 继续阅读

发表在 程序设计 | 标签为 , | 留下评论

VB-限制Mshflexgrid只能选择一条记录

msflexgrid1.rowsel=msflexgrid.row …

发表在 程序设计 | 标签为 , , | 一条评论