学习MFC的好资源
我是 MFC 的新手,想学习 MFC,我之前用过 C++. 我该怎么办? 有什么好书,有的话是哪个网站? 谢谢 Harish 解决方案 试试看这些:https://www.google.co.uk/search?q=MFC+Book&oq=MFC+Book&aqs=chrome..69i57j0l5.3271j0j7&sourceid=chrome&es_sm=93&ie=UTF-8[^] 但是 MFC 现在是相当过时的技术,您最好学习一些更新的东西,例如 CLR/.NET 或 Windows 模板库[^] 代替. 我猜 MSDN[^] 是最好的. 或者从视频教程[^]s 也是. -KR
278 2022-07-19
编程技术问答社区
在双链接列表中添加编辑控件中的数据,然后在列表控件中输出
在我的项目中,我需要将插入的数据从编辑控件放入双重喜欢列表中,然后打印列表控件中的所有条目. 我的老师告诉我处理结构中的数据(所以我不允许在课堂上这样做).我将结构放在 ...Doc.h 文件中.结构如下所示: typedef struct adr { char anrede [5]; char vorname [51]; char nachname [51]; char plz [8]; char ort [60]; char strasse [51]; char land [24]; char festnetz [14]; char mobil [14]; char mail [101]; char geburtsdatum [11]; char kategorie [31]; char startnummer [5]; char startzeit [9];
116 2022-07-19
编程技术问答社区
设置大小和SetAtGrow差异
CArray中Set Size和SetAtGrow的区别 请说明 解决方案 都隐藏在文档中: SetSize[^] 确定空数组或现有数组的大小;必要时分配内存. SetAtGrow[^] 在指定索引处设置数组元素. 备注 如有必要,数组会自动增长(即调整上限以适应新元素).
202 2022-07-19
编程技术问答社区
如何将C++函数移植到C#
我将一个 c++ 函数移植到 c# c++的代码是 int CCategory::CheckFileOrFolder(CString str) { int iRet = -1; try { const DWORD dwFileAttr = GetFileAttributes(str); if (dwFileAttr == DWORD(-1)) // file not found { iRet = -1; // nothing } else if (dwFileAttr & FILE_ATTRIBUTE_DIRECTORY) { iRet = 0; //folder } else iRet = 1; // file } catch(...) { } return iRet; } 如果我通过以下字符串,函数的输出会有所不同 C:\Windows\System32\speech\speechux\
190 2022-07-19
编程技术问答社区
x64应用程序中如何使用x86 dll?
x86 dll可以在x64应用中使用吗? 解决方案 一般意义上的“使用",原则上可以使用,但不能直接使用,没有像往常那样在一个进程中加载​​. 如果人们有两段没有源代码的代码,针对不同的指令集架构,他们会将其中的一个或多个封装在某个服务中,并通过 IPC 组织通信.换句话说,由于没有可执行文件(EXE、DLL 等)可以在同一个进程中运行,因此您应该拥有多个单独的进程,并且由于进程是隔离的,它们需要通过 IPC 进行通信.请看: http://en.wikipedia.org/wiki/Inter-process_communication[^], http://en.wikipedia.org/wiki/Instruction_set[^]. 另外,恐怕你漏掉了一个重点:至少有两种不同的 64 位指令集架构:x86-64 和 Itanium (IE64);它们不兼容,但都可以运行 32 位 x86 应用程序: http://en.wikipedia.org/wiki
1090 2022-07-19
编程技术问答社区
您好,先生,我正在mfc中使用剪贴板函数
亲爱的朋友们 在这个函数中使用写好的代码 char * pchData; pchData = (char*)GlobalLock(hClipboardData); strcpy(pchData, LPCSTR(strData)); 此代码运行错误 错误 C2440:“": 无法从“CString"转换为“LPCSTR" 解决问题 plz......... 解决方案 由于 CString 应该是常量字符串的容器,我猜你的 C++ 项目是 Unicode 并且试图将 CString 转换为 LPCSTR,您还尝试将宽字符串转换为 ANSI. (不先自己尝试)尝试以下各项. (1) 放弃演员表: strcpy(pchData, strData); 这将让编译器决定如何处理 strData 而不是使用强制转换. (2) 如果这不起作用,请将您的项目从 Unicode 更改为 ANSI. (3) 如果您不能这样做,请将宽字
86 2022-07-19
编程技术问答社区
如何在mfc中使用剪贴板
请帮帮我.... 你好亲爱的解决了错误 错误 C2440:“": 无法从“CString"转换为“LPCSTR" 我的代码: char * pchData;strcpy(pchData, LPCSTR(strData)); 解决方案 不能将 CString 复制到字符串指针.根据您收到的错误消息,我假设 strData 是 CString 类型.如果出于某种原因您需要一个指向以 nul 结尾的字符串的指针,您可以要求 CString 对象通过简单地编写来给您这样一个指针 const char* pchData = strData; 然而,并不是说这个指针只有在 CString 对象存在时才有效. 您可以使用 CT2A 宏,请参阅 ATL 和 MFC 字符串转换宏[^](请仔细阅读文档).
144 2022-07-19
编程技术问答社区
如何将文本框添加到messagebox?
大家好, 我想显示一个包含文本框的消息框.有人可以帮我吗?我正在寻找 InputBox 但我不知道要使用什么库. 感谢大家的帮助. 来自 的问候Epanjohura 解决方案 可以在c#中使用vb的输入框,如下: 1. 将 Microsoft.VisualBasic 引用添加到您的解决方案中. 2.使用Microsoft.VisualBasic 3. Microsoft.VisualBasic.Interaction.Inputbox(消息) 应该这样做 下面的链接可以帮助你 C#中的输入框[^] http://social.msdn.microsoft.com/论坛/en-US/ab9debc2-b355-445b-a9cb-29135f973836/c-inputbox[^] http://www.csharp-examples.net/inputbox/[^] http://stackoverflow.com/quest
150 2022-07-19
编程技术问答社区
如何在MFC对话框应用程序中添加下一步、后退按钮
// NBtq2Dlg.cpp : 实现文件#include "stdafx.h"#include "NBtq2.h"#include "NBtq2Dlg.h"#include ".\NBtq2Dlg.h"//#include "Secondbtq.h"#include "DlgProxy.h"#include "SourceDeclaration.h"#include "afxwin.h"#include "WinDef.h"#include "LVCustDraw.h"#include "Wizar.h"#ifdef _DEBUG#define new DEBUG_NEW#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif// 用于 App About 的 CAboutDlg 对话框class CAboutDlg : public CDialog{公开:CAboutDlg();//
152 2022-07-19
编程技术问答社区
mfc中编辑控件的字幕效果
朋友们好, 我制作了一个钢琴应用程序,其中按下的音符显示在带有滚动条的编辑控件中,但我需要滚动条与即将到来的文本一起前进,即(选框效果),到目前为止,我只搜索了选框效果以获得进度bar(CProgressBar) 和 (CTaskDialog) . 是否仅限于这两个. 解决方案 标准进度控件只是显示一个彩色条,但您可以通过子类化或从头开始创建自己的.或者,您可以向控件发送滚动消息以强制它移动文本.
150 2022-07-19
编程技术问答社区
基于对话框的应用程序中的可停靠对话框
如何在 DialogbasedApplication MFC 中创建 Dockable Dialog 请帮帮我 解决方案 以下是解决方案: http://www.codeproject.com/search.aspx?q=dockable+dialog+MFC&x=-1032&y=-146&sbo=qa&usfc=false[^] :mad:
220 2022-07-19
编程技术问答社区
如何使用Api获取菜单项检查状态
如果我得到了其他软件的Menu句柄,但是我想知道Menu的MenuItem是选中状态还是未选中状态,如何使用windows api获取其他软件的MenuItem状态. [DllImport("user32.dll")] public static extern int GetMenuState(int hMenu, int wID, int wFlags); 私有 int MF_BYPOSITION = 0x400; int it = GetMenuState(menuHandle, 2, MF_BYPOSITION); 我确定 menuHandle 的值是正确的,但是它的返回值等于 -1,我找不到原因.谁能帮帮我? 解决方案 我希望这不是显而易见的,但是通过指定 MF_BYPOSITION,这意味着第二个参数是项目索引,它是基于零的索引.如果您有 2 个项目,它们的编号分别为 0 和 1. 如果您使用 MF_BYCOMMAND,则第二个参数是感兴趣项
180 2022-07-19
编程技术问答社区
上传目录和全部内容
如何将目录和全部内容上传到 ftp 服务器.我正在使用 WinInet.我的 ftp 客户端已经快完成了,但我需要知道如何上传目录及其树. 谢谢你的帮助. 额外说明:im programming visual c++ MFC 解决方案 试试这个..:) http://stackoverflow.com/questions/2252000/upload-a-folder-by-ftp[^] 好吧... 我想最好的方法是让你的客户做一个 mkdir cd 在远程端创建目录并更改为它,然后是 对于本地目录中的所有文件,您可以使用“findfirst"/“findnext"类型扫描来查找.它相当容易做到.增加的复杂性是,如果您上传的目录有子目录,这意味着您必须递归地执行它,您希望它们也被上传 没有灵丹妙药 - 任何提供“上传整个目录"类型功能的客户端/工具都会在幕后或多或少地做同样的事情,可能有一个布尔选项来递归或不递归
142 2022-07-19
编程技术问答社区
模板类问题
这是我的代码的一部分: template class COfficeBorder : public TBase{受保护:virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam){switch(消息){case WM_NCPAINT:{TBase::WindowProc(message, wParam, lParam);...return 0;//已处理.}case WM_CREATE:{if (TBase::WindowProc(message, wParam, lParam) == -1)return -1;...return 0;//已处理.}break;case WM_NCCALCSIZE:{LRESULT lResult = TBase::WindowProc(message, wParam, lParam);...re
222 2022-07-19
编程技术问答社区
Visuall Cpp如何制作windows serivce屏幕捕获dll
我想用visual cpp制作一个网络监控程序.为此,我需要在所有客户端中创建 Windows 服务 [由 svchost 加载的 dll],用户不会知道并通过向服务器发送捕获的屏幕来监视他们每秒在做什么.这是一个大学实验室来监控学生.不要误会.还有如何使用 MFC 让所有客户端连接到服务器? 请帮助 解决方案 您可能需要研究 Sockets 或 WCF 用于您的通信过程.至于仅捕获位图的屏幕捕获,因此我怀疑它在您想要实现的任何目标中都有多大用处.
108 2022-07-19
编程技术问答社区
CEdit控制
我在 VC 5.0 的基于对话框的应用程序中有一个大型多行 CEdit.如何让它接受 Tab 键作为“编辑"选项卡,而不是作为跳转到下一个控件的命令.Rc 编辑器有一个 ''WantReturn'' 选项,但没有 ''Want Tab'' 解决方案 下面是我所说的 ''hack'' 但它有效(您必须检查是否有任何不良副作用:=).如果您找到更好/理想的解决方案,请在此处发布. 1.子类化编辑控件 .h == class CPDEdit: public CEdit { public: DECLARE_MESSAGE_MAP() afx_msg LRESULT OnKeyDown(WPARAM, LPARAM); afx_msg LRESULT OnKeyUp(WPARAM, LPARAM); }; .cpp ==== BEGIN_MESSAGE_MAP(CPDEdit, CEdit) ON_MESSAGE(WM_KEYDOWN, OnKeyDown)
88 2022-07-19
编程技术问答社区