- 博客(16)
- 资源 (7)
- 收藏
- 关注
原创 MFC中各种字符串的转化
<br />1.LPCSTR与CString相互转化<br />Cstring strHello;<br />strHello=”Hello world”;<br />LPCSTR lpStr=(LPCSTR)strHello;<br />Cstring str2;<br />str2=(CString)lpStr;<br /><br />另外,Cstring类有一成员函数Format,可以用来把类型转换成Cstring类型,以上lpStr转换成Cstring可以这样表示:<br /><br />str2.
2010-12-27 15:21:00 811
转载 MFC打印编程
<br />MFC的文档/视图结构使我们的打印工作变得更加便捷,为了便于明晰打印流程,让我们了解一下MFC在背后“偷偷”为我们做了哪些工作。<br />1> 创建打印设备描述表并在打印结束后删除它<br />2> 调用StartDoc和EndDoc来开始和结束打印工作<br />3> 调用StartPage和EndPage来开始和结束每一页<br />在文档/视图结构的程序中实现打印的关键是一组CView类的虚函数,主框架要在打印处理的不同阶段调用他们,实际使用时我们可以根据需要覆盖这些函数,这里我建议用M
2010-12-27 14:27:00 1882
原创 C语言中const关键字学习
1. 指向const指针 const int* u;//u是一个指针,它指向一个const int, 它所指的值是不能改变的。还可以定义为int const * v; 但第一种定义更加规范const int *u; int j = 1; u = &j; *u = 9;//编译期间错误,指向一个const int ,其值是不能被修改的 int k =2; u = &k;//编译期间没有错误,指针本身是可以改变的2. const 指针int d =1;int * const w = &d; // w是一个指针
2010-12-27 11:15:00 324
原创 MFC中OnNewDocument与Serialize调用过程
1. OnNewDocument()调用过程: 程序启动->CWinApp:;OnFileNew(m_pDocManager->OnFileNew()) ->CDocManager::OnFileNew(pTemplate->OpenDocumentFile(NULL)) ->CSingleDocTemplate::OpenDocumentFile(Create...
2010-12-26 21:27:11 950
原创 MFC集合类
MFC中的集合类 实际上集合类就是数据结构中的顺序存储结构和链表存储结构。它的优点就是建立这样的存储结构简单,并且把相关的操作集中成函数,方便用户的调用。比如顺序存储用到数组,如果要在数组中的固定位置添加一项,普通的方法就是要用一个for循环,有点烦琐。而在集合类中只要用一个add函数 就完成了,相对简单一点。 数据结构是软件设计中的一个重要组成部分。因此我们有必要搞清楚集合类的相关问题。 ...
2010-12-26 20:59:17 132
原创 C语言文件操作
1.读取文件FILE * pFile = fopen("D:\\FileText.txt","r");/* char ch[100]; memset(ch,0,100); fread(ch,1,100,pFile); fclose(pFile);*/ char *pBuf; fseek(pFile,0,SEEK_END);//将文件指针移动到文件的结尾处 int len = ftell(pFi...
2010-12-26 13:52:47 90
原创 MFC多文档程序启动时一个文档创建两个视图
1.在App类中创建两个public变量:CMultiDocTemplate * m_pDocTemplate;CMultiDocTemplate * m_pNewDocTemplate;2.在App类中的Initlnstance()函数中添加以后程序:m_pDocTemplate = new CMultiDocTemplate( IDR_MULTIDTYPE, RUNTIME...
2010-12-25 20:44:10 466
原创 MFC中页面坐标系到设备坐标系之间的变换
页面坐标系到设备坐标系之间的变换这个变换决定了与特定DC相联系的映射模式,影响该DC上的所有图形输出。映射模式本身就是一个缩放变换,决定了画图操作中一个单位的尺寸,映射模式也可以用于平移变换,某些情形下,映射模式会改变x,y轴的坐标原点。首先来了解几个映射模式:(1)映射模式说明------------------------------------------------------...
2010-12-25 10:49:04 473
原创 MFC坐标系统
SetMapMode, SetWindowExt, SetViewportExt, SetViewportOrg, SetWindowOrgEx的用法总结:这四个函数是我以前就不太会的,第一个最容易,我已经理解了。第二个我也已经清楚了,它是设定窗口的逻辑大小的,它只能用逻辑上的数字作为参数。它只能在MM_ISOTROPIC模式或是MM_ANISOTROPIC模式下有作用。另外它应该在SetView...
2010-12-24 22:13:05 177
原创 菜单操作
//标记菜单 //GetMenu()->GetSubMenu(0)->CheckMenuItem(2,MF_BYPOSITION |MF_CHECKED);//索引方式 //GetMenu()获得菜单CMenu对象指针, GetMenu()->GetSubMenu(0)->CheckMenuItem(ID_FILE_SAVE,MF_BYCOMMAND |MF_CHECKED...
2010-12-24 19:33:03 118
原创 MFC获取各类指针
1.获取应用程序指针 CMyApp* pApp=(CMyApp*)AfxGetApp();2、获取主框架指针 CWinApp 中的公有成员变量 m_pMainWnd 就是主框架的指针 CMainFrame* pMainFrame = (CMainFrame*)(AfxGetApp()->m_pMainWnd); 或者 CMainFrame* pMainFrame = (CMai...
2010-12-24 17:08:03 98
原创 MFC窗口关闭执行的顺序
SDI窗口的关闭 在这种情况下,主窗口将被关闭。首先,关闭应用程序的文档对象。文档对象的虚拟函数OnCloseDocument调用时销毁了主窗口(Windows窗口和MFC窗口对象),同时也导致视、工具条窗口的销毁。主窗口销毁后,应用程序的主窗口对象为空,故发送WM_QUIT消息结束程序。 MDI主窗口的关闭 首先,关闭应用程序...
2010-12-24 15:26:16 494
原创 MFC对象的创建
http://www.wrsaw.cn/Article/ShowArticle.asp?ArticleID=3644 命令行到创建或打开文件的处理过程:命令行分析-》应用程序的FileNew-文档模板的OpenDocumentFile(NULL)->文档的OnNewDocument-》命令行分析-》应用程序的FileOpen->文档模板的OpenDocumentFile(f...
2010-12-24 10:36:16 106
原创 MFC消息执行顺序
1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数 3.WindowProc() 该函数负责发送消息到OnWndMsg()函数,如果未被处理,则调用DefWin...
2010-12-23 21:14:21 87
原创 深入分析MFC文档视图
文档视图结构(Document/View Architecture)是MFC的精髓,也是Observer模式的具体实现框架之一,Document/View Architecture通过将数据和其表示分开,提供了很好的数据层次和表现层次的解耦。然而,虽然我们使用MFC AppWizard就可以很轻松地获得一个支持Document/View Architecture的MFC程序框架,Document/...
2010-12-23 14:41:06 113
原创 MFC消息执行顺序
在MFC框架下,一般一个消息的处理过程是这样的。 函数AfxWndProc接收Windows操作系统发送的消息。 函数AfxWndProc调用函数AfxCallWndProc进行消息处理,这里一个进步是把对句柄的操作转换成对CWnd对象的操作。 函数AfxCallWndProc调用CWnd类的方法WindowProc进行消息处理。注意AfxWndProc和AfxCallWndProc都是AFX的A...
2010-12-22 20:16:54 188
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人