制作自己个性的按钮--指定的文件夹找指定的后缀名文件并显示--修改对话框背景色

一、制作自己个性的按钮:添加现有项(BCMenu.h & BCMenu.cpp和 BtnST.h & BtnST.cpp)

     CButtonST m_BtnRename;

m_BtnRename.SetIcon(IDI_ICON_Rename1,IDI_ICON_Rename);

     m_BtnRename.SetAlign(CButtonST::ST_ALIGN_HORIZ);//字居右

     // m_BtnRename.SetColor(CButtonST::BTNST_COLOR_FG_OUT, RGB( 255, 255, 255 ));

     m_BtnRename.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB( 255, 0, 0 ));

     m_BtnRename.DrawTransparent(TRUE);

     m_BtnRename.DrawBorder(FALSE);

     //m_BtnConnect.SetTooltipText( cls_kodLogic->GetMsgString(1700) );

 

 

二、在指定的文件夹里找指定的后缀名文件后显示在ClistCtrl m_list

void CGQCMMDlg::FindFile(CString pstr)//传绝对路径名

{    CFileFind finder;

     LV_COLUMNCol;

     CString  idcstr;

     BOOL bWorking   =   finder.FindFile(pstr   +  _T("\\*.* "));      

    while (bWorking)

    {

        bWorking = finder.FindNextFile();   

        // skip . and .. files; otherwise, we'd

        // recur infinitely!

        if(finder.IsDots())   //本级目录或父目录(.和..)

            continue;       

        // if it's a directory, recursively search it

         CString str = finder.GetFileName();

         if(finder.IsDirectory())

        {    //CString ff = finder.GetFilePath();//使用绝对路径,这样就可以查找子目录了

//FindFile(ff);

              continue;

        }

        else

        {      //str += _T("\n");

               //m_edit.SetSel(-1, -1);

              //((CListBox*)GetDlgItem(IDC_LIST4))->AddString(str);    //加到list box,并显示

              //得到文件后缀名

              int nLen = str.GetLength() - finder.GetFileTitle().GetLength();

              CString ii = str.Right(nLen);

              if(ii == ".mpg" || ii == ".mp4" || ii == ".avi" || ii == ".vob" 

                   ||ii == ".MPG" || ii == ".MP4" || ii == ".AVI" || ii == ".VOB" 

              {

                   int nItem;

              n++;

              m_lvSong.mask = LVIF_TEXT;

              m_lvSong.iItem = 0;

              m_lvSong.iSubItem = 0;

              m_lvSong.pszText = (LPSTR)(LPCTSTR)str;

              nItem = this->m_list.InsertItem(&m_lvSong);

              }

        }

    }   

    finder.Close();

}

三、修改对话框背景色,添加WM_CTLCOLOR消息函数

HBRUSH CGQCMMDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

{

     HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

 

     // TODO:  在此更改DC 的任何属性

     // TODO:  如果默认的不是所需画笔,则返回另一个画笔

     hbr   =   ::CreateSolidBrush(RGB(124,181,220));  

     pDC->SetBkColor(RGB(124,181,220));

     //pDC->SetTextColor(RGB(255,0,0));

    

     return hbr;

}

posted on 2012-03-20 15:01  langgonger  阅读(513)  评论(0)    收藏  举报

导航