重载了CFileDialog但是在打开文件夹的时候不刷新是咋回事

重载了CFileDialog但是在打开文件夹的时候不刷新是怎么回事?
本帖最后由 VisualEleven 于 2013-02-16 09:39:49 编辑
 重载了CFileDialog但是在打开文件夹的时候不刷新是咋回事

开始的时候很好,但是我换点另外一个文件夹的时候,或者点击上一级路径的时候,就这样了
当鼠标移动到有控件的地方,控件一个接一个的显示。我怀疑是没有刷新,怎么刷新?
我是把GROUP_BOX 来改ID为stc32的


代码:
// myfileDialog.cpp : 实现文件
//

#include "stdafx.h"
#include "*****x.h"
#include "my****Dialog.h"

black
// CmyfileDialog 对话框

IMPLEMENT_DYNAMIC(CmyfileDialog, CFileDialog)

CmyfileDialog::CmyfileDialog(BOOL bOpenFileDialog, 
        LPCTSTR lpszDefExt /*= NULL*/, 
        LPCTSTR lpszFileName /*= NULL*/, 
        DWORD dwFlags /*= OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT*/, 
        LPCTSTR lpszFilter /*= NULL*/, 
        CWnd* pParentWnd /*= NULL*/ )

: CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName,
        dwFlags, lpszFilter, pParentWnd)

{
    m_ofn.Flags |= OFN_ENABLETEMPLATE;
    m_ofn.lpTemplateName = MAKEINTRESOURCE(IDD_MYFILE_DIALOG);//替换为我们的模板
    m_ofn.lpstrTitle = NULL;
    m_ofn.Flags &= ~OFN_ENABLESIZING;//不允许改变大小(如果允许的话那么保存对话框会受影响变大)
}

CmyfileDialog::~CmyfileDialog()
{
}

void CmyfileDialog::DoDataExchange(CDataExchange* pDX)
{
CFileDialog::DoDataExchange(pDX);
}

BEGIN_MESSAGE_MAP(CmyfileDialog, CFileDialog)
END_MESSAGE_MAP()

// CmyfileDialog 消息处理程序
 
BOOL CmyfileDialog::OnInitDialog()
{
  return TRUE;
}

------解决方案--------------------
刷新是Invalidate,可以自己写语句。
不过你这情况用自己的模板控制,控件资源编号都对应的上?
------解决方案--------------------
http://www.vckbase.com/index.php/wv/1139