社区
界面
帖子详情
单文档视图中,打印预览中的放大缩小功能怎样实现
csdngoodgood
2003-07-02 01:44:17
same
...全文
23
回复
打赏
收藏
单文档视图中,打印预览中的放大缩小功能怎样实现
same
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
用户模态对话框内子
视图
(子窗口)的
预览
和
打印
(之二)
MFC的
视图
打印
/
预览
功能
基于CView::OnFilePrint和CView::OnFilePrintPreview这两个函数。 如果要对用户自定义对话框(模态)内的子
视图
进行
打印
,直接调用该
视图
的CView::OnFilePrint即可,弹出的“选择
打印
机”对话框同样也是模态对话框,覆盖在用户对话框上。 如果要对用户对话框内的
视图
进行
预览
,直接调用该
视图
的CView::OnFilePrintPreview后,
预览
视图
(MFC CPreviewView类实例)内虽然
预览
正常,但是挡住了用户对话框。由于用户对话框是模态的,导致
预览
视图
上的“
打印
...”、“上一页”、“下一页”、“
放大
”、“
缩小
”、“
单
页/双页”和“关闭”等按钮均无法响应鼠标点击,处于“假死”状态。 解决方法: 第一个解决方法是先关闭用户对话框,再启动
预览
,详见http://download.csdn.net/detail/oliver_zheng/7639379 第二个解决方法仍然保持用户对话框,但是由于对话框为模态,无法利用主框架窗口CMainFrame作为
预览
框架,因此要另外创建并显示一个框架窗口(CFrameWnd的派生类),作为
预览
窗口。 另外创建的框架窗口类名为CPrintPreviewFrameWnd,其对应的
单
文档
视图
是CViewPrintPreview类,利用这些关联信息创建一个
单
文档
模板,利用此
单
文档
模板创建框架窗口,并在其内嵌
视图
(CViewPrintPreview类)
中
保存原主框架(CMainFrame)、用户对话框和其上需要
打印
的
视图
(CTestView)。然后基于CViewPrintPreview类启动
预览
和
打印
(具体过程详见第一个解决办法)。由于CViewPrintPreview的各个相关虚函数诸如OnPreparePrinting、OnBeginPrinting、OnPrepareDC、OnPrint和OnEndPrinting都被重载,用于调用真正需要
打印
的
视图
CTestView的各自函数,因此CViewPrintPreview实际上只是个“
中
介”
视图
,是连接
预览
视图
(MFC CPreviewView类)和CTestView的桥梁。 当
打印
或者
预览
结束后,关闭自行创建的框架窗口CPrintPreviewFrameWnd,利用CViewPrintPreview类
中
实现
保存的信息恢复主框架和用户对话框,恢复
打印
/
预览
前的环境。 代码(
实现
了第二个解决方法)在VC2010下编译通过。第一个解决方法的源码详见http://download.csdn.net/detail/oliver_zheng/7639379
用户模态对话框内子
视图
(子窗口)的
预览
和
打印
MFC的
视图
打印
/
预览
功能
基于CView::OnFilePrint和CView::OnFilePrintPreview这两个函数 如果要对用户自定义对话框(模态)内的子
视图
(以下简称A
视图
)进行
打印
,直接调用A
视图
的CView::OnFilePrint即可,弹出的“选择
打印
机”对话框同样也是模态对话框,覆盖在用户对话框上。 如果要对用户对话框内的A
视图
进行
预览
,直接调用A
视图
的CView::OnFilePrintPreview后,
预览
视图
(MFC CPreviewView类实例)内虽然
预览
正常,但是挡住了用户对话框。由于用户对话框是模态的,导致
预览
视图
上的“
打印
...”、“上一页”、“下一页”、“
放大
”、“
缩小
”、“
单
页/双页”和“关闭”等按钮均无法响应鼠标点击,处于“假死”状态。 解决方法: 在调用A
视图
的CView::OnFilePrintPreview之前,先关闭用户对话框(CDialog::OnCancel),由于这时已不存在用于
预览
的A
视图
,再重新创建一个相同的
视图
(以下简称B
视图
),以B
视图
来启动OnFilePrintPreview进行
预览
。 MFC
视图
预览
的原理是:以主框架窗口(CMainFrame)作为
预览
框架,隐藏原先的子
视图
(用CMainFrame::GetActiveView得到的那个,以下简称C
视图
),用CPreviewView类替换,同时创建包含“
打印
...”、“
放大
”、“关闭”等按钮的工具栏(CDialogBar类),最后将CPreviewView::m_pPreviewDC作为C
视图
OnDraw的CDC*参数传入,这样,虽然调用的是C
视图
的OnDraw函数,实际上却显示在了CPreviewView
视图
中
,起到了“
预览
”的效果。在点击
预览
框架工具栏上的“
打印
...”按钮后, MFC体系将向原先的主框架(本例
中
和
预览
框架是同一个,都是CMainFrame)发送ID_FILE_PRINT的WM_COMMAND消息。在缺省的配置
中
,这将启动C
视图
的OnFilePrint,从而在
打印
机上打出C
视图
的内容。 在本例
中
,为了
打印
B
视图
,需要在CMainFrame
中
处理WM_COMMAND/ID_FILE_PRINT,加入额外的条件,来判断对按钮“
打印
...”的点击是来自B还是C
视图
的
预览
框架。在本例
中
用了一个变量CMainFrame::m_nPrintFrom。根据其取值(0或者1),分别启动B或者C
视图
的OnFilePrint。 使用方法: 程序示例在VC++2010上通过。主菜
单
项“
打印
预览
测试”下,有两个子菜
单
项,“对话框用户
视图
的
打印
预览
”用于B
视图
(画出一个圆);“
单
文档
视图
的
打印
预览
”用于C
视图
(画出一个正方形),等同于“文件”主菜
单
项下的“
打印
预览
(V)”。
MySQL
视图
Re: MySQL
视图
========================= # 什么是
视图
数据库
中
的
视图
是一个虚拟表(逻辑存在),同真实的表(物理存在)一样,
视图
包含一系列带有名称的行和列数据。行和列数据来自由定义
视图
查询所应用的表,...
ET服装打版2017万能版鼠标缩放
下载并解压软件,无解压密码。提供了排版与打版两个工具供您选择。 文件,拥有打开文件、保存文件、
文档
转移、保存ULSG文件、打开最近
文档
、打开分类
文档
等
功能
编辑,提供了撤销操作、恢复操作、删除、平移、旋转、比例变换、删除所有辅助线、对称修改等编辑工具。 显示,提供了工具条、
视图
放大
、
视图
缩小
、动态放缩、充满
视图
、区域
放大
等显示操作。 设置,能够布料名称、设置关键字、型号名称设置、规则表设置、曲线登录、曲线调出等进行设置。 打板,支持裁片补正、缝边与角处理、裁片工具、服装工艺、对格子等
功能
。 推板,提供了进入推板状态、锁定放码点、解锁放码点、移动量检测、移动量拷贝等操作。 图标工具,提供了常用打板工具、专用打板工具、推板规则、检查与测量、设置与标注等
功能
。 帮助,能够查看自定义快捷菜
单
、自定义图标菜
单
、快捷键显示、自定义工具组。 定制工具,提供了静态回放开关、系统静态回放、
打印
预览
、
打印
、
打印
设置等
功能
。
xhtmldesigner.rar
XHTMLDesigner 是 XDesignerLib 的一个范例,而且具有一定的实际用途。它是一种图形化的HTML表
单
设计器。其用户界面有点类似VS.NET的WEB窗体设计器,但原理截然不同。VS.NET的Web窗体设计器可能是基于IE,而本设计器是基于WinForm和GDI+的,全部采用绝对坐标定位方式。本设计器的主要
功能
和XDBDesigner类似,主要有 可从XML文件加载HTML表
单
义信息,也可保存HTML表
单
定义信息到XML文件
中
。 支持文本标签,按钮,
单
行文本框,多行文本框,
单
选框,复选框,下拉列表,文件框以及超链接标签。 可根据设计
视图
生成HTML
文档
,使得HTML
文档
的显示结果和设计
视图
尽可能的接近。设计
视图
采用绝对坐标定位,而生成的HTML
文档
采用流模式,HTML代码最简洁,本程序内部进行两种坐标模式的转换。 可同时在设计面板和树状
视图
列表
中
显示设计
文档
元素信息。 设计面板内容可以
放大
和
缩小
显示。
文档
设计元素提供很多属性设置。 支持鹰眼。可在鹰眼
视图
区域
中
使用鼠标点击和拖拽来快速在设计
视图
中
移动和定位。 支持使用额外配置的XSLT文件进行XSLT代码,用于根据设计样式来自动生成任意样式的代码,本程序附带的XSLT模板支持生成HTML
预览
页面。 支持VBA.NET脚本语言,可以使用脚本来访问设计
文档
和设计器主窗体。
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章