2007-06-16 16:47
1、隐藏文本框中的光标(不是鼠标哟!)
使用windows API中的HideCaret,一般在控件的GotFocus事件中调用:
Private Declare Function HideCaret Lib "User32.dll" (ByVal hwnd As Long) As Boolean
Private Sub Text1_GotFocus()
HideCaret Text1.hwnd
End Sub
2、为文本框创建快捷键
为了简化聚焦操作,在VB中可为任何有caption属性的控件创建快捷键,只需把caption属性设置为&加上想作为快捷 |
2007-06-16 16:45
突破SendKeys的限制
用SendKeys来捉屏
SendKeys 不能实现一些特殊的键, 如 Alt+PrintScr 。 不过使用 API ,可
以改变这样的状况。
声明:
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte,
ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
使用:
'一个抓屏的例子
Const VK_SNAPSHOT As Byte = &H2C
' 把应用窗口图象放到剪贴板:
Call keybd_event(VK_SNAPSHOT, 0, 0, 0)
'?把整个屏幕抓到剪贴板:
Call keybd_event(VK_ |
2007-06-16 16:45
无重复随机数序列产生器
'***************************************************************
' Name: A Non-Repeating Random Number Generator
' Description:With this simple, and very fast, routine you can ge
' nerate a series of non-repeating random numbers. You can select a
' series of 10 numbers, or a series of a million...It doesn't matte
' r. Can be useful for image fades, deck shuffling, random tip of t
' he day, etc. - It even tells you how long it took to gen |
2007-06-16 13:58
VB剪贴板的用法
VB中剪贴板的应用是很重要的,它能使你简化程序并能增强程序功能。下面就把常用的几个用于VB剪贴板的语句作一介绍:
一、CLEAR(,,STACK&)
用于关闭文件,清除文件缓冲区的内容和其它一些设置初始值的工作。其中STACK&为设置堆栈大小。
二、CLIPBOARD.GETDATA([FORMAT])
从剪板中返回一个图片。其中FORMAT的值有2、3、8、9具体对应请参照文末的表格。
三、CLIPBOARD.GETFROMAT(FORMAT)
返回TRUE&FALSE,指示剪贴板中是否是指定的格式。 |
2007-06-16 13:56
一组VB实用小程序
用VB实现编程离不开函数调用及Windows API函数的调用,以下是笔者收集的一些实用的小例程,它们可以直接用在你的实际编程中,也可以根据实际应用加以扩充完善。其中涉及Windows API函数调用的代码你可以从VB5.0系统的API函数查看器中复制函数定义内容,以避免出错。
1.系统型表单
系统型意味着用户完成当前表单操作之前无法进行其它操作,这对于编制系统口令保护界面尤为重要。如果你希望当前表单系统型表单,需如下定义API函数:
Declare Function SetSysModalWindow Lib "User" (ByV |
2007-06-16 13:55
一组VB应用技巧
路径问题
很多程序员在打开文件、调用程序时喜欢使用绝对文件路径,结果在另一台计算机上运行时便会遇到路径不对或需要重新拷贝到该目录的问题。其实,只要使用相对路径,就完全可以避免这个问题。在Windows下,某个程序一旦运行,除非特别指定了工作目录,一般该程序文件所在的目录就是工作目录,其他目录可以用工作目录为参照系。在编程中"App.Path"即为当前工作目录。另外,用安装程序向导制作安装盘时,只要在步骤"文件小结"中添加某文件时指定"文件详细资料"的路径即可安装该文件到指定的目录下。
|
2007-06-16 13:53
VB数据库记录查询四法
在VB中进行数据库记录的查询操作,必需根据打开数据库的方式来确定。以VB3.0为例,数据集对象有Table、Dynaset、Snapshot三种,下面四种查询方法分别适用于以上面不同的对象方式打开的数据库。
1.用SEEK方法查询。这种方法只使用于以Opentable方式打开的Table类型的数据表,而且在查询之前必须要以查询字段建立索引文件,由于已建立了索引文件,所以查询速度很快,这种方式的查询结果是将指针移到符合条件的第一个记录。例如:
set tb=db.opentable("demo")
tb.index="nameindex”
|
2007-06-16 13:52
VB中的时间处理问题
编程中常常会与时间打交道,VB编程自然也不例外。以下就谈谈我在这方面的一点经验。
VB中提供了很多变量类型,DATE型就是专门用了存储时间的。
1、DATE型变量及其相关函数。
在内部,一个Date占8个字节的内存,你可以方便地用它来存储日期和时间。给Date变量赋值是很容易的。但请保证输入顺序与系统默认的时间表示顺序相同。例如:
Dim d As Date
d = #5/23/99 11:45:34 AM#
DateSerial函数可以把年、月、日的数字组合成一个Date值。TimeSeri |
2007-06-16 13:52
用Form 的 Mouse_Move事件来检查鼠标是否在窗口内:
如果在窗口内就使窗口尺寸变大(Me.Height = 大窗口高度值);
如果鼠标离开就使窗口尺寸变小(Me.Height = 大窗口高度值);
但是,最好不要直接对窗口的尺寸进行增减,应该首先判断窗口尺寸是否已经是所需窗口的大小,最后设定窗口始终在最前方。下面附上代码,供参考:
'首先应设置Form1.BorderStyle = 0
Option Explicit
Dim a As Long
Dim b As Long
Private Sub Form_Load()
a = 3500
b = 1 |
2007-06-16 13:50
用MDB文件做密码库
能用数据库做密码库吗?
这是我曾经编过的一段程序,从MDB数据库中提取regpass表中的内容,用一个datacombo控件列出常的用户名供选择,一个TEXTBOX供用户输入密码,大概思路如此,希望对你有帮助.
_______________________________________________
Dim cnnPass As New ADODB.Connection
Dim rstPass As New ADODB.Recordset
Dim strSQL As String
Dim LoginSucceeded As Boolean
Private Sub cmdCancel_Click()
LoginSucceeded = False
Unload Me
End Sub
_ |
|
|
zhaowangliang
男
上次登录: 21天前
加为好友
|