怎样用Delphi 制作MDI窗口程序 ?

potato 2000-02-23 06:27:00
各位大侠:

小弟准备学着用Delphi 制作一MDI窗口的应用程序。但是小弟不知道怎样办?
例如:
1、我做了一个 Main_form 和 一个 Child_form ,要能在运行时通过 Main_form 的菜单激活 Child_form ( 我用 Child_form.show 试了一下不能解决问题)?

2、我通过创建实例激活了该 Child_form 但是不能通过该Child_form 上的自建“Close“按钮( Child_form.close )关闭该Child_form .我应该怎样办呢?



Potato
potato188@163.net
...全文
250 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
skt642 2001-05-31
  • 打赏
  • 举报
回复
68036关注!
Rich_Zhou 2000-02-24
  • 打赏
  • 举报
回复
1、子窗口 FormStyle 属性应设为fsMdiChild
ChildForm:=TChildForm.Create(Application);
ChildForm.Show;
即可完成显示子窗口
2、(1)调用 ChildForm.Close 方法关闭子窗口
(2) 在TChildForm的onClose事件中 添上 Action:=caFree;语句即可
3、这些属于编程基础 请参考一些书籍

kxy 2000-02-24
  • 打赏
  • 举报
回复
看delphi本身的Demo
jll 2000-02-23
  • 打赏
  • 举报
回复
试试下面的代码
var
Child:TForm2;
begin
Child:=TForm2.Create(Self);
Child.ShowModal; //创建MDI窗口
end;

在MDI窗口事件中加上 Close;
注意:你的Child窗口应设置为MDIChild类型,而且应该从Opinion选项中的Forms栏中移到不自动创建窗体区中
AP 2000-02-23
  • 打赏
  • 举报
回复
不要用 .Show 用 TChild_form.Create(Application);
Hooman 2000-02-23
  • 打赏
  • 举报
回复
在onclose 事件里加上
Action:=caFree;
windio 2000-02-23
  • 打赏
  • 举报
回复
任何delphi参考书上都有,自己看吧!
east_sun 2000-02-23
  • 打赏
  • 举报
回复
看入门书籍!!!!
TMenuItem显示在右侧 不使用MDI制作子窗体 不使用标题栏移动窗体 不使用标题栏移动窗口 两行hint 从XML文件动态创建菜单 从另外MDI窗口读数据 使控件具有阴影效果 使每个MDIChild填充整个主窗口区域 使用Enter键替代Tab键 使用动画效果关闭窗口 使用动画方式打开窗体 使用帮助文件 使用状态栏显示hint 使用系统图标 使窗体不能移动 关闭一个MDI子窗体 创建一个能改变大小的无边界窗体 创建半透明窗体 创建圆角窗体 创建透明窗体 判断窗体是modal 制作动画应用程序图标 制作可移动不能改变大小的窗体 制作永远最小化窗口 制作透明窗口 取和设置鼠标位置 取鼠标指针下面的活动TWinControl 启动时隐藏主窗口 在 window xp 使用阴影效果 在TCombobox内显示多行文本 在TScrollBox上显示窗体 在你的程序中使用 Win XP 可视风格 在窗体上制造多边形洞 在窗体上挖洞 在窗体周围画彩色轮廓 定位messagebox 实现窗口的最小化动画效果 将InputQuery定位在窗体居中位置 怪异窗体 手动改变窗体比例 抓屏 拖拽时显示窗口内容 捕获主窗体WM_MOVE消息 改变Hint字体 改变Hint的显示时间 改变MessageDlg的按钮标题 最小化控件 最小化第二个窗口到任务栏 查找窗体注册类 格式化MessageDlg 检查PopUp菜单是否打开 检查控件是否被其它窗口遮掩 添加菜单项到系统菜单 渐变色填充窗体 特效窗口 移动指针到当前具有焦点的控件 移除系统菜单项 自动关闭TCommonDialog 运行时改变MainForm 运行时移动控件 运行时移动窗口控件 选中或取消其它窗口的复选框 通过在标题栏上右击缩小窗口 防止 Windows 最小化窗体 防止控件重画 防止窗体改变大小和移动 隐藏标题栏 隐藏窗体的最大化和最小化按钮
Delphi7编程100例》代码目录:---------------------------------------------ToolBar工具栏控件的使用动态建立主菜单选项窗口界面的动态分隔条动态设置选项卡页面在标题栏中自定义按钮窗体开合窗帘效果Windows XP界面效果实现OutLook滚动工具栏效果在下拉列表框中显示树形视图自定义系统的About项修改系统级菜单实现透明窗体效果爆破特技窗体只允许建立一次子窗体的MDI程序从外部DLL中调用子窗口新颖的资源管理器界面如何生成半圆形窗口制作字幕滚动窗体详解Canvas生成渐变色窗口背景WINAPM风格磁化窗口软件封面的图片显示制作实现图片的任意角度旋转奇妙的拼图游戏使用PaintBox控件制作画图程序使用DrawGrid控件制作五子棋多彩的数据报表按压缩比将BMP转换为JPG16位真彩转换到256色调整图片的RGB对比度实现图像的灰度级处理效果3种像素历遍方法的比较和实现实现屏幕拷贝实现图像漫游4种幕布式图像显示技巧盘旋法实现9种滤镜效果图形朦胧叠合显示技巧给MDI主窗体增加背景实现图像的淡入淡出显示多媒体播放器播放AVI文件根据客户端IP地址获取计算机名实现多线程IP和DomainName相互转换Windows2000下的Popup发送功能如何实现Ping操作实现多线程共享探测实现Windows95/98的I/O端口读写收发电子邮件与监视网络服务器资源使用WebBrower制作浏览器可视化的Ping工具使用IdMappedPortTCP进行端口映射动态设置ODBC数据源用ADO控件打开Access数据库DBGrid中的记录到Html页面的转换在DBGrid中实现任意方向查找在DBGrid中通过动态下拉列表查找记录用DBGrid组件制作下拉列表形式的提示框利用书签处理DBGrid中的多个记录将ComboBox中的内容直接拖放到DBGrid里如何在DBGrid里放置图标DBGrid控件精彩组合DBChart图表控件的使用在StringGrid组件中显示查询结果使用流对象(Tstream)实现数据表中Tmemo字段的显示如何动态建立SQLServer ODBCSQL浏览器在SQL查询中使用动态参数事务工作原理标准/模糊查询筛选数据数据字典查看器TDecisionGraph决策组件的使用明细表(Master/Detail)结构像处理文本资料一样处理数据表中的信息远程数据库登录远程数据库的离线处理在远程数据库中实现主从表关系动态设置远程数据库的查询参数在远程数据库中计算统计值多线程与数据库使用远程存储过程数据模块的同步显示建立Web服务的数据提供端建立Web服务的数据访问端开发WebSnap数据库程序建立ActiveForm数据浏览建立数据查询WebServices服务器端数据查询Web服务客户端开发基于WAP的手机无线应用建立基本Web数据库服务器应用建立类型库编辑DataSnap服务端建立查询条件Web数据库服务器应用建立基本MTS服务端建立MTS数据访问客户端建立IntraWeb数据浏览将程序图标设置到Windows系统托盘取得和修改文件的创建和修改日期通过流式数据实现文件分割与合并实现指定扩展名文件和相应程序的关联获取汉字拼音的首字母监视剪贴板在IE工具栏上增加一个按钮图标软件注册机制的建立复活节彩蛋的制作SkinEngine控件——XP换肤ActionList——应用程序通用功能列表OleContainer——OLE容器将程序项设置到控制面板艺术化排列桌面图标Delphi中的ini文件的读写建立键盘鼠标动作记录与回放实现指定目录下的文件查询实现对系统的操作监视系统级热键的实现检测NumLock、Insert、CapsLock、ScrollLock键的状态
ToolBar工具栏控件的使用动态建立主菜单选项窗口界面的动态分隔条动态设置选项卡页面在标题栏中自定义按钮窗体开合窗帘效果Windows XP界面效果实现OutLook滚动工具栏效果在下拉列表框中显示树形视图自定义系统的About项修改系统级菜单实现透明窗体效果爆破特技窗体只允许建立一次子窗体的MDI程序从外部DLL中调用子窗口新颖的资源管理器界面如何生成半圆形窗口制作字幕滚动窗体详解Canvas生成渐变色窗口背景WINAPM风格磁化窗口软件封面的图片显示制作实现图片的任意角度旋转奇妙的拼图游戏使用PaintBox控件制作画图程序使用DrawGrid控件制作五子棋多彩的数据报表按压缩比将BMP转换为JPG16位真彩转换到256色调整图片的RGB对比度实现图像的灰度级处理效果3种像素历遍方法的比较和实现实现屏幕拷贝实现图像漫游4种幕布式图像显示技巧盘旋法实现9种滤镜效果图形朦胧叠合显示技巧给MDI主窗体增加背景实现图像的淡入淡出显示多媒体播放器播放AVI文件根据客户端IP地址获取计算机名实现多线程IP和DomainName相互转换Windows2000下的Popup发送功能如何实现Ping操作实现多线程共享探测实现Windows95/98的I/O端口读写收发电子邮件与监视网络服务器资源使用WebBrower制作浏览器可视化的Ping工具使用IdMappedPortTCP进行端口映射动态设置ODBC数据源用ADO控件打开Access数据库DBGrid中的记录到Html页面的转换在DBGrid中实现任意方向查找在DBGrid中通过动态下拉列表查找记录用DBGrid组件制作下拉列表形式的提示框利用书签处理DBGrid中的多个记录将ComboBox中的内容直接拖放到DBGrid里如何在DBGrid里放置图标DBGrid控件精彩组合DBChart图表控件的使用在StringGrid组件中显示查询结果使用流对象(Tstream)实现数据表中Tmemo字段的显示如何动态建立SQLServer ODBCSQL浏览器在SQL查询中使用动态参数事务工作原理标准/模糊查询筛选数据数据字典查看器TDecisionGraph决策组件的使用明细表(Master/Detail)结构像处理文本资料一样处理数据表中的信息远程数据库登录远程数据库的离线处理在远程数据库中实现主从表关系动态设置远程数据库的查询参数在远程数据库中计算统计值多线程与数据库使用远程存储过程数据模块的同步显示建立Web服务的数据提供端建立Web服务的数据访问端开发WebSnap数据库程序建立ActiveForm数据浏览建立数据查询WebServices服务器端数据查询Web服务客户端开发基于WAP的手机无线应用建立基本Web数据库服务器应用建立类型库编辑DataSnap服务端建立查询条件Web数据库服务器应用建立基本MTS服务端建立MTS数据访问客户端建立IntraWeb数据浏览将程序图标设置到Windows系统托盘取得和修改文件的创建和修改日期通过流式数据实现文件分割与合并实现指定扩展名文件和相应程序的关联获取汉字拼音的首字母监视剪贴板在IE工具栏上增加一个按钮图标软件注册机制的建立复活节彩蛋的制作SkinEngine控件——XP换肤ActionList——应用程序通用功能列表OleContainer——OLE容器将程序项设置到控制面板艺术化排列桌面图标Delphi中的ini文件的读写建立键盘鼠标动作记录与回放实现指定目录下的文件查询实现对系统的操作监视系统级热键的实现检测NumLock、Insert、CapsLock、ScrollLock键的状态
目 录 前言 第一部分 Delphi编程基础 第1章 Delphi集成开发环境 1 1.1 集成开发环境简介 1 1.2 集成调试器 5 1.3 开发环境的优化 6 1.3.1 自定义工具栏 6 1.3.2 编程环境设置 7 1.3.3 编辑环境设置 8 1.3.4 工程设置 8 1.4 方法与技巧 9 1.4.1 使用代码浏览器 9 1.4.2 使用代码编辑器 9 1.4.3 使用帮助系统 10 1.4.4 设置IDE桌面 11 第2章 对象Pascal语言 12 2.1 学习对象Pascal语言的一个通用 例程 12 2.2 对象Pascal语言基础 14 2.2.1 标识符 14 2.2.2 保留字和指令字 14 2.2.3 注释 15 2.2.4 数据类型 16 2.2.5 运算符 21 2.2.6 语句 24 2.2.7 过程与函数 27 2.3 对象Pascal语言的关键技术 30 2.3.1 对象和类 31 2.3.2 类的封装与继承 31 2.3.3 构造函数和析构函数 32 2.3.4 多态性 35 2.3.5 抽象类 38 2.3.6 运行时类型信息 39 2.3.7 类方法 41 2.3.8 类引用 42 2.3.9 单元文件与工程文件 43 2.4 异常处理 45 2.4.1 raise语句 45 2.4.2 try...except语句 45 2.4.3 try...finally语句 47 2.5 方法与技巧 48 2.5.1 命名规则 48 2.5.2 在编译时自由设置是否获得提示 信息 48 2.5.3 使用代码模板 49 2.5.4 使用动态多维数组 49 2.5.5 定义两个相互包含的类 50 2.5.6 获取和使用命令行参数 51 2.5.7 引用参数传递 51 第二部分 Delphi编程的核心技能 第3章 窗体和组件 53 3.1 窗体和组件 53 3.1.1 窗体 54 3.1.2 组件 56 3.1.3 在窗体中使用组件 57 3.2 文本组件 60 3.3 特殊输入组件 61 3.4 按钮及其分类组件 63 3.5 列表组件 64 3.6 分组组件 67 3.7 信息反馈组件 69 3.8 表格显示组件 70 3.9 图形显示组件 71 3.10 开发MDI应用程序 73 3.11 常用组件的用法 74 3.12 方法与技巧 84 3.12.1 窗体、组件的使用原则 84 3.12.2 使用信息对话框 85 3.12.3 使用组件的Hint属性 88 3.12.4 使用Edit组件的IME属性 89 3.12.5 将系统字体添加到ComboBox 组件中 89 3.12.6 在RichEdit组件中存取文件 90 3.12.7 设置模态对话框的返回值 90 3.12.8 使用事件处理过程中的Sender 参数 91 3.12.9 为控件生成多行提示信息 91 3.12.10 生成非矩形窗口 92 3.12.11 移动无标题栏窗口 94 3.12.12 制作动态字幕 95 3.12.13 在窗体上动态地设置背景 画面 96 3.12.14 Owner和Parent的区别 97 第4章 菜单、工具栏和状态栏 98 4.1 菜单 98 4.1.1 主菜单 99 4.1.2 鼠标右键弹出式菜单 99 4.1.3 使用菜单模板 99 4.2 工具栏 100 4.2.1 ToolBar 100 4.2.2 CoolBar 100 4.2.3 ControlBar 101 4.3 状态栏 101 4.4 方法与技巧 106 4.4.1 动态创建菜单 106 4.4.2 为菜单动态定义快捷键 108 4.4.3 动态改变菜单 108 4.4.4 定制系统菜单 109 4.4.5 制作图形菜单项 110 4.4.6 在状态栏中添加进度条等其他 组件 111 4.4.7 MDI应用程序中的菜单融合 113 4.4.8 制作可随处拖放的工具栏 116 4.4.9 将菜单项移到菜单栏的最右边 117 4.4.10 运行时控件的移动 117 第5章 键盘和鼠标 119 5.1 键盘事件 119 5.2 鼠标事件 120 5.2.1 常用鼠标事件 120 5.2.2 拖曳事件 120 5.3

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧