如何捕捉“动态”控件事件?

argent_huang 2000-08-07 02:38:00
请问各位高手如何捕捉多个动态添加的控件的事件?
如:
set obj=controls.add("vb.textbox","123")
set obj=controls.add("vb.textbox","456")
中,obj.name="123"的事件。
...全文
99 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Limu 2000-08-08
  • 打赏
  • 举报
回复
Dim withevent Obj1 as textbox,withevent Obj2 as textbox
private sub Form_Load()
set obj1=controls.add("vb.textbox","Obj1")
Set obj2=controls.add("Vb.textbox","Obj2")
End sub
private sub obj1_Change()
end sub
private sub Obj2_change()
End Sub
lty 2000-08-08
  • 打赏
  • 举报
回复
直接就定义成控件数组不就成了。
argent_huang 2000-08-08
  • 打赏
  • 举报
回复
limu:
Thank you for the answer first.
But the answer what you give is not i realry want.
我要的是能否有一个通用事件,like "(label*selecter)->" (c++ biulder)
...比如:
private sub obj_click(byref index as integer)
obj(index).name="123"
end sub
...或定义一个 “withevent” 的控件数组吧。
VB6.0动态加载ActiveX控件漫谈 深圳 罗汉军 罗德昌 熟悉VB的朋友对使用ActiveX控件一定不会陌生,众多控件极大地方便了编程, 但唯一的缺陷是不能动态加载控件,必须在设计时通过引用,将控件放置在窗体上。 VB6.0已能够解决该问题,只是帮助中没有明确说明,并且没有描述到一些关键功 能,由于以前的版本中可以动态创建进程外服务:如果对象是外部可创建的,可在 Set 语句中用 New 关键字、CreateObject 或 GetObject 从部件外面将对象引用赋予变 量。 如果对象是从属对象,则需使用高层对象的方法,在 Set 语句中指定一个对象引 用: Dim xlApp1 As Excel.Application Set xlApp1 = New Excel.Application 或 Dim xlApp As Object '定义存放引用对象的变量。 Set xlApp = CreateObject("excel.application") xlApp.Visible = True ---- 这些语法很容易造成误导,以为动态加载ActiveX控件也是此方法,可能有朋 友也象我一样利用CreateObject尝试了无数次,却无功而返,不知微软公司是出于何种 考虑,动态加载ActiveX控件是扩展控件集合的方式实现,通过实际摸索,终于就如 何实现动态ActiveX控件找出了一条切实可行的方法,下面以一个具体的实例来详细说 明。 一、ActiveX控件 ---- ActiveX 控件是 Visual Basic 工具箱的扩充部分。使用 ActiveX 控件的方 法与使用其它标准内装的控件,如 CheckBox 控件,完全一样。在程序中加入 ActiveX 控件后,它将成为开发和运行环境的一部分,并为应用程序提供新的功能。 ---- ActiveX 部件通过客户端/服务器关系与应用程序— 及与部件相互之间— 交 互作用。客户端是使用部件功能的应用程序代码或部件。服务器是部件及其关联的对象。 例如,假设应用程序使用 ActiveX 控件来提供一个标准的雇员窗体,供公司的多种 应用程序使用。提供雇员窗体的 ActiveX 控件就是服务器,使用这个控件的应用程序 就是服务器的客户端。 二、加载方法 ---- VB6.0中对Controls 集合进行了扩展,以前版本中Controls 集合在窗体上列 举出已加载的控件,这在迭代过程中是很有用的。Controls 集合标识一个叫做 Controls的内在窗体级变量。如果忽略可选的 object 所在处的整数,则关键字 Controls 必须包括在内。我们通常在窗口中使用如下代码: Text1.Text="Hello, world" 其实也可以使用如下代码达到同一目的: Controls(1).Text="Hello, world" ---- 在VB6.0中除了原来的Clear、Remove 方法外(很奇怪,为什么微软在VB5.0中 只提供这两种方法,而没有提供Add方法,因为没有Add,这两种方法也就没什么用处), 增加了Add方法,该方法就是用于动态加载控件的: Controls.Add(progid as String, Name as String); progid: ActiveX部件的ProgID,如:"VB.CheckBox"; Name:ActiveX部件加载后的名称,如: "MyCheckBox"; 若要在窗体上添加一个名为MyButton的按钮,可以使用: dim oControl as Object '窗体级变量 注意:这里声明为Object对象类型 Private Sub LoadControl() Set oControl = Controls.Add ("VB.CommandButton", "MyButton") oControl.Left = 10 oControl.Top = 10 oControl.Visible = True '使控件可见 End Sub ---- 这是VB6.0的标准语法,它在例程中也是如此演示的,不过该方法虽然现实了 控件动态加载,按钮显示在窗体上,可以象普通按钮一样按下去,但加载的控件不能 预先设计响应事件代码,如:事件Sub MyButton_Click()将是非法的,当然,可以将要 响应的事件封装在控件内部。就编程的观点来看该方法没什么大的用处,开发ActiveX 控件的目的是为了资源共享,为了被其他开发人员利用,所以要提供必要的事件接口, 显然利用该方法不行,通过分析VBControls等相关对象,找出VBControlExtender对象 与EventInfo相结合能提供事件陷井捕捉,VBControlExtender对象对动态添加控件特 别有用,它提供了一套通用的属性、方法、事件给开发人员,它的一个突出特点是能编 程设计控件事件,熟习类编程的朋友对带事件的对象声明一定不会陌生: ---- Dim WithEvents objElemt as CElemtVBControlExtender也不例外,声明的 语法一样,只不过它有个特殊的事件ObjectEvent(Info As EventInfo),它能捕捉到对 象使用RaiseEvent产生的所有事件,EventInfo数据结构映射了事件的名称、参数个数 和参数的值。VBControlExtender和 EventInfo相结合,采用Select Case 就可以预先 将不同类对象的事件放置一起,各自独立运作。将上面的代码改写一下就能提供Click 事件了: ---- Dim WithEvents oControl As VBControlExtender '带事件声明声明之后您 就可以在代码窗口的左上角的对象下拉框中发现该对象出现了,也就是说,该对象有了 事件或方法了,它的事件有DragDrop,DragOver ,LostFocus ,GotFocus , ObjectEvent和Validate,其中ObjectEvent是通用的事件捕捉。 Private Sub LoadControl() Set oControl = Controls.Add ("VB. CommandButton", "MyButton") oControl.Visible = True End Sub Private Sub oControl_ObjectEvent(Info As EventInfo) Select Case Info.Name Case "Click" 'Click事件 '您可以添加处理Click事件代码 MsgBox "您按了MyButton!" Case Else ' 其他事件 ' Handle unknown events here. End Select End Sub ---- 当然对微软提供的标准控件能采用该方法添加,大家都不会怀疑,但自己开 发的控件也能吗?答案是肯定的,我们可以用一个实际的例子进行说明。 三、实例描述 ---- 假设一个本地网络的监控系统,需要在原理图与实物示意图间切换,原理图 包括组网结构、传输资源、监控主机等,而实物示意图包括路由器、设备、采集器等, 当然两种图的事件要一致,如双击某个设备图形将显示给设备的实时数据等,为了简化 维护,将原理图与实物示意图封装成ActiveX控件,由于每种图需要加载许多图形控 件,消耗资源较大,不能同时加载,需要将其分解为两个控件,在切换时首先卸载一个 控件,然后加载另一个控件,所以要实现动态加载ActiveX控件。 ---- 原理图控件为--Theory.ocx ,对应工程为CTheory; ---- 实物图控件为---Fact.ocx ,对应工程为CFact; ---- 注意:为了简化,在设计控件时不设置许可证关键字。 ---- 实物图控件上的图形对象可以被拖动,拖动后的位置信息通过事件 ChangePosition来通知拥有该控件的窗体,以便下次加载能显示在最后位置,实物 图和原理图控件都有双击事件完成的工作相同,其他事件此处忽略。 ---- 四、具体示例 ---- 1、准备工作 ---- 对控件Theory.ocx 、Fact.ocx 进行注册(利用Regsvr32.exe注册); ---- 建立窗体frmTest.frm ,在窗体上放置按钮cmdLoadOcx—“原理图” ---- 2、声明窗体级变量与加载函数LoadControl Dim WithEvents oControl As VBControlExtender '地图仿真控件对象 Dim mblnTheory As Boolean '是否显示原理图 Private Function LoadControl(intType As Integer) If Not oControl Is Nothing Then '首先判断对象是否存在,若存在则卸载 Controls.Remove("MapView") '卸载控件,此操作非常重要 End If If intType = 0 Then Set oControl = Controls.Add ("CTheory. Theory", "MapView") Else Set oControl = Controls.Add ("CFact.Fact", "MapView") End If oControl.Height = 3500 oControl.Width = 6500 oControl.Top = 100 oControl.Visible = True End Function Private Sub Form_Load() mblnTheory = True End Sub ---- 3、为按钮cmdLoadOcx编写代码 Private Sub cmdLoadOCX_Click() If mblnTheory Then Call LoadControl(0) mblnTheory = False cmdLoadOCX.Caption = "实物图" Else Call LoadControl(1) mblnTheory = True cmdLoadOCX.Caption = "原理图" End If End Sub ---- 4、为事件ChangePosition编写代码 Private Sub oControl_ObjectEvent (Info As EventInfo) Select Case Info.Name Case "ChangePosition" MsgBox CStr(Info.EventParamters.Item( 1).Value) + ":" + _ CStr(Info.EventParamters.Item(2).Value) Case "DbClick" '双击处理代码 Case Else ' End Select End Sub ---- 注意: EventInfo的参数EventParamters集合中是以1开始的,一般来说,微 软新的集合一般是以1开始的,而旧的是以0开始的,如RdoErrors.Item(0)。 ---- 5、关闭窗口前卸载控件 Private Sub Form_Unload(Cancel As Integer) Controls.Remove("MapView") Set oControl = Nothing End Sub ---- 6、特别注意 ---- 通过Controls.Add方法添加的ActiveX控件一定不能在该工程中有该控件的任 何引用,否则系统将出错。 四、小结 ---- 通过使用动态加载ActiveX控件使用庞大的应用程序变得很小,将不同的 ActiveX控件进行各种组合,使应用程序更加灵活多变,如您的应用系统要处理三十种门禁, 而某个具体的用户可能只有一种或两种门禁,根本没必要首先将所有门禁包含到应用 中,可将各个门禁独立封装,只安装注册需要的组件,就象Windows的自定义安装一样。 微软的未来技术基础是分布式的组件技术(DCOM),将会把代码的重用发挥得淋漓尽致。 您不妨试一试动态加载,也许会产生令您惊喜的效果! ---- 本代码在Win98、VB6.0(英文版)上编译、运行。
《Visual C++编程技巧精选500例》pdf Visual C++编程技巧精选500例.pdf 第1章 消息框 001 如何创建消息框? 002 如何设置消息框标题? 003 如何使用资源串创建消息框? 004 如何使用资源串动态显示消息框内容? 005 如何使消息框显示问号图标? 006 如何使消息框显示“是/否”按钮? 007 如何使消息框显示“重试/取消”按钮? 第2章 常用控件 008 如何使用滑块控件? 009 如何使用标签控件? 010 如何使用树形控件? 011 如何使用列表控件? 012 如何使用进度条控件? 013 如何使用滚动条控件? 014 如何设置按钮控件标签? 015 如何设置按钮控件字体? 016 如何动态创建按钮控件? 017 如何禁用和启用按钮控件? 018 如何隐藏和显示按钮控件? 019 如何在按钮控件上加载图标? 020 如何在按钮控件上加载位图? 021 如何在程序窗口中创建按钮控件? 022 如何限制编辑控件输入的字符类型? 023 如何显示载有RichEdit控件的对话框? 024 如何在列表框中自动装载磁盘文件列表? 025 如何使1istContro1控件支持整栏选择? 026 如何使用PictureBox控件浏览多种格式的图像? 第3章 通用对话框 027 如何使用字体对话框? 028 如何使用颜色对话框? 029 如何使用页面设置对话框? 030 如何使用查找与替换对话框? 031 如何设置文件保存对话框? 032 如何设置文件对话框标题? 033 如何设置文件对话框过滤器? 034 如何设置文件对话框多重选择功能? 035 如何设置文件对话框打开时的目录位置? 036 如何从文件对话框中选择文件夹? 037 如何从文件对话框中新建文件夹? 038 如何在文件对话框中预览位图文件? 039 如何从文件对话框中获取文件扩展名? 040 如何从文件对话框中获取文件标题? 041 如何获取文件对话框选择的多个文件? 042 如何在程序启动时弹出文件打开对话框? 第4章 标题栏与菜单栏 043 如何获取标题栏高度? 044 如何设置标题栏文字? 045 如何获取标题栏文字颜色? 046 如何设置标题栏文字颜色? 047 如何在文档类中设置标题栏文字? 048 如何防止在标题栏上显示文档名? 049 如何禁止标题栏的最小化按钮?… 050 如何禁止标题栏的最大化按钮? 051 如何禁止标题栏的关闭按钮? 052 如何获取标题栏的按钮尺寸? 053 如何自定义标题栏? 054 如何获取IE浏览器标题内容? 055 如何取消标题栏的右键系统菜单? 056 如何在标题栏右键菜单中增加菜单项? 057 如何动态增加菜单? 058 如何动态删除菜单? 059 如何启用和禁用菜单命令? 060 如何为菜单添加复选标记? 061 如何为菜单添加单选标记? 062 如何动态删除系统菜单项? 063 如何动态增加系统菜单项? 064 如何触发一个菜单命令? 065 如何创建一个弹出式菜单? 066 如何设计自定义快捷菜单? 067 如何在对话框类型的应用程序中加载菜单? 068 如何获取菜单栏高度? 069 如何取消应用程序菜单栏? 070 如何取消对菜单状态的限制? 071 如何确定顶层菜单所占的行数? 072 如何在子菜单中记录历史文件? 第5章 工具栏与状态栏 073 如何给工具栏分组? 074 如何关闭默认工具栏? 075 如何设置工具栏标题? 076 如何设置工具栏按钮提示? 077 如何关闭工具栏按钮提示? 078 如何启用和禁用工具栏按钮? 079 如何设置下压式工具栏按钮? 080 如何给工具栏按钮设置下拉箭头? 081 如何为工具栏添加动态真彩按钮? 082 如何为工具栏按钮添加文字? 083 如何为IE工具栏添加按钮? 084 如何在工具栏上加载动画? 085 如何在工具栏上加载组合框? 086 如何在工具栏上加载字体组合框? 087 如何使用代码获取工具栏的指针? 088 如何在对话框程序中加入工具栏? 089 如何控制工具栏的停靠位置? 090 如何使用对话栏? 091 如何增加状态栏窗格? 092 如何更新状态栏窗格? 093 如何关闭默认状态栏? 094 如何在状态栏上加载图像? 095 如何在状态栏上加载进度条? 096 如何在状态栏上显示滚动文本? 097 如何在状态栏上显示当前时间? 098 如何在状态栏上显示鼠标当前位置? 099 如何使用代码获取状态栏指针? 第6章 图标与光标 100 如何设置光标? 101 如何裁剪光标? 102 如何捕捉光标热区? 103 如何创建一个等待光标? 104 如何结束一个等待光标? 105 如何获取默认光标大小? 106 如何装入一个系统预定义光标? 107 如何获取系统图标? 108 如何获取默认图标大小? 109 如何获取应用程序图标? 110 如何设置应用程序图标? 111 如何在系统托盘中设置图标? 112 如何直接从文件中装入一个图标? 113 如何使应用程序标题栏图标旋转? 第7章 程序窗口 114 如何切分同视图窗口? 115 如何切分多视图窗口? 116 如何判断程序窗口是否为切分窗口? 117 如何创建非矩形窗口? 118 如何实现无标题窗口的拖动? 119 如何将应用程序窗口居中显示? 049 如何禁止标题栏的最小化按钮?… 050 如何禁止标题栏的最大化按钮? 051 如何禁止标题栏的关闭按钮? 052 如何获取标题栏的按钮尺寸? 053 如何自定义标题栏? 054 如何获取IE浏览器标题内容? 055 如何取消标题栏的右键系统菜单? 056 如何在标题栏右键菜单中增加菜单项? 057 如何动态增加菜单? 058 如何动态删除菜单? 059 如何启用和禁用菜单命令? 060 如何为菜单添加复选标记? 061 如何为菜单添加单选标记? 062 如何动态删除系统菜单项? 063 如何动态增加系统菜单项? 064 如何触发一个菜单命令? 065 如何创建一个弹出式菜单? 066 如何设计自定义快捷菜单? 067 如何在对话框类型的应用程序中加载菜单? 068 如何获取菜单栏高度? 069 如何取消应用程序菜单栏? 070 如何取消对菜单状态的限制? 071 如何确定顶层菜单所占的行数? 072 如何在子菜单中记录历史文件? 第5章 工具栏与状态栏 073 如何给工具栏分组? 074 如何关闭默认工具栏? 075 如何设置工具栏标题? 076 如何设置工具栏按钮提示? 077 如何关闭工具栏按钮提示? 078 如何启用和禁用工具栏按钮? 079 如何设置下压式工具栏按钮? 080 如何给工具栏按钮设置下拉箭头? 081 如何为工具栏添加动态真彩按钮? 082 如何为工具栏按钮添加文字? 083 如何为IE工具栏添加按钮? 084 如何在工具栏上加载动画? 085 如何在工具栏上加载组合框? 086 如何在工具栏上加载字体组合框? 087 如何使用代码获取工具栏的指针? 088 如何在对话框程序中加入工具栏? 089 如何控制工具栏的停靠位置? 090 如何使用对话栏? 091 如何增加状态栏窗格? 092 如何更新状态栏窗格? 093 如何关闭默认状态栏? 094 如何在状态栏上加载图像? 095 如何在状态栏上加载进度条? 096 如何在状态栏上显示滚动文本? 097 如何在状态栏上显示当前时间? 098 如何在状态栏上显示鼠标当前位置? 099 如何使用代码获取状态栏指针? 第6章 图标与光标 100 如何设置光标? 101 如何裁剪光标? 102 如何捕捉光标热区? 103 如何创建一个等待光标? 104 如何结束一个等待光标? 105 如何获取默认光标大小? 106 如何装入一个系统预定义光标? 107 如何获取系统图标? 108 如何获取默认图标大小? 109 如何获取应用程序图标? 110 如何设置应用程序图标? 111 如何在系统托盘中设置图标? 112 如何直接从文件中装入一个图标? 113 如何使应用程序标题栏图标旋转? 第7章 程序窗口 114 如何切分同视图窗口? 115 如何切分多视图窗口? 116 如何判断程序窗口是否为切分窗口? 117 如何创建非矩形窗口? 118 如何实现无标题窗口的拖动? 119 如何将应用程序窗口居中显示? 176 如何终止当前进程? 177 如何获取系统进程? 178 如何终止指定进程? 179 如何在程序中启动程序? 180 如何使用事件对象同步进程? 181 如何在两个执行程序间进行数据通信? 182 如何使用工作线程? 183 如何正常终止线程? 184 如何异常终止线程? 185 如何获取线程退出码? 186 如何使用线程优先级? 187 如何使用用户界面线程? 188 如何实现多线程多任务? 189 如何使用临界区同步线程? 190 如何调用帮助文件(.chm)? 第10章 字符串 191 如何对字符串进行连接? 192 如何对字符串进行比较? 193 如何从字符串中存取字符? 194 如何计算一个字符串的大小? 195 如何快速格式化一个字符串? 196 如何将CString类型转换成int类型? l97 如何将CString类型转换成loat类型? 198 如何将CString中的字符串赋值给字符指针? 199 如何折行显示字符串? 200 如何旋转显示字符串? 20l 如何显示星期月份字符串? 202 如何显示包括制表符的字符串? 203 如何使用BIG5显示一个字符串? 204 如何使字符串输出具有立体效果? 205 如何用省略号显示字符串的其余部分? 第11章 文件读写操作 206 如何打开文件? 207 如何关闭文件? 208 如何读文件? 209 如何写文件? 210 如何定位文件? 2ll 如何判断文件大小? 212 如何获取文件错误类型? 213 如何检测文件是否已经发生更改? 214 如何判断文件在磁盘上是否存在? 215 如何读写INI文件? 216 如何创建一个临时文件? 217 如何创建一个特大型文件? 218 如何创建一个文本文件? 219 如何删除一个文本文件? 220 如何更名一个文本文件? 221 如何对文本文件进行查找与替换? 222 如何从文本文件中读取一个字符串? 第12章 文件与文件夹属-操作 223 如何判断文件只读属性? 224 如何设置文件只读属性? 225 如何判断文件隐藏属性? 226 如何设置文件隐藏属性? 227 如何判断文件归档属性? 228 如何设置文件归档属性? 229 如何取消文件所有属性? 230 如何获取文件大小? 231 如何获取文件类型? 232 如何获取系统所有文件类型? 233 如何获取文件创建时间? 234 如何获取文件修改时间? 235 如何获取文件访问时间? 236 如何设置文件创建时间? 237 如何设置文件修改时间? 238 如何设置文件访问时间? 239 如何获取文件夹创建时间? 240 如何获取文件夹修改时间? 241 如何获取文件夹访问时间? 242 如何设置文件夹创建时间? 243 如何设置文件夹修改时间? 244 如何设置文件夹访问时间? 245 如何判断文件夹真假? 第13章 文件与文件夹系统操作 246 如何复制文件? 247 如何删除文件? 248 如何移动文件? 249 如何更名文件? 250 如何显示文件复制过程对话框? 251 如何复制文件夹? 252 如何创建文件夹? 253 如何删除文件夹? 254 如何更名文件夹? 255 如何创建多层文件夹? 256 如何删除多层文件夹? 第14章 系统控制操作 257 如何隐藏操作系统任务栏? 258 如何取消隐藏操作系统任务栏? 259 如何检索系统任务栏各窗口标题? 260 如何关闭计算机? 261 如何注销当前用户? 262 如何重新启动计算机? 263 如何关闭计算机并关闭电源? 264 如何设置系统启动自运行程序? 265 如何在程序中将其他窗口程序调至前台? 266 如何获取当前系统时间? 267 如何设置当前系统时间? 268 如何计算时间差? 269 如何获取系统显示元素的颜色? 270 如何获取系统当前的显示模式? 271 如何获取系统支持的显示模式? 272 如何设置系统当前的显示模式? 273 如何设置桌面墙纸? 274 如何删除桌面快捷方式? 275 如何清空回收站? 276 如何清空IE历史记录? 277 如何清除IE地址栏历史记录? 278 如何添加IE浏览器收藏夹内容? 279 如何使用默认浏览器打开指定网页? 280 如何清除上次登录用户历史记录? 281 如何强制操作系统只执行规定的程序? 282 如何在系统“控制面板/添加删除程序”中添加程序? 283 如何注册COM服务组件? 284 如何取消COM服务组件注册? 285 如何隐式链接DLL? 286 如何显式链接DLL? 287 如何使用AFX EXT CLASS导出类? 288 如何使用declspec(dllexport)导出DLL函数? 第15章 程序版权信息 289 如何查询程序说明? 290 如何查询程序开发商? 291 如何查询程序内部名称? 292 如何查询程序产品名称? 293 如何查询程序关联注释? 294 如何查询程序注册商标? 295 如何查询程序版权声明? 296 如何查询程序使用语言? 297 如何查询程序原始文件名? 298 如何查询程序私有版本信息? 299 如何查询程序特殊内部版本信息? 300 如何查询程序版本号? 301 如何查询程序产品版本号? 302 如何查询程序内部版本号? 303 如何查询程序产品专用部件号? 304 如何查询程序版本号的主版本号? 305 如何查询程序版本号的次版本号? 306 如何查询程序产品的内部版本号? 307 如何查询程序产品版本号的主版本号? 308 如何查询程序产品版本号的次版本号? 第16章 系统软件信息 309 如何获取用户名称? 310 如何获取计算机名称? 311 如何设置计算机名称? 312 如何获取计算机所有者名称? 313 如何获取计算机所有者单位名称? 314 如何获取操作系统安装序列号? 315 如何获取操作系统的产品名称? 316 如何获取IE浏览器的版本号? 317 如何获取Windows的版本号? 318 如何获取Windows的内建号? 319 如何获取Windows的版本名称? 320 如何获取当前文件夹的位置? 321 如何获取文件夹的根目录位置? 322 如何获取文件夹的上层目录位置? 323 如何获取文件夹中的所有文件? 324 如何获取文件夹中的所有子文件夹? 325 如何获取启动文件夹位置? 326 如何获取临时文件夹位置? 327 如何获取桌面文件夹位置? 328 如何获取字体文件夹位置? 329 如何获取网上邻居文件夹位置? 330 如何获取我的文档文件夹位置? 331 如何获取System文件夹位置? 332 如何获取Windows文件夹位置? 第17章 系统硬件信息 333 如何获取CPU名称? 334 如何获取CPU标识? 335 如何获取CPU制造商名称? 336 如何获取CPU主频? 337 如何获取CPU个数? 338 如何判断CPU是否支持3DNow? 339 如何判断CPU是否支持MMX? 340 如何判断是否提供安全特性? 341 如何判断低档处理器? 342 如何获取显卡BIOS版本号? 343 如何获取显卡BIOS更新日期? 344 如何获取系统BIOS版本号? 345 如何获取系统BIOS更新日期? 第18章 存储设备管理 346 如何获取磁盘序列号? 347 如何获取磁盘卷标名称? 348 如何设置磁盘卷标名称? 349 如何获取磁盘容量大小? 350 如何获取磁盘文件系统名称? 351 如何获取系统所有磁盘驱动器? 352 如何设置磁盘图标? 353 如何隐藏磁盘驱动器? 354 如何判断磁盘驱动器类型? 355 如何启用光驱的自动播放功能? 356 如何指定使用什么程序播放CD? 357 如何在程序中打开/关闭光驱? 358 如何获取系统内存的使用情况? 359 如何映射网络驱动器? 360 如何取消网络驱动器映射? 第19章 鼠标及键盘 361 如何禁止交换鼠标左右键? 362 如何判断鼠标左右键是否交换? 363 如何判断系统是否安装鼠标? 364 如何判断鼠标是否有滚轮? 365 如何禁止使用鼠标滚轮? 366 如何获取鼠标按键个数? 367 如何模仿鼠标操作? 368 如何跟踪鼠标当前位置? 369 如何获取鼠标活动范围? 370 如何获取鼠标双击范围大小? 371 如何获取鼠标双击响应速度? 372 如何设置鼠标双击响应速度? 373 如何判断鼠标单击标题栏操作? 374 如何判断鼠标是否与Ctrl键共同操作? 375 如何捕获键盘Home等虚键?. 376 如何设置键盘输入响应速度? 377 如何使用回车键切换输入焦点? 378 如何为应用程序自定义快捷键? 379 如何捕获AR和Shift+Alt组合键? 380 如何捕获Ctrl和Ctrl+Shift组合键? 381 如何捕获Ctrl、Ctrl+Alt和Ctrl+Alt+Shifl组合键? 第20章 声音和视频 382 如何调节系统音量? 383 如何设置背景音乐? 384 如何播放AVI动画文件? 385 如何播放VCD视频文件? 386 如何播放WAV简单声音文件? 387 如何播放系统默认声音文件? 388 如何使用MCI播放WAV声音文件? 389 如何使用MCI播放MIDI声音文件? 第21章 图形和图像 390 如何通过读取位图资源显示位图? 391 如何通过读取位图文件显示位图? 392 如何通过装入位图文件显示位图? 393 如何缩放显示位图? 394 如何截取当前屏幕? 395 如何任意裁剪图片? 396 如何利用掩码位图制作透明图片? 397 如何实现图形的拉伸显示效果? 398 如何通过位图文件直接得到位图大小? 399 如何获取屏幕上某点的颜色? 400 如何设置屏幕上某点的颜色? 401 如何读取与显示JPG等格式图像文件? 402 如何转换图像文件大小? 403 如何转换图像文件格式? 404 如何将彩色图像转换成黑白图像? 405 如何实现图像的底片化效果? 406 如何实现图像的雾化效果? 407 如何实现图像的锐化效果? 408 如何实现图像的柔化效果? 409 如何实现图像的马赛克效果? 410 如何实现图像的百叶窗效果? 411 如何复制图像? 412 如何剪切图像? 413 如何粘贴图像? 414 如何实现画线拉伸效果? 415 如何绘制渐变色图形? 416 如何绘制渐变色文字? 第22章 网络 417 如何初始化Socket? 418 如何创建Socket? 419 如何处理网络监听Socket? 420 如何处理C/S互连? 421 如何处理C/S数据发送? 422 如何处理C/S数据接收? 423 如何实现无连接的通信? 424 如何实现有连接的通信? 425 如何用有连接方式实现网络会议? 426 如何获取网卡地址? 427 如何扫描端口状态? 428 如何进行连续的Ping? 429 如何获取主机名和IP地址? 430 如何搜索局域网内的计算机? 431 如何创建拨号网络? 432 如何检查电子邮件数量? 433 如何发送和接收电子邮件? 434 如何连接FTP服务器? 435 如何获取FTP服务器的文件列表? 436 如何向FTP服务器上传文件? 437 如何从FTP服务器下载文件? 438 如何查询HTTP站点? 439 如何查询FTP站点? 440 如何查询Gopher站点? 第23章 数据库 441 如何使用ODBC连接数据源? 442 如何使用ODBC实现应用程序与数据库记录的交换? 443 如何使用ODBC浏览数据库记录? 444 如何使用ODBC增加数据库记录? 445 如何使用ODBC删除数据库记录? 446 如何使用ODBC修改数据库记录? 447 如何使用ODBC排序数据库记录? 448 如何使用ODBC查询数据库记录? 449 如何使用SQL语句查询排序数据厍记录? 450 如何使用ODBC创建EXCEL文件? 451 如何使用ODBC读取EXCEL文件信息? 452 如何获取系统已经安装的ODBC驱动程序? 453 如何安装Visual C++.NET中的MS Server服务管理器桌面引擎? 454 如何在Visual C++.NET中创建 MS SQL Server数据库? 455 如何使用.NET类库访问数据库? 456 如何使用DAO新建数据库? 457 如何使用DAO打开数据库? 458 如何使用DAO关闭数据库? 459 如何使用DAO新建数据库表? 460 如何使用DAO打开数据库表? 461 如何使用DAO删除数据库表? 462 如何使用DAO浏览数据库表字段? 463 如何使用DAO增加数据库表字段? 464 如何使用DAO删除数据库表字段? 465 如何使用DAO新建数据库表查询? 466 如何使用DAO浏览数据库表查询? 467 如何使用DAO删除数据库表查询? 468 如何使用DAO自定义记录集类? 469 如何使用DAO浏览数据库记录? 470 如何使用DAO增加数据库记录? 471 如何使用DAO删除数据库记录? 472 如何使用DAO修改数据库记录? 473 如何使用DAO查询数据库记录? 474 如何使用DAO排序数据库记录? 475 如何使用DAO处理数据库异常? 476 如何判断数据集是否允许更新? 477 如何实现ADO对象与数据源的连接? 478 如何导入ADO动态链接库? 479 如何使用ADO对象浏览数据库记录? 480 如何使用ADO对象增加数据库记录? 481 如何使用ADO对象删除数据库记录? 482 如何使用ADO对象修改数据库记录? 483 如何使用ADO对象排序数据库记录? 484 如何使用ADO对象查询数据库记录? 485 如何使用ADO处理数据库异常? 486 如何存取数据库图像字段? 487 如何创建数据库操作事务? 488 如何在程序中注册数据源? 489 如何创建ODBC数据源? 490 如何使用SQL模糊查询语句? 491 如何使用SQL语句检索时间段? 第24章 开发工具 492 如何设置条件断点? 493 如何设置堆栈大小? 494 如何产生全局惟一标识符? 495 如何删除项目文件中的类? 496 如何打开和编辑二进制文件? 497 如何检测代码括号是否匹配? 498 如何查看一个宏的原始定义? 499 如何添加.1ib文件到当前项目? 500 如何调整对话框模板上的控件的Tab键顺序?
第1章 空 第2章 ASP.NET运行模型 21.如何在页面中应用javascript脚本-示例1 21.如何在页面中应用javascript脚本-示例2 22.如何实现从服务器端向页面动态添加javascript脚本-示例1 22.如何实现从服务器端向页面动态添加javascript脚本-示例2 24.如何处理多页面重定向到同一页面后的返回问题 25.如何用Response.Redirect方法传递汉字 29.如何利用输出缓存技术缓存整个页面 30.如何利用片段缓存技术对用户控件进行缓存 31.如何利用数据缓存技术提高程序的性能 33.如何实现当页面产生错误时重定向到自定义错误界面 35.如何在程序中读写Web.config文件 37.如何使用CSS文件定义控件的样式 38.如何启用和禁用ViewState保存状态信息的功能 39.如何应用IsPostBack控制页面的加载 41.如何使用Trace对象进行跟踪调试(页面级) 42.如何使用#Include语法将文件添加到页面 43.如何使用编程的方式处理异常信息 44.如何将网页错误信息写入事件日志 第3章 常用Web服务控件 46.如何使用Label控件动态显示文本信息 47.如何实现当鼠标移到控件时显示提示信息 48.如何在Web应用程序中实现快捷键功能(使用脚本实现) 48.如何在Web应用程序中实现快捷键功能(使用属性实现) 49.如何设置页面上控件的Tab键顺序 50.如何实现用回车键代替Tab键的功能 51.如何为按钮键添加消息框 52.Button、LinkButton和ImageButton服务控件的区别及应用 54.如何使用CheckBox和CheckBoxList控件(CheckBox示例) 54.如何使用CheckBox和CheckBoxList控件(CheckBoxList示例) 55.如何使用RadioButton和RadioButtonList控件(RadioButton示例) 55.如何使用RadioButton和RadioButtonList控件RadioButtonList示例) 56.如何使用Panel控件操作一组控件 57.如何使用Table控件组织页面的内容 58.如何实现DropDownList控件选项的添加、删除等操作 59.如何实现间接改变DropDownList控件的当前选项 60.如何实现两个或多个DropDownList控件的联动 61.如何实现ListBox控件选项的上移、下移、添加和删除操作 62.如何实现ListBox控件中选项的双击事件 63.如何动态设置ListBox控件中各选项的背景颜色 64.如何在页面中动态创建控件 65.如何为HTML服务器控件事件添加自定义方法 第4章 验证控件 67.如何使用RequiredFieldValidator控件验证用户是否输入信息 68.如何使用RegularExpressionValidator控件验证E-mail地址和邮编等格式 69.如何使用RangeValidator控件验证输入的信息是否在指定范围内 70.如何使用CompareValidator控件对两个输入控件比较验证 71.如何使用CustomValidator控件自定义验证格式 72.如何使用ValidationSummary控件总结所有验证控件的错误信息 73.如何创建自定义功能的验证控件 74.如何禁用服务器控件的验证功能 75.如何控制页面部分验证控件有效 76.如何实现控件即时验证功能 77.如何使用验证控件综合验证用户注册页面 78.如何验证DataGrid控件的编辑列 81.如何使用验证控件验证日期类型的输入(CompareValidator) 81.如何使用验证控件验证日期类型的输入(CustomerValidator) 81.如何使用验证控件验证日期类型的输入(RegularValidator) 第5章 高级Web控件 82.如何在网页中使用Calendar Web控件显示和选择日期 83.如何在Calendar Web控件中控制个别日的内容及显示 84.如何在Calendar Web控件中控制用户日期选定 86.如何使用XML控件显示XML文件和进行XSLT转换 87.如何使用AdRotator Web控件制作广告发布程序-示例1 87.如何使用AdRotator Web控件制作广告发布程序-示例2 88.如何创建用户控件 89.如何将Web窗体转换成用户控件 90.如何实现动态加载用户控件 92.如何使用TabStrip Web和MultiP
第2章 ASP.NET运行模型
21.如何在页面中应用javascript脚本-示例1
21.如何在页面中应用javascript脚本-示例2
22.如何实现从服务器端向页面动态添加javascript脚本-示例1
22.如何实现从服务器端向页面动态添加javascript脚本-示例2
24.如何处理多页面重定向到同一页面后的返回问题
25.如何用Response.Redirect方法传递汉字
29.如何利用输出缓存技术缓存整个页面
30.如何利用片段缓存技术对用户控件进行缓存
31.如何利用数据缓存技术提高程序的性能
33.如何实现当页面产生错误时重定向到自定义错误界面
35.如何在程序中读写Web.config文件
37.如何使用CSS文件定义控件的样式
38.如何启用和禁用ViewState保存状态信息的功能
39.如何应用IsPostBack控制页面的加载
41.如何使用Trace对象进行跟踪调试(页面级)
42.如何使用#Include语法将文件添加到页面
43.如何使用编程的方式处理异常信息
44.如何将网页错误信息写入事件日志
第3章 常用Web服务控件
46.如何使用Label控件动态显示文本信息
47.如何实现当鼠标移到控件时显示提示信息
48.如何在Web应用程序中实现快捷键功能(使用脚本实现)
48.如何在Web应用程序中实现快捷键功能(使用属性实现)
49.如何设置页面上控件的Tab键顺序
50.如何实现用回车键代替Tab键的功能
51.如何为按钮键添加消息框
52.Button、LinkButton和ImageButton服务控件的区别及应用
54.如何使用CheckBox和CheckBoxList控件(CheckBox示例)
54.如何使用CheckBox和CheckBoxList控件(CheckBoxList示例)
55.如何使用RadioButton和RadioButtonList控件(RadioButton示例)
55.如何使用RadioButton和RadioButtonList控件RadioButtonList示例)
56.如何使用Panel控件操作一组控件
57.如何使用Table控件组织页面的内容
58.如何实现DropDownList控件选项的添加、删除等操作
59.如何实现间接改变DropDownList控件的当前选项
60.如何实现两个或多个DropDownList控件的联动
61.如何实现ListBox控件选项的上移、下移、添加和删除操作
62.如何实现ListBox控件中选项的双击事件
63.如何动态设置ListBox控件中各选项的背景颜色
64.如何在页面中动态创建控件
65.如何为HTML服务器控件事件添加自定义方法
第4章 验证控件
67.如何使用RequiredFieldValidator控件验证用户是否输入信息
68.如何使用RegularExpressionValidator控件验证E-mail地址和邮编等格式
69.如何使用RangeValidator控件验证输入的信息是否在指定范围内
70.如何使用CompareValidator控件对两个输入控件比较验证
71.如何使用CustomValidator控件自定义验证格式
72.如何使用ValidationSummary控件总结所有验证控件的错误信息
73.如何创建自定义功能的验证控件
74.如何禁用服务器控件的验证功能
75.如何控制页面部分验证控件有效
76.如何实现控件即时验证功能
77.如何使用验证控件综合验证用户注册页面
78.如何验证DataGrid控件的编辑列
81.如何使用验证控件验证日期类型的输入(CompareValidator)
81.如何使用验证控件验证日期类型的输入(CustomerValidator)
81.如何使用验证控件验证日期类型的输入(RegularValidator)
第5章 高级Web控件
82.如何在网页中使用Calendar Web控件显示和选择日期
83.如何在Calendar Web控件中控制个别日的内容及显示
84.如何在Calendar Web控件中控制用户日期选定
86.如何使用XML控件显示XML文件和进行XSLT转换
87.如何使用AdRotator Web控件制作广告发布程序-示例1
87.如何使用AdRotator Web控件制作广告发布程序-示例2
88.如何创建用户控件
89.如何将Web窗体转换成用户控件
90.如何实现动态加载用户控件
92.如何使用TabStrip Web和MultiPage Web控件制作选项卡式页面
93.如何使用Toolbar Web控件制作工具条式页面
94.如何识别Toolbar Web控件中哪个按钮激发的ButtonClick事件
95.如何使用TreeView Web控件
96.如何在TreeView Web控件动态添加、删除TreeNode节点
100.如何使用TreeView Web控件中的TreeNodeType进行外观控制
101.如何使用TreeView Web控件绑定XML文件-示例1
101.如何使用TreeView Web控件绑定XML文件-示例2
第6章 数据服务控件
103.如何使用Repeater控件显示数据
104.如何使用Repeater控件的模板
105.如何实现Repeater控件的分页
106.如何使用DataList控件显示数据
107.如何实现选择DataList控件中的条目后显示该条目的详细信息
108.如何实现DataList控件的编辑功能
109.如何对DataList控件使用样式
110.如何在DataList控件中创建多个列
111.如何实现DataList控件的分页功能
112.如何在DataGrid中添加自动编号的功能
113.如何控制DataGrid绑定列绑定的数据类型为日期的显示格式
114.如何把DataGrid中某一列的统计值显示在页脚中
115.如何在DataGrid中让不同条件的行显示不同的背景颜色
116.如何在DataGrid中实现分页功能
117.如何实现鼠标移到DataGrid控件的某一行时改变该行的背景
118.如何在DataGrid控件中实现自定义分页功能
119.如何在DataGrid中弹出一个详细信息窗口-示例1
119.如何在DataGrid中弹出一个详细信息窗口-示例2
120. 如何在DataGrid控件中添加CheckBox控件
121.如何为DataGrid控件中的删除列添加确认框
122.如何使用DataGrid控件实现主细表
123.如何实现DataGrid控件的双向排序
124.如何动态的显示·隐藏DataGrid控件的某一列
125.如何实现DataGrid控件中DropDownList控件的绑定
126.如何在DataGrid控件中实现数据项的编辑、更新、取消
127.如何在DataGrid控件中删除最后一页的最后一记录
128.如何把数据库中的数据以Excel文件的格式在显示浏览器中
129.如何给DataGrid控件添加个标题并实现分类显示
130.如何实现DataGrid控件中DropDownList控件的联动
131.DataGrid控件使用综合举例
第7章 数据绑定技术
132.如何单值绑定到控件的属性
133.如何将DataTable绑定到DataGrid Web控件
134.如何将DataSet绑定到DataGrid Web控件
135.如何将DataView绑定到DataGrid Web控件
136.如何将DataReader绑定到DataGrid Web控件
137.如何将表中的列绑定到DropDownList Web控件
138.如何使用DataBinder.Eval()方法进行数据绑定
139.如何将ArrayList绑定到ListBox Web控件
140.如何将Hashtable绑定到RadioButtonList Web控件
141.如何将XML作为数据源绑定到控件
第8章 数据库设计
143.ASP.NET应用程序如何实现与SQL Server数据库的连接
144.ASP.NET应用程序如何实现与ACCESS数据库的连接
146.如何使用ADO.NET在数据库执行SQL语句
147.如何使用DataReader快速访问SQL Server数据
148.如何使用DataAdapter将数据填充到DataSet并显示出来
149.如何使用DataTable对象存储数据库表
150.如何对DataTable进行检索和排序
151.如何使用DataView进行数据排序和检索
152.如何在DataSet的DataTable间建立父子表关系
154.如何实现SQL Server数据库操作中的异常捕捉和处理
155.如何将数据库中的数据填充到XML文件中
157.如何使用Web.config配置数据库连接字符串
161.如何编写访问数据库的通用代码
162.如何在SQL Server数据库中编程获取用户表的数目和名称
163.如何获取SQL Server服务器端所有数据库列表
164.如何保存图片文件到SQL Server数据库
165.如何将数据库中保存的图片显示到页面中
166.如何在插入记录后获得记录的标识号
167.如何解决ADO.NET访问ACCESS数据库出现“操作必须使用一个可更新的查询”的问题
168.如何从EXCEL文件中读取数据
169.如何备份和恢复数据库
第9章 ASP.NET安全策略
第10章 常用功能及函数集
180.如何在ASP.NET中获得客户端IP地址
181.如何取得一定范围内的随机数
182.如何取得文件的扩展名示例一
182.如何取得文件的扩展名示例二
183.如何把字符串型数据转换为整型
184.如何取得当前系统时间
185.如何取得指定的年份中有多少天
186.如何取得客户端的鼠标坐标并反馈到服务器端
187.如何使用JMAIL组件实现邮件的发送
187.如何使用JMAIL组件实现邮件的接收
188.如何使用ASP.NET中的类库实现邮件的发送
189.如何生成图片的缩略图
190.如何在ASP.NET中动态的创建柱状和饼状统计图
192.如何判断上传图片的高度和宽度
193.如何使用DESCryptoServiceProvider类对数据或者文件进行加密解密
194.如何统计在线人数
195.如何在ASP.NET实现验证码
196.如何在本地取得指定网页的源代码
197.如何在ASP.NET中做一个日期选择器
198.如何在弹出对话框的同时保持页面的显示
199.如何点击按钮弹出新页面,输入数据后返回并且不刷新页面
第11章 文件操作
200.如何读取、修改文本文件
201.如何在ASP.NET中实现文件的上传
202.如何在ASP.NET中实现多文件的上传
203. 如何取得指定目录下的文件列表
204.如何在ASP.NET中创建日志文件
205.如何取得系统日志,并把日志信息写到文本文件中
206.如何在ASP.NET中创建、删除、复制文件
207.如何动态的创建HTML文件
第12章 XML相关处理技术

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧