各位大虾:
          小弟在做一个VB数据库管理系统,在系统UI设计方面花了不少心思。我现在就想做这样一种效果:
我整个程序大概只会用三个窗体:登陆。主窗体。关于窗体。。其他的窗体我想在主窗体中实现。。
就是说当我点击不同功能时。主窗体某个区域上出现不同的内容
我应该怎么办。。想到用模块。。可是模块能编写控件的事件吗??怎么编写(调用)。。
真的感谢各位了。。

解决方案 »

  1.   

    你可以用多个Frame容器控件,你在frame上放一些你想要的控件,当你点击不同功能时,主窗体某个区域上出现不同的Frame就可以(通过visible属性)
      

  2.   

    我也知道啊可是FRAME上的控件代码在哪里写好呢??总不能全部放在一个窗体上把?
      

  3.   

    在模块中定义一个过程或者函数:
    Friend Sub xxxxxx()
    xxxxxxxxxxxxxxxxx
    End Sub然后在窗体中的事件中引用:
    Private Sub Command1_Click()
    Call xxxxxx()
    End Sub又或者把窗体中的Frame容器子类化
    在模块中写消息处理过程
    至于Frame中的其他控件,你可以在消息WM_COMMAND中处理
    WM_COMMAND中的高16位表示通知消息,低16位表示控件ID;lParam表示控件句柄
    通知消息包括:
    文本框类
    EN_CHANGE 文本正在改变
    EN_SETFOCUS 文本获得焦点
    EN_KILLFOCUS 文本失去焦点
    组合框类
    CBN_DROPDOWN 已经弹出列表
    CBN_CLOSEUP 已经关闭列表
    CBN_EDITCHANGE 组合框中的文本框中的文本发生改变(组合框样式不能为Dropdown List)
    CBN_KILLFOCUS 组合框失去焦点
    CBN_SETFOCUS 组合框获得焦点
    ………………
    ………………常用的就这几个~
      

  4.   

    在模块中写也可以,FORM1.TEXT1。TEXT=“”
      

  5.   

    可以考虑用UserControl,不同的情况下加载/显示不同的UserControl。