visual studio 2017 MFC 对话框 打印预览

本文探讨了在使用Visual Studio 2017进行静态编译时,如何处理MFC对话框中的打印预览功能,尤其是在静态库项目中遇到的问题,包括资源链接不足及编译错误。通过实例和解决步骤,帮助读者理解并解决这类常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

visual studio 2017 MFC 对话框 打印预览

遇到一个坑 MFC 静态编译

**在DlgPreprint.rc2中加一行

#include "afxprint.rc"

因为静态链接的时候不会把MFC的资源链接进来。**

对话框里实现打印及预览,为何编译成静包后,总出错?请指导,谢谢
例如:http://download.csdn.net/download/vbvcde/1320325

vc对话框 表格 打印预览
编译时已经是:win 32 Release 编译没问题,,

但是我将在菜单里Project ->General-> Microsoft Foundation Classes:
选择:User MFC in a Static Library 编译后,

再在对话框里打开:打印预览:则出错: 0x00405e41 指令引用的"0x0000002"内存。该内存不能为"read"。。。。
到底错在哪里,???,,难道这个框架不能不编译包含MFC的单独运行.exe

大虾来指导,谢谢

参考文档

MFC对话框的打印预览实现
https://www.cnblogs.com/johnpher/archive/2012/10/18/2728936.html

VS2017 MFC对话框程序打印及打印预览的实现
https://blog.csdn.net/weixin_42403113/article/details/88873492

程序链接:https://download.csdn.net/download/weixin_42403113/11069726

正文

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加一个按钮
IDC_BUTTON_TEST

在这里插入图片描述
添加一个类CPrintFrame
CPrintFrame类(基类CFrameWnd)
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

CPrintView类(基类CScrollView)

在这里插入图片描述

增加CPrintPreviewView类(基类CPreviewView)

在这里插入图片描述

### 查看或配置 Visual Studio 构建生成的日志文件 在 Visual Studio 中,可以通过调整项目的构建日志级别来获取更详细的构建过程信息。以下是具体的方法: #### 设置生成日志的详细程度 通过修改 MSBuild 的输出详细程度可以控制生成日志的信息量。这可以在 **工具 (Tools)** 菜单下完成: 1. 打开菜单栏中的 `工具` -> `选项`。 2. 导航到 `项目解决方案` -> `生成运行`。 3. 将 `MSBuild 项目生成输出详细程度` 设置为你需要的级别(例如:诊断)。此设置会影响生成日志的内容详尽度[^1]。 #### 查找生成日志的位置 默认情况下,Visual Studio 的生成日志会显示在 `输出` 窗口中。要访问该窗口: 1. 在顶部菜单中选择 `视图` -> `输出`。 2. 在 `输出` 窗口的下拉列表中选择 `生成` 或 `调试` 来查看相应的日志内容。 如果希望保存这些日志以便后续分析,可以选择手动导出日志或将日志重定向至外部文件。对于后者,可通过命令行调用 MSBuild 并指定 `/flp:v=diag;logfile=output.log` 参数实现[^2]。 #### 使用二进制记录器捕获完整的生成历史 为了获得更加全面且易于解析的生成数据,推荐启用 MSBuild 的二进制记录功能。操作方式如下: ```cmd msbuild YourProject.sln /bl:YourLogFile.binlog ``` 之后可利用 BinaryLog Viewer 工具打开 `.binlog` 文件进行深入审查。 #### 自定义生成脚本以增强日志记录能力 当面对复杂的多模块项目时,单独依赖内置机制可能无法满足需求。此时应该考虑编写自定义目标(Targets),向标准输出追加额外的关键事件描述。下面是一个简单的例子展示如何扩展 .NET Core/Standard 应用程序的标准生成流程: ```xml <Project Sdk="Microsoft.NET.Sdk"> <!-- ... --> <Target Name="CustomLogging" AfterTargets="Build"> <Message Importance="high" Text="Custom message logged during build process." /> </Target> </Project> ``` 上述 XML 片段会在每次成功执行 Build 后打印一条高优先级的消息到终端上。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值