如何动态加载multiline的text控件

原创 2004年08月07日 10:33:00

我刚开始在csdnvb论坛里看到这个帖子的时候,想了很久都没有找到解决方法。后来看zy910写到“由于Edit控件的设定(只能在创建窗口时设置风格,创建后不能修改)

所以TextBoxMultiLine屬性实现原理是:先清除原有的Edit,再创建一个新的Edit

这在设计时是可行的。但在运行时,会导致文本框相关数据的丢失,甚至会因不安全的代码导致非法操作,所以M$TextBoxMultiLine屬性设置成运行时只读”,那么通过直接使用textbox控件是无法满足要求的了。

其实我们可以找到一个替代的方法,微软给我们提供了一组无窗口控件库。所谓“无窗口控件”是见名知义,是没有无窗口,因而没有hwnd属性。这个库在主要语言的参考文档中没有提到,它必须手工从common/Tools/vb/Winless目录下安装。安装的方法是将这个目录复制到硬盘上,用regsvr32vb中对它进行注册,然后双击Mswless.reg,它创建使activex控件对vb环境可用的注册关键字。注册完毕后,从按Ctrl+T从可用的Active控件列表中选取Microsoft Windowless Control 6来把函数库加载到IDE中。

使用windowless函数库的好处是在运行时没有内部控件的限制,事实上所有的属性都可以在运行时改变。这个库中包括TextBox的无窗口版—MSWLess.WLText。也就说我们可以通过动态加载这个控件,来实现动态添加multiline属性的text控件。

Dim WithEvents TxtEditor As MSWLess.WLText

Private Sub Command1_Click()

   

    Set TxtEditor = Controls.Add("MSLess.WLText", "txtEdit")

    TxtEditor.MultiLine = True

    TxtEditor.ScrollBars = wlBoth

    TxtEditor.Move 0, 0, ScaleWidth, ScaleHeight

    TxtEditor.Visible = True

   

End Sub

注意:“工程属性”中“删除有关未使用的active控件的信息”的复选框不要选。

Asp.net动态加载控件的一些问题

ASP.net 动态加载控件时一些问题的总结 1 、在使用LoadControl加载控件后,用户控件中的某些控件不再响应事件。 这个问题主要是由于将控件加载放在if (!Page.IsPostBac...
  • diligentcat
  • diligentcat
  • 2015年02月01日 02:26
  • 983

关于 Java 中 正则表达式的 MULTILINE 标志

先看看官方给出的说明: MULTILINE Enables multiline mode. In multiline mode the expressions ^ and $ matc...
  • butterfly5211314
  • butterfly5211314
  • 2016年03月20日 15:49
  • 569

PB9.0动态生成控件

在做毕业设计的时候,遇到了用复选框来显示数据库中的信息,但是数量不能确定。因此,需要减低程序显示时和数据库的耦合度,让程序自己可以根据数据库的记录的信息数量变化自动适应。基于该需求用到了动态生成控件。...
  • zhuojiajin
  • zhuojiajin
  • 2014年02月28日 14:07
  • 4693

C# 动态加载插件的实现

花了半天时间,终于弄懂了C#如何现实动态加载插件的。就像photoshop一样只要在plugin里面丢几个dll就可以多一个滤镜。 总体思路必将简单 1.必须定义公共接口规范,说白点就是主程序在调...
  • u012804387
  • u012804387
  • 2014年03月25日 15:20
  • 454

Python零基础入门之三十Text控件

这篇博客主要是简单的说一下Tkinter中的Text控件的相关知识。Text文本组件用于显示和处理多行文本。在Tkinter的所有组件中,Text组件显得异常强大和灵活,它适用于处理多任务,虽然该组件...
  • BeMoreQuiet
  • BeMoreQuiet
  • 2017年01月26日 13:01
  • 2643

完美实现Silverlight动态加载

这段时间利用项目空隙,研究了一下Silverlight的动态加载技术。动态加载分为两种: 1、网页局部加载(即一个网页上有多个Silverlight应用) 2、单个Silverlight应用动态加...
  • Andeewu
  • Andeewu
  • 2013年11月18日 22:44
  • 1271

JS+jQuery+Easyui实现动态添加控件及赋值

背景:某天阳光明媚的午后,和小伙伴们完一个游戏,在一个黑箱中放了红橙黄绿青蓝紫七种颜色的球,我让几名玩游戏的小伙伴分别从黑箱里抓球,并且统计他们都抓了哪种颜色的球。。最后的结果是,有抓的多,有抓的少,...
  • mayfla
  • mayfla
  • 2015年09月05日 21:14
  • 5802

C#实现动态添加和删除控件

最近弄一个项目,需要动态添加控件和删除控件.原始界面如下:   如上图操作添加按钮,则下面自动增加一行GROUPBOX控件,操作删除则自动删除最后一行开始的BROUPBOX控件. 实现步骤如下: 1...
  • tiberx
  • tiberx
  • 2014年03月11日 14:36
  • 2681

MFC学习笔记(一):Static Text控件

本人完全自学C++,从MFC入手先是同事们推荐各种书籍,由于工作+自身原因,看着那些枯燥无味的理论知识真是又困又乏,简直就是受罪。总之看了很多书都是半途而废,没有一本书是从头到尾看完的。到头来还是什么...
  • zyc0311
  • zyc0311
  • 2016年06月02日 12:00
  • 1756

Static Text 静态文本控件

静态文本框的使用和CStatic类的成员函数简介
  • u010299768
  • u010299768
  • 2017年02月22日 14:06
  • 777
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何动态加载multiline的text控件
举报原因:
原因补充:

(最多只允许输入30个字)