mfc相关内容

在 C++ 中寻找搜索和替换的圣杯

最近我正在寻找一种方法来替换字符串中的标记,这基本上是查找和替换(但至少有一种额外的方法可以解决这个问题)并且看起来像是相当平庸的任务.我带来了几个可能的实现,但从性能的角度来看,它们都不令人满意.最好的成就是每次迭代约 50us.这种情况很理想,字符串的大小从未增长过,最初我省略了不区分大小写的要求 这是 Coliru 的代码 我的机器上的结果: Boost.Spirit 符号结果:34 ..
发布时间:2022-01-12 15:13:43 C/C++开发

MFC 中标题栏上的关闭按钮

在 Vc++ 6.0 Dialog Based MFC 应用程序中:我不希望我的用户通过按下窗口本身右上角的按钮 [X] 以及 (Alt+F4) 来关闭窗口.我想显示一个消息框(“你真的要关闭应用程序吗");如果用户单击“确定"按钮,则必须关闭应用程序,否则如果用户单击“取消"按钮,则不得关闭应用程序. 解决方案 处理 WM_SYSCOMMAND 消息并在其中执行类似的操作. void ..
发布时间:2022-01-12 15:13:34 C/C++开发

裁剪图像的 OpenCV Mat 无法在 MFC 视图上正确显示

我正在使用以下例程在 MFC 视图上显示 OpenCV Mat.它适用于未裁剪的图像.但是对于预先裁剪的图像,它会显示如下所示的空白或奇怪的图像: 第一个显示在 MS Paint 等常用图像软件上,第二个显示在我的 MFC 视图上.困难在于未裁剪的图像文件显示得很好.我不确定这是 SetDIBitsToDevice 或 OpenCV 的错.但显然 SetDIBitsToDevice 在每行中 ..
发布时间:2022-01-12 15:13:27 C/C++开发

如何判断鼠标是顺时针还是逆时针移动?

我有一个 MFC 应用程序,在该应用程序中,用户必须通过拖动运动将鼠标绕着一个圆圈移动.我需要在鼠标拖动“旋转"期间检索度数,我需要知道它是顺时针还是逆时针. 首先,为了确定旋转方向,我比较了当前鼠标位置和用户单击以启动拖动的鼠标位置之间的 x 坐标.在用户旋转超过 180 度之前效果很好. 我该如何处理圆的另一半? 解决方案 您需要至少三个有序点来确定某人随着时间的推移是顺时 ..
发布时间:2022-01-12 15:13:20 C/C++开发

我在哪里可以获得 afx...h 文件?

我正在使用 API 进行开发,该 API 需要 afxsock.h 以及其他 afx... 标头.网上搜索了一下,好像我的VS Express还不够用,于是找了微软的产品.不幸的是,它是 700 美元,作为一个初级程序员,我把它放在一个我用来自学 C++ 的项目上是没有意义的.(即我仍然不知道我是否想用 C++ 或其他语言进行长期编程). 无论如何,我想知道是否有某种解决方法来获取 afx( ..
发布时间:2022-01-12 15:13:02 C/C++开发

显示同一文档的多个同时视图

如何说服 MFC Doc/View 架构让我同时显示同一文档的两个不同视图? 例如,假设我的 CDocument 子类表示某个描述的存档. 我想要一个 UI,其中该存档中所有条目的名称都显示在左侧窗格的 CListView 子类中,而当前选定条目的详细信息显示在 右侧窗格中的 CEditView 子类. CSingleDocTemplate 似乎只允许连接一个文档、一个框架和一个视图 ..
发布时间:2022-01-12 15:12:52 C/C++开发

如何从“CEdit"框中获得通知?

我有一个 CEdit 框,用户可以在其中输入相关信息.一旦他\她开始在盒子里写,我需要一个通知,以便我可以调用 doSomething() 来执行一些其他任务.Windows 是否提供回调,如果提供,我该如何使用? 解决方案 使用 MFC,没有回调,而是通过为适当的事件实现处理程序来实现.您需要处理以下两个事件之一:WM_CHAR 或 EN_CHANGE 处理对话框的EN_CHANG ..
发布时间:2022-01-12 15:12:45 C/C++开发

我应该使用哪个平台:原生 C++ 或 C#?

我想开发一个 Windows 应用程序.如果我使用本机 C++ 和 MFC 作为用户界面,那么应用程序将非常快速且小巧.但是使用 MFC 非常复杂.此外,如果我使用 C#,那么应用程序将比本机代码慢,并且它需要 .NET 框架才能运行.但是使用 WinForm 开发 GUI 非常容易.你更倾向哪个? 解决方案 “快"和“慢"是主观的,尤其是对于今天的 PC.我并不是说故意让事情变慢,但编写 ..
发布时间:2022-01-12 15:12:23 C#/.NET

通过键入前几个字符跳转到列表框项目

我有一个项目列表(可能很大),用户必须从中选择一个.我想让用户输入所需项目的前几个字母,以跳转到列表中的正确位置.默认情况下,每次按键都会跳转到以该字母开头的第一项,因此您无法键入前 几个 字母.有没有直接的方法可以做到这一点?任何 CodeProject 或其他此类示例? 我已经找了好几个小时,找到了任意数量的 IAutocomplete 样本,但这在这里无济于事,因为我需要保证结果在列表 ..
发布时间:2022-01-12 15:12:13 C/C++开发

如何在 MFC 应用程序中获取系统的当前 DPI?

我有一个现有的 MFC 应用程序,它在 Windows 7 中的默认 DPI (96 dpi) 下运行良好.但是当我将 DPI 增加 150% 时,UI 会失真.我已经修复了在特定级别使用滚动条的问题,并参考了 msdn 文章.我想知道如何使用 MFC 代码获取系统的当前 DPI,以便设置对话框的高度和宽度. 请推荐!! 解决方案 首先您需要获取屏幕的设备上下文.这很简单,只需调用 ..
发布时间:2022-01-12 15:12:05 C/C++开发

MFC 中的国际化

终于(经过多年的推迟)将我的应用本地化为英语以外的其他几种语言了. 第一个挑战是设计集成到我的 C++/MFC 应用程序中,该应用程序具有数十个对话框和无数字符串.我遇到了两种可能的替代实现: 将本地化的资源文件编译并部署为 DLL 提取所有字符串并将其替换为本地化版本.对于每个语言会有一个 XML(或简单文本)文件. 我个人选择第二种选择,因为在我看来它更灵活.更改很多但并不 ..
发布时间:2022-01-12 15:11:56 C/C++开发

C++ CLI System.String^ 到 MFC LPCTSTR

如何将系统 (.net) C++\CLI String^ 转换为 MFC C++ LPCTSTR 字符串. 将 LPCTSTR 放入 String^ 非常容易,但到目前为止还没有发现相反的方法. 解决方案 如果您有 Visual Studio 2008 或更高版本,您应该可以使用 C++/CLI 编组库来执行此操作,如下所示: #include 使 ..
发布时间:2022-01-12 15:11:47 C/C++开发

在文本编辑器中支持 IAccesible 接口以进行插入符号移动的正确解决方案是什么?

我想从头开始实现一个支持 IAccessible 接口的文本编辑器.我正在使用 MFC 和 Win32 API. 当在记事本等标准文本编辑器中插入符号位置发生变化时,插入符号移动的相应字母、单词或行由讲述人、JAWS 等客户端工具发音.我不知道如何实现此功能.我搜索了互联网并阅读了 MSDN 文档. 我在 http://msdn.microsoft.com/en-us/library/ ..
发布时间:2022-01-12 15:11:37 C/C++开发

如何在 CWnd 中调整 WPF 控件的大小?

我在 MFC CWnd 中托管 WPF UserControl.它工作得很好我现在需要弄清楚如何用它的父级调整控件的大小.我已经挂上了 OnSize 并且我正在调用 GetWindowRect 并将结果设置为我的控件,如下所示: void CChildFrame::OnSize(UINT nType, int cx, int cy){CRect 矩形;this->GetWindowRect(&r ..
发布时间:2022-01-12 15:11:18 C/C++开发

现在值得学习微软基础类(MFC)吗?

我是 Microsoft Technologies 的忠实粉丝.学习了很多 .NET Framework 和 C# 之类的编程语言.但我相信 .NET 应用程序是在 .NET Framework 之上运行的,所以它们有些慢.然后我听说 MFC 是一个用于 Windows 开发的包装类,它是商业应用程序开发的标准(我的意思不是业务级应用程序)所以我想知道现在学习 MFC 是否值得?有其他选择吗?我想 ..
发布时间:2022-01-12 15:11:11 C#/.NET

在 C++ 中检测 Enter/Return on Keydown 事件

我正在尝试在我的应用程序中检测是否按下了 Enter/Return 按钮.我的问题是 LVN_KEYDOWN 事件(表示已按下某个键)没有检测到 Enter/Return 键. 我已经看到其他语言的类似问题,但找不到 C++ 的解决方案. 我读取按键的事件是: void ListOption::OnLvnKeydownList1(NMHDR *pNMHDR, LRESULT *pRe ..
发布时间:2022-01-12 15:11:00 C/C++开发

对话框上的 MFC 工具栏?

我已经尝试了所有我能想到的方法来让工具栏显示在我的对话框中...包括尝试使用 CreateWindow 自己创建它...但它不会显示 我在资源编辑器中创建了一个对话框,然后为它创建了一个类(尝试从 CDialog 和 CDialogEx 派生).不可以加个CToolbar控件吗? 解决方案 嗯,有四个步骤. 1、CToolBar m_ToolBar;//同时你创建一个资源(例如 ..
发布时间:2022-01-12 15:10:54 C/C++开发

如何将命名管道字符串从未管理的代码空间发送到托管代码空间?

我似乎遇到了命名管道 101 问题.我有一个非常简单的设置来连接从 C++ 非托管应用程序传输到 C# 托管应用程序的单一命名管道.管道连接,但我无法通过管道发送“消息",除非我关闭似乎刷新缓冲区并传递消息的句柄.好像消息被屏蔽了.我尝试颠倒客户端/服务器的角色并使用不同的标志组合调用它们,但没有任何运气.我可以轻松地从 C# 托管到 C++ 非托管的另一个方向发送消息.有没有人有任何见解.你们中 ..
发布时间:2022-01-12 15:10:24 C#/.NET