MFC与STL
文章平均质量分 58
zjh824
这个作者很懒,什么都没留下…
展开
-
用NCPAINT实现对话框的平面效果
一个Resizing对话框要改为平面效果,在不改动原工程的情况下,通过NCPAINT消息实现其平面效果。void CDlg::OnNcPaint() { // TODO: Add your message handler code here CRect rect; GetWindowRect(&rect); CRect rt; rt.left=rt.top=0; rt.right=rect原创 2006-01-27 14:03:00 · 1455 阅读 · 0 评论 -
树控件的单击展开和虚列表的使用
在使用树控件时,想要实现单击展开,结果单击时的确可以展开了,但是随机而来的BUG多多。。例如单击ITEM前面的+号展开不了,而且是展开一下然后立即收回,而且已经单击展开后的ITEM再也不能展开了。由于树控件插入项时对子项个数使用了I_CHILDRENCALLBACK,类似于虚列表的方法,所以怀疑是否是虚列表的BUG,经过仔细的跟踪,终于找到结决办法。在建树时,不要对根结点作插入,只是展原创 2007-06-15 09:37:00 · 2372 阅读 · 0 评论 -
虚拟列表的注意事项
树控件中使用虚拟列表插入时使用 TVITEM tvItem; ZeroMemory(&tvItem, sizeof(tvItem)); tvItem.mask = TVIF_TEXT | TVIF_IMAGE |TVIF_CHILDREN |TVIF_SELECTEDIMAGE | TVIF_PARAM; tvItem.pszText = lpsfi.szDisp原创 2007-06-12 16:17:00 · 1140 阅读 · 0 评论 -
MFC临时对象的所产生的BUG
现象:视图类中响应消息时调用对话框 CDlgConfig dlg(this); if(dlg.DoModal() == IDOK) {// SaveConfig(); }在对话框构造参数中调用:CCapTestView * m_pParent = GetParent(); m_FourMin = m_pParent->m_FourMin; m_EMin = m_pParent->原创 2007-05-20 13:05:00 · 971 阅读 · 0 评论 -
MFC的窗口类虚函数PostNcDestroy使用应注意
产生BUG的代码:添加虚函数void CMainFrame::PostNcDestroy() { // TODO: Add your specialized code here and/or call the base class// if(m_bTimer) { KillTimer(1); m_bTimer = FALSE; } CFrameWnd::PostNcDestroy();原创 2007-05-20 16:47:00 · 5308 阅读 · 0 评论 -
自定义map的排序
typedef pair MYPAIR;class pysort{public: pysort(){} ~pysort(){} bool operator() (const MYPAIR &p1,const MYPAIR &p2) { if(p1.second == p2.second) return p1.first > p2.first; else return p1.s原创 2007-06-20 19:02:00 · 2223 阅读 · 0 评论 -
两条工具栏同一水平线
将两个工具栏放到同一排上 m_wndToolBar.EnableDocking(CBRS_ALIGN_TOP); m_CapDlgBar.SetBarStyle(m_CapDlgBar.GetBarStyle() | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC); m_CapDlgBar.EnableDockin原创 2006-06-05 03:48:00 · 867 阅读 · 0 评论 -
How to initialize child controls in a derived CDialogBar
如何将CDialogBar的消息映射转到CMainFrame中去..原文地址:http://support.microsoft.com/default.aspx?scid=kb;en-us;185672 How to initialize child controls in a derived CDialogBarSUMMARYWhen creating a simple CDialo原创 2006-06-05 03:45:00 · 997 阅读 · 0 评论 -
使用FLASH控件实现SWF2JPG
关键代码如下 CRect rect; m_flash.GetWindowRect(&rect); rect.SetRect(rect.left,rect.top,rect.left+m_nWidth,rect.top+m_nHeight); ScreenToClient(&rect); m_flash.MoveWindow(&rect,TRUE); SetDlgItemText(IDC_P原创 2006-01-27 15:00:00 · 1844 阅读 · 0 评论 -
树控件的滚动条的隐藏
程序要求显示垂直滚动条,隐藏水平滚动条,而树控件只有SCROLL属性,没有可以分别设置的选项,而且滚动条是属于WINDOW智能控制的,要实现这一要求,可以有两种方法。方法一。使用SB_FLAT风格,InitializeFlatSB(m_tree.m_hWnd);FlatSB_ShowScrollBar(m_tree.m_hWnd, SB_BOTH , FALSE);经过测试,发现这原创 2006-01-27 13:48:00 · 2494 阅读 · 0 评论 -
列表控件的列排序
BOOL CListCtrl::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) { // TODO: Add your specialized code here and/or call the base class if(bHScroll == FALSE) { switch (((NMHDR *)lParam )->code)原创 2006-01-27 15:28:00 · 1324 阅读 · 0 评论 -
在DC上画出渐变色
void CVQProgress::DrawColorBackGround(CDC *pDC, CRect *pRect, COLORREF StartCol,COLORREF MidCol){//横向渐变处理 int x,y; int r,g,b; int nStep=(pRect->right - pRect->left )/2; float rStep=(float)(GetRValue原创 2006-01-27 15:22:00 · 1043 阅读 · 0 评论 -
wince 下STL与wince下多语言检测
在wince中使用STL的MAP必须在stdafx.cpp中添加下列语句,否则编译会报lockit错误.#include "stdafx.h"#ifdef UNDER_CE#include namespace std{ _Lockit::_Lockit() { } _Lockit::~_Lockit() { }};#endif/////////////////////////////使用I原创 2009-10-28 13:12:00 · 1118 阅读 · 0 评论