我试图自定义一个通用对话框CFileDialog,尝试在他的标题栏上面添加一个图标,但是总是不成功,哪位前辈有这方面的经验请多多指教,我倾囊送分!

解决方案 »

  1.   

    BOOL CFileDialogEx::OnInitDialog() 
    {
    CDialog::OnInitDialog(); SetIcon(AfxGetApp()->LoadIcon(IDR_MAINFRAME), TRUE);
      

  2.   

    用classwizard增加新类CFileDialogEx,基类为CFileDialog,把楼上给的代码加上。使用时用CFileDialogEx替代CFileDialog,这个叫子类化(subclassing window)。
      

  3.   

    OFN_ENABLEHOOK也可,设置 lpfnHook 函数
      

  4.   

    在自定义的对话框初始化程序中
    SetIcon(m_hIcon, TRUE); // Set big icon
    SetIcon(m_hIcon, FALSE); // Set small icon
      

  5.   

    自己继承CFileDialog  然后在OnInitDialog()里加上SetIcon()
      

  6.   

    看看你的程序底下res文件,里面的图片是不是很常见,其中包括了应用程序的图标。
    再看看程序里面ResouceView里面有一个名为IDR_MAINFRAME的图标。
    用自己的图标替换即可!
    id一定要一致啊!
      

  7.   

    n种方法
    1:在OnInitDialog中
    HICON icon0 = AfxGetApp()->LoadIcon(IDI_ICON9);
    SetIcon(icon0,true);
    2:把resouce里面icon的改了