【机房收费系统】总结知识点

一、窗体模式

     首先,窗体分为模式的和非模式的。

     模式的:用户只能使用当前窗体,只有当前窗体关闭后其他窗体才可用;可以这样理解,如果你把某个窗体设为模式窗体,那么你要想对其它窗体进行任何操作之前,必须先关闭该窗体。模式窗体强迫用户输入数据,不能切换到其他界面,很多地方会用到,比如在浏览器里点文件——打开,还有打印对话框也是模式窗体。有模式窗口或称模态窗口,Msgbox、Inputbox产生的窗口也属于此类。
     非模式的:可以切换到其他窗体,如果你把一个窗体设置为非模式的。例如现在的网页,我们可以在编辑网页的同时打开其他的应用程序,这样的两个程序之间是互不干涉的。不必要非对网页执行关闭才可以打开其他的应用。
    例:form1.show vbmodal
            vbModal VB中的一个常量,其值为1,表示窗体Form1以模式窗体形式显示,
            也可以写成Form1.Show 1


二、MDI子窗体的显示

    为了将控件填入MDI窗体中,添加了图片框(picturebox),图片框占了屏幕。在调用MDI子窗体出现了无法显示的问题。解决方法。

第一步:引入函数SetParent

      函数原型:HWND SetParent(HWND hWndChild,HWND hWndNewParent)
      函数功能:该函数改变某个子窗口的父窗口。

      在窗体的模块中输入函数的声明;

     Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

第二步:在MDI窗体的单击菜单调用子窗体时调用函数。(以我的窗体为例)

    Private Sub RegisterMenu_Click()
           SetParent frmAddCardno.hWnd, frmMain.hWnd   '子窗体和父窗体
           frmAddCardno.Show
    End Sub

第三步:实现调用窗体后。运行系统但是无法显示图片框将他挡住了。在想要显示的子窗体的from.load事件中自己定义大小。

   frmAddCardno.Height = 7700
   frmAddCardno.Width = 11700

你可能感兴趣的:(【机房收费系统】总结知识点)