社区
Delphi
帖子详情
如何在MDI中制作Window菜单,使其能自动添加新打开的MDIChild窗口?
Qcj
2000-05-27 09:17:00
...全文
135
6
打赏
收藏
如何在MDI中制作Window菜单,使其能自动添加新打开的MDIChild窗口?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
starsail
2000-11-06
打赏
举报
回复
不仅要设置windowmenu属性还要注意该menu中不能有caption为‘-’(即分割条)的项,具体一试便知。
fyje
2000-07-14
打赏
举报
回复
IAmKylix说的正确
jilimi
2000-07-13
打赏
举报
回复
可以用delphi的 Action 来作。
SuperMMX
2000-07-13
打赏
举报
回复
WindowMenu 会自动添加到那个 menuitem 的下面.
liuly
2000-05-29
打赏
举报
回复
最简单的办法:让Delphi帮你做
File->new->projects->MDI Application
IAmKylix
2000-05-28
打赏
举报
回复
设置MDIForm(主窗体)的WindowMenu为某的MenuItem,该MenuItem就可成为你想要的结果
Delphi开发技巧之-Forms
TMenuItem显示在右侧 不使用
MDI
制作
子窗体 不使用标题栏移动窗体 不使用标题栏移动
窗口
两行hint 从XML文件动态创建
菜单
从另外
MDI
子
窗口
读数据 使控件具有阴影效果 使每个
MDI
Child
填充整个主
窗口
区域 使用Enter键替代Tab键 使用动画效果关闭
窗口
使用动画方式
打开
窗体 使用帮助文件 使用状态栏显示hint 使用系统图标 使窗体不能移动 关闭一个
MDI
子窗体 创建一个能改变大小的无边界窗体 创建半透明窗体 创建圆角窗体 创建透明窗体 判断窗体是modal
制作
动画应用程序图标
制作
可移动不能改变大小的窗体
制作
永远最小化
窗口
制作
透明
窗口
取和设置鼠标位置 取鼠标指针下面的活动TWinControl 启动时隐藏主
窗口
在
window
xp 使用阴影效果 在TCombobox内显示多行文本 在TScrollBox上显示窗体 在你的程序
中
使用 Win XP 可视风格 在窗体上制造多边形洞 在窗体上挖洞 在窗体周围画彩色轮廓 定位messagebox 实现
窗口
的最小化动画效果 将InputQuery定位在窗体居
中
位置 怪异窗体 手动改变窗体比例 抓屏 拖拽时显示
窗口
内容 捕获主窗体WM_MOVE消息 改变Hint字体 改变Hint的显示时间 改变MessageDlg的按钮标题 最小化控件 最小化第二个
窗口
到任务栏 查找窗体注册类 格式化MessageDlg 检查PopUp
菜单
是否
打开
检查控件是否被其它
窗口
遮掩
添加
菜单
项到系统
菜单
渐变色填充窗体 特效
窗口
移动指针到当前具有焦点的控件 移除系统
菜单
项
自动
关闭TCommonDialog 运行时改变MainForm 运行时移动控件 运行时移动
窗口
控件 选
中
或取消其它
窗口
的复选框 通过在标题栏上右击缩小
窗口
防止
Window
s 最小化窗体 防止控件重画 防止窗体改变大小和移动 隐藏标题栏 隐藏窗体的最大化和最小化按钮
RINGSDK包含界面库和图象库。
RINGSDK包含界面库和图象库。 本项目为编译环境为VC6,需要先安装platform sdk.不断修改
中
,会陆续上传其他相关文档及DEMO 设置: VC6
菜单
tools->Options,选择Directoris页,把include,lib目录加入到相应文件列表,如果要调试,需要把libsrc目录下的各个子目录加入到Source files文件列表
中
。 工程依赖几个第三方库,需要先编译livsrc\free_lib下几个目录的工程,然后
打开
ringsdk.dsw编译。工程都已经设置好了,编译即可。 由于VC的智能提示不能识别界面库里的宏,因此建议安装VA(Visual.Assist) 创建基于RingSDK的工程:
新
建一个Win32 Application的工程,不要让VC写任何代码,空的工程。然后选择
菜单
Project->settings..., 选择C/C++页,Category选择Code Generation,然后在Use run-time library选择: DEBUG选择Debug Multithreaded RELEASE选择MultiThreaded 工程设置完毕,然后可以加入CPP和H文件了。 类库使用: 1、头文件: 头文件包含"ringmain.h"就可以,如果要使用图象库,还需要包含"ringdib.h" 2、
窗口
类声明:
窗口
定义为如下格式: BEGIN_SETUP
WINDOW
(
窗口
名,
窗口
类型) BINNDID(对话框ID) //当
窗口
类型是对话框才需要写这个宏,且是可选的,即不写也可以 BEGIN_DEF_VAR(初始化标记) //这里定义类成员数据 END_DEF_VAR //这里定义类成员函数 //定义
窗口
消息处理函数 BEGIN_DEFMSG DEFMSG(消息代码) DEFMSGEX(自定义消息处理函数名) ... DEFCMD(命令处理函数名) ... DEFNOTIFY(通知消息代码) END_DEFMSG(
窗口
名) END_SETUP
WINDOW
(
窗口
名) 这里对上面代码
中
的
中
文进行说明:
窗口
名:
窗口
名同时也是该
窗口
类的对象名,比如
窗口
名为Main
Window
,则该
窗口
类名为RingWnd_Main
Window
, 同时声明了RingWnd_Main
Window
* Main
Window
=NULL; 以后只要调用Main
Window
= NewRingObj(Main
Window
);然后Main
Window
就可以使用了。 以上代码相当于: class RingWnd_Main
Window
{ ... } RingWnd_Main
Window
* Main
Window
=NULL; 类名可以用RINGCLASS(
窗口
名)宏来得到
窗口
类型:为IS_
WINDOW
,IS_
MDI
FRAME,IS_
MDI
CHILD
,IS_DIALOG,IS_PROPPAGE,IS_PROPSHEET这几个值之一,一看名称就知道,不需要多讲了。 其实这个只是声明了
窗口
类是从哪个类继承。 初始化标记:为NEED_INIT和NO_INIT两个值之一,指定了是否需要成员数据的初始化,一般成员数据的初始化可以在WM_CREATE消息里完成, 如果需要事先初始化,可以指定NEED_INIT,但是需要在CPP文件实现一个INIT
WINDOW
(
窗口
名)的函数,进行初始化。 这个BEGIN_DEF_VAR(初始化标记)和END_DEF_VAR是可选的,即可以不写这两个宏,一样可以声明成员数据或函数。 消息代码:
窗口
消息代码,例:WM_CREATE 自定义消息处理函数名:响应自定义消息的处理函数,这个可以随便取名,例:OnCustomMessage 命令处理函数名:响应
菜单
命令或控件命令的处理函数,这个可以随便取名,例:OnOpenFile,OnButton1Click 通知消息代码:控件的通知消息代码,例:LVN_SELECTCHANGE 对话框ID:当
窗口
类型是对话框才需要写这个宏,且是可选的,即不写也可以。写了这句,对话框创建时可以不写参数,例: BEGIN_SETUP
WINDOW
(DlgAbout,IS_DIALOG) BINDID(IDD_ABOUT) ...
VB控件属性使用大全
在
Window
s操作系统上,VisualBasic作为一门计算机语言,功能非常强大,而且简单易学。VisualBasic提供可视化设计工具,编程人员可利用VisualBasic提供的控件轻松的“画”出应用程序的友好界面,因此容易入门,入门以后就有能力进一步学习难度更大的编程语言。VisualBasic作为编程人员的首选程序设计语言,有如下特点: 1、VisualBasic是开发
Window
s应用程序的强有力的工具,使用了最先进的程序设计思想,能轻而易举的开发出符合
Window
s规范和风格的应用程序; 2、VisualBasic在科学计算、多媒体软件开发、网络应用等方面都有强大的功能,尤其在数据库开发方面,提供了许多控件,便于连接、查询和显示查询结果,现在很多管理软件,包括一些大型软件,都是利用VisualBasic开发的; 3、VisualBasic改变了传统的程序的机制,采用“事件驱动”方式,用户操作产生不同的事件,程序根据这些事件去分别执行不同的子程序。编程人员可以分别编写出这样一些子程序,因此使编程难度大大下降。 在VisualBasic语言
中
,控件是用户界面的基本要素,是进行可视化程序设计的重要基础,它不仅关系到界面是否友好,还直接关系到程序的运行速度以及整个程序的好坏。每个控件都具有它的属性、方法和事件,设计窗体就必须很好的掌握控件的属性和应用方法。控件具有很多相同的属性,如标识控件名称的Name属性、标识控件标题的Caption属性、有效属性Enable、可见属性Visible、标识控件位置和大小的Top、Left、Width、Height、属性、定义背景色的BackColor属性、定义前景色的ForeColor属性和定义字体类型的Font属性,各个控件也有其特有的一些属性。 VisualBasic
中
的控件分为两种,即标准控件(或内部控件)和ActiveX控件。内部控件是工具箱
中
的“常驻”控件,始终出现在工具箱里,而ActiveX控件是扩展名为.ocx的文件(在
Window
s\System文件夹里),它是根据变成需要
添加
到工具箱里的。 在一般情况下,工具箱里只有标准控件,为了把ActiveX控件
添加
到工具箱里,可按以下步骤执行: (1)在
菜单
里选择“工程-部件”,弹出“部件”对话框; (2)在对话框
中
选择“控件”选项卡,显示ActiveX控件列表; (3)在列表框
中
找到需要
添加
的控件名称,单击控件名称左侧的复选框; (4)使用同样的方法选择需要
添加
的其它控件; (5)单击“确定”按钮,即可将所选ActiveX控件
添加
到工具箱里。 窗体(FORM)的常用属性 属性 说明 (Name)窗体的名称 ActiveControl返回焦点所在的控件,该属性设计阶段不可用,运行时只读。 Appearance外观效果,取值为:0 平面1 3D(立体) AutoRedraw是否
自动
刷
新
或重画窗体上所有图形[获得或设置从绘图(graphics)方法到一个持久性位图的输出],取值为:True False BackColor背景颜色,可从弹出的调色板选择。 BorderStyle设置边界类型,取值为: 0 None(无边界框架)1 FixedSingle(
窗口
大小固定不变的单线框架) 2 Sizable(
窗口
大小可变的标准双线框架) 3 FixedDialog(
窗口
大小固定的对话框窗体) 4 FixedTool
Window
(
窗口
大小固定的工具箱窗体) 5 Sizable Tool
Window
(
窗口
大小可变的工具箱窗体) Caption窗体的标题 ClipControls决定Paint事件的graphics方法是重画整个对象,还是重画
新
显示的区域。取值为: True或False ControlBox是或有控制框, 取值为: True 有 False 无 DrawMode设定窗体上绘图(graphics方法),Shape,Line等控件的输出外观,有16种可选: 1 黑色 2 非或笔,设置值15的反相 3 与非笔,背景色以及画笔反相二者共有颜色的组合 4 非复制笔,设置值13的反相 5 与笔非,画笔以及显示色反相二者共有颜色的组合 6 反相,显示颜色反相 7 异或笔,画笔颜色以及显示颜色的异或 8 非与笔,设置值9的反相 9 与笔,画笔以及显示色二者共有颜色的组合 10 非异或笔,设置值7的反相 11 无操作,该设置实际上是不画图 12 或非笔,显示颜色与画笔颜色反相的组合 13 复制笔,用ForeColor属性指定的颜色,此为默认值 14 或笔非,画笔颜色与显示颜色反相的组合 15 或笔,画笔颜色与显示颜色的组合 16 白色 DrawStyle设定绘图相关方法使用的直线样式, 有7种可选: 0 实线,此为默认值 1 虚线 2 点线 3 单点划线 4 双点划线 5 无线 6 内部实线 DrawWidth设定绘图相关方法使用的直线宽度 Enabled是或把鼠标或键盘事件发送到窗体,取值为: True 可用 False 不可用 FillColor填充颜色, 可从弹出的调色板选择。 FillStyle填充样式, 有8种可选: 0 全部填充 1 透明,此为默认值 2 水平直线 3 竖直直线 4 上斜对角线 5 下斜对角线 6 十字线 7 交叉对角线 Font字型,可从弹出的对话框选择字体,大小和风格 FontTransparent输出数据是否允许重叠(获得或设置一个值,决定是否显示窗体,打印机或PictureBox上的背景文本/图形)。取值为: True或False ForeColor前景颜色,可从弹出的调色板选择。 HasDC决定是否为该控件分配了唯一的显示上下文。取值为: True或False Height窗体的高度 HelpContextID指定一个对象的缺省帮助文件上下文标识符 Icon为窗体设计图标,该图标位于标题栏的左端 KeyPrevier获得或设置是否在激活对象的上的控件的键盘事件之前,优先激活对象键盘事件。取值为: True或False Left窗体距屏幕左边界的距离 LinkMode获得或设置用于DDE会话的链接类型并激活连接,取值为: 0 None 1 Source LinkTopic获得或设置目标控件的源应用程序和主题 MaxButton窗体右上角最大化按钮是否显示,运行时只读, 取值为: True 显示 False 不显示
MDI
Child
是否为
MDI
窗体的子窗体, 取值为: True 为
MDI
窗体的子窗体 False 否 MinButton窗体右上角最小化按钮是否显示,运行时只读, 取值为: True 显示 False 不显示 MouseIcon MousePointer=99时,设定一个自定义的鼠标图标 MousePointer Moveable是否可以移动窗体, 取值为: True 可以移动 False 不可以移动 NegotiateMenus决定是否将对象的
菜单
合并到该窗体的
菜单
栏上。取值为: True或False OLEDropMode 获得或设置该对象是否能作为一个OLE放下目标, 取值为: 0 None(无) 1 Manual(手动) Palette 获得或设置一个图象,包含了当PaletteMode被设置为Custom时用于调色板的对象。 PaletteMode 获得或设置一个值,决定对于对象的控件使用哪个调色板。取值为: 0 Halftone 1 UseZOrder 2 Custom Picture 窗体背景图片 RightToLeft 文本书写是否自左向右。取值为: True False 自右向左 ScaleHeight 自定义坐标系的纵坐标轴的高度 ScaleLeft 自定义坐标系的左边界起点的横坐标 ScaleMode 获得或设置一个值,指示当使用graphics方法或可定位的控件时,自定义坐标系的单位, 有8种可选: 0 自定义 1 表示单位为twip(缇),每英寸=1440缇,每厘米=567缇 2 表示单位为point(磅) ,每英寸=72磅,每磅=20缇 3 表示单位为像素,是监视器或打印机分辨率的最小单位 4 表示单位为字符,每个水平单位为120缇,每个垂直单位为240缇 5 表示单位为in(英寸) 6 表示单位为mm(毫米) 7 表示单位为cm(厘米) ScaleTop 自定义坐标系的上边界起点的纵坐标 ScaleWidth 自定义坐标系的横坐标轴的宽度 ShowInTaskbar 窗体或
MDI
窗体是否出现在
Window
s95的任务栏。取值为: True 出现 False 不出现 StartUpPosition 窗体第一次出现的位置, 有4种可选: 0 没有指定初始位置 1 设定在所属项目的
中
央 2 设置在屏幕的
中
央 3 设置在屏幕的左上角 Tag 存储程序所需的附加数据 Top 窗体距屏幕顶部边界的距离 Visible 窗体是否可见, 取值为: True 该对象可见 False 该对象不可见 WhatsThisButton 获得或设置是否在一个窗体或
MDI
窗体的标题上显示"这是什么"按钮。取值为: True或False WhatsThisHelp 获得或设置是否在上下文相关帮助
中
, 使用
Window
s95帮助或主帮助
窗口
提供的"这是什么"弹出
菜单
。取值为: True或False Width 窗体的宽度
Window
Start 获得或设置一个窗体
窗口
运行时的可见状态, 取值为: 0 窗体正常状态 1 窗体最小状态 2 窗体最大状态
Qt
MDI
Window
开发
Qt
MDI
Window
开发 版本说明 版本 作者 日期 备注 0.1 loon 2018.11.2 初稿 目录 文章目录Qt
MDI
Window
开发版本说明目录一、需求分析二、什么是
MDI
Window
三、
MDI
相关Qt类介绍1、Q
Mdi
Area2、Q
Mdi
Sub
Window
四、Qt
MDI
Example五、最后 一、需求分析 我们需要做一个类似下面结构的配置软件,分...
VC在
MDI
方式下自由生成自定义的子
窗口
转自 http://blog.csdn.net/vlily 本文介绍如何删除由MFC AppWinzard工程
中
产生的文档/视图结构,同时根据自己的实际需要创建子
窗口
界面。 Visual C++ 开发系统
中
应用程序向导的标准设置允许应用程序开发者方便简单地创建多种基于DOC/VIEW结构的应用程序,但在实际软件开发过程
中
,总是感觉由向导生成的程序控制起来比较麻烦,因此希望对有AppWi
Delphi
5,379
社区成员
262,722
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章