先谢谢,估计这个问题很难解决……使用 Controls.Add 方法的动态添加的控件,如何设置只读的属性。
例如,动态添加的 TextBox 控件,默认创建的 TextBox 的 MultiLine、ScrollBars 属性均为 0
我需要多行的,有两个滚动条的 TextBox 该如何处理?请各位大大指教!!!!

解决方案 »

  1.   

    动态添加textbox是无法改变它的multiline等属性的。用无窗口控件是我所知的唯一的方法。在VB6的安装盘下,找到common\tools\vb\winless文件夹,把它复制到硬盘上的合适的地方,当然一般是VB6 的common相应的路径下。打开此文件夹,注册其中的mswless.reg。运行VB6,从部件列表中可看到新加入的控件库:microsoft windowless controls 6 ,勾选它,确定。dim withevents txtNew as mswless.wltext '当然也许你不想用到它的事件,就不需要withevents。private sub form_click()
        set txtNew=contorls.Add("mswless.wltext","txtNew")
        with txtNew
            .multiline=true
            .scrollbars=vbboth
            .move 100,200,1000,500
            .visible=true
        end with
    end sub
      

  2.   

    可以的, 笨!
    将你的Text1(0)放在窗体上, 预先设定它的MultiLine、ScrollBars 属性为 1, 这样在加载Text1(n)的时候会自动继承Text1(0)的属性!
      

  3.   

    我需要多行的,有两个滚动条的 TextBox 
    -------------------------------------
    我上面不是给你写了代码解决这个问题吗?还有什么问题?
    实在不想用外部的控件增加程序的大小!!
    -------------------------------------
    很大吗?几百K而已。
      

  4.   


        当然,你硬是要用textbox也行。 如vodlinux(好易用) 所说的方法,如果运行时可能要改变4个只读属性,假设每个属性有两个常数值,那你可以在设计环境下建2的4次方的16个textbox。嗯,这个方法不错。我无话可说。
      

  5.   

    可以的, 笨!
    将你的Text1(0)放在窗体上, 预先设定它的MultiLine、ScrollBars 属性为 1, 这样在加载Text1(n)的时候会自动继承Text1(0)的属性!我是笨了一点,可是在ActvieX工程里面不支持集合事件!!
    createwindowsex 创建的窗口,在VB里面不接受 Tab 键来转移的焦点。
    victorycyz(中海) ,你的方法可以解决问题,可是不到不得以我是不会用,估计也不会用!^_^大家一起研究研究!!!
      

  6.   

    ActvieX工程不支持: Load Text1(n) ???
      

  7.   

    是带 WithEvents 的,是不支持“事件集”。
      

  8.   

    回复人: xionglibin(熊貓) ( ) 信誉:93  2004-10-19 17:19:00  得分: 0  
     
     
       那你是想用什麼辦法來做呢?
      
     
    就是没有办法现在,如果在主程序向先设置好的话,就完全失去的接口的意义了!!!
    看来是没有办法的了,用 Setwindowlong 改变他的 Style 也不行。
    象 ComboBox 就可以删除里面的 Edit 就可以改变 Style,TextBox 就没有方法……