VisionPro笔记(1):动态创建控件
VisionPro学习笔记(1):动态创建控件
有的时候可能需要在程序中动态创建控件,VisionPro实例中提供了一例动态创建Blob控件的方法。当然,动态创建过多的控件会极大的消耗系统的资源,建议少用。用完之后在不再需要时要及时销毁,以回收资源。
1)声明全局变量:
Private mBlobTool as CogBolobTool
Private mBlobEdit as CogBlobEdit
2) 创建:
由于创建过程需要占用资源,所以需要改变鼠标垫状态。
Me.Cursor=Cursors.WaitCursor
构建Blob Tool
if mBlobTool is nothing then mBlobTool=new CogBlobTool
mBlobEdit=new CogBlobEdit
开始初始化Edit控件
Ctype(mBlobEdit,System.ComponentModel.ISupportInitialize).BeginInit()
原始界面
mBlobEdit.Enable=True
mBlobEdit.Location=New System.Drawing.Point(0,0)
mBlobEdit.Name="CogBlobEdit1"
mBlobEdit.Size=new System.Drawing.Size(800,450)
mBlobEdit.TabIndex=0
Me.tabControl1.SelectedIndex=0
Me.BlobTabPage.Controls.Add(mBlobEdit)
Ctype(mBlobEdit,System.ComponentModel.ISupportInitialize).EndInit()
初始化结束时向BlobEdit控件指定Tool
mBlobEdit.Subject=mBlobTool
改变鼠标为默认形式
Me.Cursor=Cursors.Default
添加控件之后界面
3)窗体关闭时或其它时候需要回收资源:
Me.Cursor=Cursors.WaitCursor
Me.BlobTabPage.Controls.Remove(mBlobEdit)
mBlobEdit.Dispose()
Me.Cursor=Cursor.Default
由于在自动创建时控件的AutoCreateTool会被忽略,因此用户必须创建Tool,并把控件指定到此Tool。
VisionPro笔记(1):动态创建控件的更多相关文章
- 小子给大家分享一个或者多个新手创建tableview经常会遇到的坑(动态创建控件,xib的重用)
小子最近做了一个根据接口返回的数据在Cell中动态创建控件,感觉应该会一部分人卡在这里,小子就跟大家分享一下: 1.控件重复创建:这个问题出现的原因是动态创建的cell内容的时候,无法进行重用设置,所 ...
- 【转载】MFC动态创建控件及其消息响应函数
原文:http://blog.sina.com.cn/s/blog_4a08244901014ok1.html 这几天专门调研了一下MFC中如何动态创建控件及其消息响应函数. 参考帖子如下: (1)h ...
- MFC动态创建控件及其消息响应函数
这几天专门调研了一下MFC中如何动态创建控件及其消息响应函数. 参考帖子如下: (1)http://topic.csdn.net/u/20101204/13/5f1b1e70-2f1c-4205-ba ...
- IOS开发学习笔记019-动态创建控件
动态创建控件 一.按钮 二.文本输入框 三.lable标签 注意: 只是简单的拖拽控件会毁了你,所以最好还是手动通过代码创建控件. 如果要通过代码生成按钮的话,可以在系统自带的函数viewDidLoa ...
- delphi动态创建控件
动态创建控件 其实动态创建控件很简单,相信看过本文后你会全明白的. 1 先在单元的initialization 部分注册它,(这样在单元使用时会自动注册的)如: RegisterClass( TBut ...
- MFC 动态创建控件
动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件: 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立一个容器,一 ...
- 在DELPHI中动态创建控件以及控件的事件
在DELPHI中我们经常要动态的创建控件以及控件的事件.例如,我们可能想根据程序需要动态的创建一些Tshape组件来创建某个图形,并使得在鼠标移动上去之后可以完成某些操作.这一般需要需要三步: 生成一 ...
- Winfrom动态创建控件
FlowLayoutPanel flowLayoutPanel1 = new FlowLayoutPanel();for (int i = 0; i < 9; i++){ Button b ...
- 动态创建控件 #Create(...)
在类中创建一个控件对象;例:CButton m_btn; 用Create创建一个对象(#其实已经与其绑定)m_btn.Create(.....); #注意Create()函数的参数 问题一:点击一个b ...
随机推荐
- CentOS环境下tomcat启动超级慢的解决方案
在本地开发环境,应用正常启动. 在CentOS测试环境,应用启动速度也是正常的. 但是在阿里云的生产环境,tomcat启动超级慢,并且在最终打印出来以下内容: org.apache.catalina. ...
- 卸载CentOS7-x64自带的OpenJDK并安装Sun的JDK7的方法
第一步:查看并卸载CentOS自带的OpenJDK 安装好的CentOS会自带OpenJdk,用命令 java -version ,会有下面的信息: java version "1.6.0& ...
- 6、ABPZero系列教程之拼多多卖家工具 框架后台的设置
接着上篇文章,现在去修改注册登录逻辑代码还为时过早,我们还需要到后台去设置一些配置. 管理---设置 先配置好这2项设置,邮箱配置是为了验证注册时功能是否正常,下一篇文章需要用到. 注:邮箱配置中的密 ...
- web页面接入QQ客服的方法
在做微信二次开发的时候或者手机版网页的时候有人想在接qq客服,下面我就分享一下具体操作: 1,准备一个QQ号,可以是企业QQ,也可以是个人QQ.登录网址:http://shang.qq.com/wid ...
- js变量提升小记
作为世界上最优美的语言javascript的使用者,呵呵,js的魅力是无穷的,今天来聊聊他的魅(dan)力(teng)之一,变量提升. 每种语言所定义的变量基本都会有一定得作用域,而js的作用域则存在 ...
- zookeeper之分布式锁以及分布式计数器(通过curator框架实现)
有人可能会问zookeeper我知道,但是curator是什么呢? 其实curator是apachede针对zookeeper开发的一个api框架是apache的顶级项目 他与zookeeper原生a ...
- 使用Android-PullToRefresh实现下拉刷新功能
源代码:https://github.com/chrisbanes/Android-PullToRefresh 一. 导入类库 将Library文件夹作为Android项目Import到Eclipse ...
- springboot项目启动时提示Address already in use: bind
PS:web项目在启动的时候,一般会报Address already in use: bind,常规的处理思路为:删除任务管理器中的javaw.exe进程即可:当删除仍然解决不了时,一般处理思路如下, ...
- Codeforces 888E Maximum Subsequence
原题传送门 E. Maximum Subsequence time limit per test 1 second memory limit per test 256 megabytes input ...
- Codeforces Beta Round #1 A,B,C
A. Theatre Square time limit per test:1 second memory limit per test:256 megabytes input:standard in ...