DynamicLayout-VC 6.0对话框动态布局解决方案

一、前言

对话框是使用VC编程时最常用的形式之一,然而VC 6.0对程序运行时控件布局的支持力度不够,当对话框改变大小时,要想对话框上的控件的行为相应的发生变化需要添加代码来控制, 最可恨的是每次为支持这个必须写类似的"无意义"的代码。

一次见到有人用一套宏实现了对话框控件大小和位置随对话框大小改变而改变,但不能产生类似单文档程序的分割条效果。

于是我想写自己的布局管理器,依照功能定名为DynamicLayout(动态布局)。

二、效果

也许说了半天大家不明白是怎么回事,那先贴几张程序同一次运行时的截图吧,请留意图片之间的区别:

图1VC6.0对话框程序原始运行效果

图2在1的基础上加入DynamicLayout管理

图3在2的基础上改变对话框大小

图4 在3基础上将分割条A移动到最左

图5正在移动中的分隔条C(截图时光标被隐藏)

时间: 2024-11-05 14:51:28

DynamicLayout-VC 6.0对话框动态布局解决方案的相关文章

动态-vc++6.0 中teechart不懂之处

问题描述 vc++6.0 中teechart不懂之处 BOOL CCccDlg::OnInitDialog(){ CDialog::OnInitDialog(); AfxEnableControlContainer(); COleDateTime now=COleDateTime::GetCurrentTime();//得到当前的时间 CString strDate=now.Format(""%Y-%m-%d"");//得到日期 CString strTime=no

vc++6.0如何实现还原消息在打开对话框时不响应,最大化后再还原时才响应

问题描述 vc++6.0如何实现还原消息在打开对话框时不响应,最大化后再还原时才响应 vc++6.0如何实现还原消息在刚打开对话框时不响应,最大化后再还原时才响应.(如:我在还原消息响应MessageBox("a"),当我一打开对话框是就执行了消息,我是想只有当我最大后再向下还原时才MessageBox("a")),该怎么实现啊?? 解决方案 加上一个bool值作为成员变量,最大化的时候设置为true,还原的时候判断,如果这个值被设置为1,就执行

vc++6.0如何实现基于对话框模态对话框中编辑框的内容显示在主对话框静态文本中?

问题描述 vc++6.0如何实现基于对话框模态对话框中编辑框的内容显示在主对话框静态文本中? vc++6.0基于对话框如何实现在模态对话框中输入一个数,然后点击确定按钮将编辑框中的数值显示在主对话框的静态文本中.(注:静态文本的默认值为10)求具体步骤和代码! 解决方案 模式对话框 class CSubDlg : public CDialogEx { ... public: int num; //定义一个成员变量 }; //对话框初始化函数 BOOL CSubDlg::OnInitDialog(

c语言-VC 6.0环境如何动态调用我这个dl,往高手指导l

问题描述 VC 6.0环境如何动态调用我这个dl,往高手指导l A.dll头文件导出函数声明如下: 开发环境VC++ 6.0 typedef void *TESTHANDLE; extern "C" __declspec(dllexport) int __stdcall TEST_Init(TESTHANDLE *hHandle); extern "C" __declspec(dllexport) int __stdcall TEST_Exit(TESTHANDLE

数据结构、c语言-急!!!!为何以下程序执行第2功能离开车厂后在vc++6.0环境下程序会报错并终止运行,求解决方案

问题描述 急!!!!为何以下程序执行第2功能离开车厂后在vc++6.0环境下程序会报错并终止运行,求解决方案 #include "stdafx.h" #include #include #include #define max 5 #define pri 5 typedef struct time{ int year; int day; int month; int hour; int min; }Time; typedef struct node{ char num[10]; Tim

Windows7系统不兼容VC++6.0的问题解决方案

  运行setup.exe安装程序,会弹出如下的的程序兼容性助手提示:此程序存在已知的兼容性问题,这个是Win7在警告用户VC++6.0存在兼容性问题:此程序存在已知的兼容性问题.如下图,选中不再显示此消息,点"运行程序",之后再有遇到"此程序存在已知的兼容性问题"的提示时候,也按这个做法处理! 操作步骤 接着安装,进入选择安装类型这一步的时候,要注意.点"Custom"自定义安装类型 Custom自定义安装里,点中Tools组件,更改选项 把其

vc++在MFC对话框上用程序生成控件(比如Text和Edit控件),求如何实现?

问题描述 vc++在MFC对话框上用程序生成控件(比如Text和Edit控件),求如何实现? vc++我想在MFC对话框上用程序生成控件(比如Text和Edit控件),求如何实现?(不是用工具条拖动控件到对话框上) 1.用程序生成控件2.控件在对话框上准确定位 求大神指导下 解决方案 一个 CreateWindow() 就能搞定,例子很多,自己找. 解决方案二: MFC我没有研究过,但我想MFC中应该可以调用Win32API吧,可以看看这几个,虽然不是MFC,但是在MFC里想必是可以用的.htt

jQuery响应式网格的窍门:动态布局页面

界面控件套包NetAdvantage Ultimate中提供了一个专用于jQuery / HTML5开发的控件集--Ignite UI, 其最大特点是针对HTML5的稳定的数据可视化以及迅速的性能.其适用于任何浏览器.任何平台.任何设备的 响应式Web设计引起了我们的注意,经过一段时间的测试,慧都打算和大家分享一下,Ignite UI引以为豪的的 jQuery响应式网格的一些开发窍门. 动态布局页面 所谓网格的动态布局页面,就是指当窗口固 定,但网格内容和页面元素可以实现缩放和左右移动.这个需求

水晶报表在VC++6.0中的简单使用方法

水晶报表是一个报表设计开发的强大工具,功能强大,设计灵活,在水晶报表光盘中只提供了一个完全动态生成报表的例子,使用繁琐.现介绍其在VC++6.0中的简单使用方法.编译环境:VC++6.0 sp5 .Windows 2000 Server sp3 (en).一.导入水晶报表使用的动态联接库:根据实际修改文件路径. #import "C:\Documents and Settings\Administrator\桌面\cr\craxdrt9.dll" no_namespace 二.定义接口