摘要:测试环境:winxp+vb6
添加2个列表框,1个按钮
´引用微软 ado ext.2.x for dll and security
dim cat as adox.catalog
dim cnn as adodb.connection
dim tbl as adox.table
private sub command1_click()
on error re......
摘要:有些软件如果你不输入正确的注册吗,那该死的“下一步”按钮就一直disable。这个disable按钮使用windowfrompoint, findwindowex均无法得到.
不过,使用enumchildwindows,getwindow去可以枚举到每一个窗口中的所有控件,包括disabled的控件,找到了句柄,我们就可以操作了
测试环境:winxp+vb6
具体的......
组件制作之五(托盘组件)这将是最后一个组件了,目标定为非可视化,事实上非可视化组件要比可视化组件难做,因为是从tcomponent继承而来,就没有了很多属性与事件.而这些都要我们从头来做过.用到的技术: 【程序编程相关:
由一个网友的问题引发的关于API函数在V】这个非可视化组件,我决定为托盘组件,其中用到的技术较多,我不如列一个表出来,然后再来讲解好一点.另外,可能篇幅会多一些,请耐心看. 【推荐阅读:
Internet Explorer 编程】2?托盘组件怎么样影响到主窗口最小化时隐藏 【扩展信息:
SQL SERVER实用经验技巧集 】1作为核心功能,当然是托盘的应用啦.3?托盘如何处理消息4?组件编辑器的用法上面每一个技术都非常有趣,让我们一个个来看吧:?一??托盘,是系统壳编程的一个功能,相信我们也看过很多啦,大概知道它用起来是什么样子的.那么它是如何实现的呢,windows定义了这样一个结构来存放托盘的信息:typedef?struct?_notifyicondata?{?//?nid??dword?cbsize;????hwnd?hwnd;?????uint?uid;?????uint?uflags;?????uint?ucallbackmessage;?????hicon?hicon;?????char?sztip[64];?}?notifyicondata,?*pnotifyicondata;cbsize是notifyicondata结构的尺寸,我们一般用sizeof就可以了hwnd一个窗口句柄,用于检索托盘消息的.然而我们的非可视组件并没有窗口呀,这就是技术列表第三条要讲的,这里从略uid?唯?一标识托盘图标的,我们可以随便指定一个数,但如果同时有不同的图标,则数应该不同uflags是nif_icon,nif_message,nif_tip中的一个或多个,我们全用就可以了.ucallbackmessage;托盘消息,是我们自定义的消息,这里我们定义为:????????????????const??????????????????wm_traymsg=wm_user+10;hicon托盘图标句柄sztip这个是托盘提示,当托盘出现时,鼠标移到哪里,就会出现该提示.delphi将这个结构重定义为tnotifyicondata,我们照这个来用就行了?我们应用托盘要用到api函数shell_notifyicon,其中有两个参数,第一个为nim_add,nim_delete??,nim_modify中的一个,分别表示添加托盘(图标出现)修改托盘(比如图标,提示),删除(图标消失)第二个参数是notifyicondata的指针嗯,托盘应该差不多了.?二?这个组件能够决定主窗体最小化时,是否是正常最小化并没有托盘图标.还是最小化到屏幕之外,使我们看不见,且托盘区出现了图标.这里有一个成员为factive来决定.那么我们是怎么样影响到主窗体呢,也即怎么截获窗体的最小化消息呢.全局变量application有一个方法为procedure?hookmainwindow(hook:?twindowhook);顾名思义,就是钩到主窗口的所有消息.里面的参数是twindowhook类型,它是一个方法指针,定义如下:type?twindowhook?=?function(var?message:?tmessage):?boolean?of?object;我们要自己定义过程的,然后传给hookmainwindow:function?appmsghook(var?msg:tmessage):boolean;application.hookmainwindow(appmsghook);这样做之后,主窗口的所有消息都会经过appmsghook方法啦,最小化消息也不例外,则我们可以在里面截获这个消息,并做一些操作:?做什么操作呢,先判断组件是否为设计时,如果是,不进行操作,如果不是进行下一步if?not?(csdesigning?in?componentstate)?then这样的意图是很明显的,因为当设计时的主窗其实是delphi的ide,如果让他处理该消息,其实是处理ide的最小化消息,这时如果你最小化ide,就会出现托盘啦.所以不能....
下一页 摘要:
程序的最终目的是处理数据,而数据是以特定的形式(如整数,实数,字符等)存在的,不同的数据之间还存在着某种联系(如一个整数数组是由若干个整数组成的),我们所说的数据结构就是数据的各种特定形式(数据的组织形式)。而数据类型呢?就是各种数据结构的表现形式。
一.贯穿始终的两个类型:
1, 常量(字面常量,直接常量)1>整形常量2>实型常量3>字符常量
4>符......