09 2010 档案

2010.9.30
摘要:1、CTypedPtrList、CPtrList的用法2、 阅读全文

posted @ 2010-09-30 17:38 pjh123 阅读(119) 评论(0) 推荐(0)

2010.9.29 今日问题
摘要:1、CDC,如果自己获得了一个CDC,要注意释放。所以最好使用OnDraw传入的DC,由调用者管理2、重画界面后,要及时Invalidate(); 否则会发现没有变化,只有下次触发时,才能看到结果3、当在函数中返回一个map之类的结构时,最好map<int,int>(m_map),什么好处呢?4、typedef CTypedPtrList<CObList, CPnrDrawObj... 阅读全文

posted @ 2010-09-29 17:49 pjh123 阅读(114) 评论(0) 推荐(0)

2010.9.29 DrawArrow画箭头
摘要:引用自:http://wupei.j2megame.org/blog.php/myblog/vc/2008/01/12/arrow-in-mfcMFC中实现的画箭头算法 (Arrow in MFC)在以前做的程序中,曾经需要使用程序来画出一个箭头 但是自己想出的算法又不是太通用 所以在codeproject中寻找到一个这样的算法,在这里介绍一下 可以改变三角形大小,顶点角度,是否填充和填充颜色等 ... 阅读全文

posted @ 2010-09-29 17:45 pjh123 阅读(357) 评论(0) 推荐(0)

2010.9.16
摘要:关于CDockablePane的记忆功能1、VS2008能够记忆CDockablePane的位置和状态,当程序下次启动时,能够以上次关闭之前的状态启动,这些位置信息等是写在注册表里面的。2、程序关闭时,应用程序类调用BOOL CWinAppEx::SaveState(LPCTSTR lpszSectionName /*=NULL*/, CFrameImpl* pFrameImpl /*= NULL... 阅读全文

posted @ 2010-09-16 17:18 pjh123 阅读(438) 评论(1) 推荐(0)

2010.9.16 MFC常用控件用法
摘要:一、CheckBox 1、通过id ,判断一个checkBox是否被选中 int ncheck=((CButton*)GetDlgItem(IDC_CHECK13))->GetCheck(); 返回结果:1/0 阅读全文

posted @ 2010-09-16 13:31 pjh123 阅读(230) 评论(0) 推荐(0)

2010.9.10 周末任务
摘要:一、实验一下资源拷贝 1、Copy对话框对应类: 将对话框对应的类文件(.h,.cpp)拷贝到另一个工程。 这时,在类的.h文件中,会发现有“enum { IDD = IDD_DIALOG1 };”未定义的错误, 需要在目标工程中添加: (1)、#define IDD_DIALOG1 129 (2)、在对话框类的.h文件中,添加 #include "resource.h" ... 阅读全文

posted @ 2010-09-10 17:21 pjh123 阅读(163) 评论(0) 推荐(0)

2010.9.9
摘要:1、如果在程序启动时,调整主框架、View大小,显示合适大小? 可以计算view 中边缘控件的位置,然后在其基础上,加上适当大小,做为主框架的大小。 CRect rect; this->GetWindowRect(rect); //GetParentFrame()->MoveWindow(rect,TRUE); CRect rect2; m_btn_Update.GetWindow... 阅读全文

posted @ 2010-09-09 17:50 pjh123 阅读(165) 评论(0) 推荐(0)

2010.9.8 CView的绘图(OnEraseBkgnd、OnCtlColor、OnPaint)
摘要:函数:OnPaint()函数:BOOL CPnrNavCtrlView::OnEraseBkgnd(CDC* pDC)函数:HBRUSH CPnrNavCtrlView::OnCtlColor(CDC* pDC,CWnd* pWnd,UINT nCtlColor)1、OnEraseBkgnd()可以用于绘制背景色COLORREF m_crBackground; CBrush m_wndbkBrus... 阅读全文

posted @ 2010-09-08 17:49 pjh123 阅读(854) 评论(0) 推荐(0)

2010.9.6 OnPaint/OnDraw
摘要:一、假如我在一个表中的单文档应用程序中,重载了OnPaint()、OnDraw() 为什么窗口无效时,只调用了OnDraw()?而没有调用到本地View(即应用程序view )中的OnPaint()呢?跟踪发现直接调用的是CView的OnPaint,为什么呢?二、这几天使用了VS2008的一些新控件,有如下: CMFCMenuButton、CMFCButton,请注意其用法,程序完成之后需要总结。... 阅读全文

posted @ 2010-09-07 18:28 pjh123 阅读(266) 评论(0) 推荐(0)

2010.9.6
摘要:一、如果在程序中涉及Socket,那么需要在应用程序的BOOL CPnrNavCtrlApp::InitInstance()函数中,做Socket初始化工作,如下: if (!AfxSocketInit()){AfxMessageBox(_T("初始化socket失败"));return FALSE;}仅仅如上是会报错的,还需要在stdafx.h中加入头文件信息:#include <afxs... 阅读全文

posted @ 2010-09-06 17:45 pjh123 阅读(124) 评论(0) 推荐(0)

2010.9.4
摘要:9.1-9.3周三到周五主要研究了VS2008里面Office 2007风格的框架设计1、Office2007风格框架主要用了新类库 CMFCRibbonBar,就是上面的工具条带型地带,继承于一个CPane; CMFCRibbonCatalogy,一个菜单对应的,就像一个tab CMFCRibbonPanel,一个组合区域 CMFCRibbonButton等按钮控件。 主要是想研究一下,是否可... 阅读全文

posted @ 2010-09-04 08:00 pjh123 阅读(213) 评论(0) 推荐(0)

2010.9.4 周末解决如下疑问
摘要:1、MFC中重绘的意义,(OnDraw OnPaint),何时重绘? 什么情况需下重绘? 比如在View中create了一个控件,需不需要重绘? 在Dialog中拖入控件,或Create控件,为什么不需要重绘? 在FormView上拖入控件,为什么也不需要重绘? CDC和CBrush什么区别、分别怎么用?(CDC、CWindowsDC、CClientDC、CPaintDC) 文档数据发生变化时,会... 阅读全文

posted @ 2010-09-04 07:51 pjh123 阅读(315) 评论(0) 推荐(0)