mdi专题

C#中通过TabControl控制MDI子窗体显示切换的实现过程

类似excel表格中各个表单sheet的切换效果,使用tabcontrol控件实现类似的功能。效果如下: 过程涉及父窗体MDIParent1、子窗体main、自定义基础功能类MdiChildBase。 基础功能类MdiChildBase继承自Form创建,定义了一个委托SetTabControlDelegate,委托的实例SetTabI用于指定FormClosing和Shown方法中调用的

机房重构---MDI窗体+单例模式

在VB6.0版本的机房收费系统中就用到了MDI技术(多文档界面),其中有的窗体用了MDI,而有的则没有用到,回头想想这些个关于增删改查的功能都该是MDI这个容器中的子窗体,于是这次我将他们都放到了MDI窗体中。  一、关于MDI窗体    MDI窗体设置步骤:    (1)在frmMain中打开属性窗格,”IsMdiContainer”属性设置为”True”。    (2)把工具箱

机房收费系统——MDI窗体与子窗体问题

在继学生信息管理系统之后,我们迎来了一个更有挑战的系统——机房收费系统。在与其他工作的同时我也尝试着开始了这个宏伟工程。刚刚开始总是会有各种各样的问题,就只是主窗体,就让人大费脑筋啊,跟大家分享一下我的历程吧。 首先是窗体控件的添加。在MDI主窗体中,我们是不能直接添加大部分控件的,但可以添加PictureBox控件,我们的主界面是有背景的,这样我们就可以先添加一个PictureBox控件,然后

【qt】MDI多文档界面开发

MDI多文档界面开发 一.应用场景二.界面设计三.界面类设计四.实现功能1.新建文档2.打开文件3.关闭所有4.编辑功能5.MDI页模式6.瀑布展开模式7.平铺模式 五.总结 一.应用场景 类似于vs的界面功能,工具栏的功能可以对每个文档使用! 二.界面设计 老规矩,边做项目边学! 目标图: 需要蔬菜的可以dd我! 界面设计: 同时设为中心组件和最大化的状态设

本地预览 @mdi/font Material Design Icons 字体图标库

目录 知识前提@mdi/font 字体图标库安装本地预览 @mdi/font 知识前提 会使用 Node npm 命令安装库 @mdi/font 字体图标库安装 进入项目目录,指定淘宝镜像源安装,并添加到发布依赖中: npm install --save @mdi/font --registry=https://registry.npm.taobao.org 本地预览

MDI中MainFrame与ChildFrame的关系

(1)没有子窗口ChildFrame(包括视图)时,显示的是主窗口MainFrame的菜单及工具栏.(2)如果用户新建了一个视图(如打开一个文件),则显示的是子窗口ChildFrame的菜单及工具栏,而主窗口 MainFrame的菜单及工具栏被子窗口ChildFrame覆盖了. (3)主窗口有菜单,工具栏,一般似乎没有事件处理(如OnMouseDown等). 而子窗口一般有事件处理,如 On

【LAMMPS学习】八、基础知识(1.7) LAMMPS 与 MDI 库代码耦合

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各种模拟。  8.1.通用基础知识 8.1.1.重新启动模拟  8.1.2.可视化 LAMMPS 快照

MDI全屏显示窗体

RepositionBars(UINT nIDFirst,UINT nIDLast,UINT nIDLeftOver,UINT nFlag = CWnd::reposDefault,LPRECT lpRectParam = NULL,LPCRECT lpRectClient = NULL,BOOL bStretch = TRUE) nIDFirst  //要重新定位并改变大小的控制条范

在MDI主窗口中设置图像背景

1.创建一个多文档应用程序,工程名为NoChild。 2.导入背景位图IDB_CAR 3.添加新的类CBgWnd。基类选择generic CWnd类。 4.重载CBgWnd类的OnEraseBkgnd(CDC *pDC)函数。 BOOL CBgWnd::OnEraseBkgnd(CDC* pDC)  { // TODO: Add your message handler

vuetify3+vite,打包后mdi图标无法正常显示,及打包后首页白屏

1、图标无法正常显示 【因为我的vite.config.ts配置中使用了vite-plugin-css-injected-by-js这个插件】 为了优化我的项目,我使用了很多插件,vite-plugin-css-injected-by-js就是其中一个,项目本地运行是正常的,但是当我使用uniapp打包成app安装测试,发现图标无法正常显示,而且是针对vuetify中常使用的@mdi/fo

借鸡下蛋---MDI窗体显示无对齐属性控件

对于MDI(多文档界面窗体大家都不陌生,在寒假学习VB的时候我们学习过,在做百例的时候,做的例子是一个窗体显示   多首诗,对已打开的子窗体进行“层叠”、“平铺”、“垂直”与“排列图标”等项操作.然后这个假期我们做的第一   个系统学生信息管理系统,我们也接触了MDI窗体,在学生信息管理系统中,我们只是把它作为一个空白的界面,没有在   它里面添加任何控件,在机房收费系统中又一

【嵌入式——QT】MDI应用程序设计

MDI应用程序就是在主窗口里创建多个同类型的MDI子窗口,这些MDI子窗口在主窗口里显示,并享受主窗口上的工具栏和菜单等操作功能,主窗口上的操作都针对当前活动的MDI子窗口进行。 图示 代码示例 QWMainWindow.h #ifndef QWMAINWINDOW_H#define QWMAINWINDOW_H#include <QMainWindow>#include <QM

VB.NET 如何防止重复打开MDI子窗体

VB.NET中,在访问窗体之前,你必须进行窗体实例化,然后才能打开,如:            Dim frm1 As New Form1           ' frm1.MdiParent = Me ' 定义MDI子窗体            frm.Show() '打开窗体 如果在项目中有多处代码访问同一窗体,都这样的话,则会创建出不同的实例。如重防止重复打开MDI子窗体的实例呢

Delphi封装Mdi窗体到Dll并使用插件管理,tabControl制作多页面

源码下载地址 1.ShareMem的引用要放在各单元的第一位置,否则会报错 2.dll中mdi子窗体关闭时要,      Action:=caFree;     TestForm2:=nil; 3. 主窗体代码 unit MainUnit;interfaceusesShareMem,Windows, Messages, SysUtils, Variant

如何在MDI中使子窗体只保留一个实例

由于在 MDI 中,子窗体会很多,那么在我以前一篇文章中所提到的方法就有些繁琐了。为了能适应多个子窗体,并对于每个子窗体只保留一个实例,那么我就用一个新的方法来替换,即用反射方法来作处理。   大致代码如下。 首先是通过子窗体类型名来判断是否打开新的子窗体,还是把原有的子窗体进行显示。     using System.Reflection;     /// <summary>

2017年11月27日 C#MDI窗体创建记事本打印记事本查找、自动换行

MDI窗体第一个父窗体 把属性里的IsMdiContainer设置为true就可以了 父窗体连接子窗体 //创建一个新的类,用来连接别的窗体,并且别的窗体为唯一窗体List<Form> F = new List<Form>();private void opendao(Form f){Form F1 = null;bool isopen = false;foreach(Form gf in

Qt容器QMdiArea 小部件提供一个显示 MDI 窗口的区域

## QMdiArea ## 控件简介 QMdiArea 继承 QAbstractScrollArea。QMdiArea 小部件提供一个显示 MDI 窗口的区域。QMdiArea的功能本质上类似于MDI窗口的窗口管理器。大多数复杂的程序,都使用MDI框架,在 Qt designer 中可以直接将控件 MDI Area 拖入使用。 ## 用法示例 例 qmdiarea,父子窗口(难度:简单)

单文档(SDI)和多文档(MDI)

在 Windows 中,文档分为单文档(SDI)和多文档(MDI)两种,如我们熟悉的“记事本”就是一个典型的单文档程序,它最明显的特点是一次只能打开一个文件,当新建一个文件时,当前文件自动被替换掉。 多文档界面,如 Word ,允许用户同时打开多个文件进行操作。在多文档界面中,有一个窗体叫做主窗体(又称为 MDI 窗体),其他窗体称为子窗体。子窗体始终处在主窗体内部,主窗体的位置移动会导致子窗体

用dll方式封装mdi子窗体

用DLL方式封装MDI子窗体是一种常用的软件研发技术。 研发人员能够负责某一个模块的编写包括(界面+逻辑),能够互不干扰,模块研发完成后,主程式统一调用。 易于程式升级,当程式升级时,不用编译主exe文档,更新某个DLL就能够升级。 能够根据客户不同的需求、价钱给他们不同的模块。(奸商都愿意用这招) 最近用到这个技术,因为小弟没有用过,在网上google了一下,对他有了了解,我用的是基于CO

C# Winform编程(4)多文档窗口(MDI)

多文档窗口(MDI) 添加菜单,IsMdiContainer设为True: From窗口添加菜单 Form1.cs using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System

C# Winform编程(4)多文档窗口(MDI)

多文档窗口(MDI) 添加菜单,IsMdiContainer设为True: From窗口添加菜单 Form1.cs using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System