3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
[VC(Visual C++) ]-66_多重建立資料夾 本篇分享66_多重建立資料夾範例,有興趣的(C/P)同好,歡迎來http://yfdisk.com/file/jashliao/cb724f32/索取,因為我不會上傳檔案分享哈哈 ^ ^。 主要程式碼 001    // CreateMulDirDlg.cpp : implementation file                002    //                003                    004    #include "stdafx.h"                005    #include "CreateMulDir.h"                006    #include "CreateMulDirDlg.h"                007                    008    #ifdef _DEBUG                009    #definenew DEBUG_NEW                010    #undef THIS_FILE                011    staticchar THIS_FILE[] = __FILE__;                012    #endif                013                    014    /////////////////////////////////////////////////////////////////////////////                015    // CAboutDlg dialog used for App About                016                     017    class CAboutDlg : public CDialog                018    {                019    public:                020        CAboutDlg();            021                    022    // Dialog Data                023        //{{AFX_DATA(CAboutDlg)             024        enum { IDD = IDD_ABOUTBOX };            025        //}}AFX_DATA            026                    027        // ClassWizard generated virtual function overrides            028        //{{AFX_VIRTUAL(CAboutDlg)            029        protected:            030        virtualvoid DoDataExchange(CDataExchange* pDX);    // DDX/DDV support            031        //}}AFX_VIRTUAL            032                    033    // Implementation                034    protected:                 035        //{{AFX_MSG(CAboutDlg)            036        //}}AFX_MSG            037        DECLARE_MESSAGE_MAP()            038    };                039                    040    CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)                041    {                042        //{{AFX_DATA_INIT(CAboutDlg)            043        //}}AFX_DATA_INIT            044    }                045                    046    void CAboutDlg::DoDataExchange(CDataExchange* pDX)                047    {                 048        CDialog::DoDataExchange(pDX);            049        //{{AFX_DATA_MAP(CAboutDlg)            050        //}}AFX_DATA_MAP            051    }                052                    053    BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)                 054        //{{AFX_MSG_MAP(CAboutDlg)            055            // No message handlers        056        //}}AFX_MSG_MAP            057    END_MESSAGE_MAP()                058                    059    /////////////////////////////////////////////////////////////////////////////                060    // CCreateMulDirDlg dialog                061                    062    CCreateMulDirDlg::CCreateMulDirDlg(CWnd* pParent /*=NULL*/)                063        : CDialog(CCreateMulDirDlg::IDD, pParent)            064    {                065        //{{AFX_DATA_INIT(CCreateMulDirDlg)            066            // NOTE: the ClassWizard will add member initialization here        067        //}}AFX_DATA_INIT            068        // Note that LoadIcon does not require a subsequent DestroyIcon in Win32            069        m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);            070    }                071                    072    void CCreateMulDirDlg::DoDataExchange(CDataExchange* pDX)                 073    {                074        CDialog::DoDataExchange(pDX);            075        //{{AFX_DATA_MAP(CCreateMulDirDlg)            076            // NOTE: the ClassWizard will add DDX and DDV calls here        077        //}}AFX_DATA_MAP             078    }                079                    080    BEGIN_MESSAGE_MAP(CCreateMulDirDlg, CDialog)                081        //{{AFX_MSG_MAP(CCreateMulDirDlg)            082        ON_WM_SYSCOMMAND()            083        ON_WM_PAINT()             084        ON_WM_QUERYDRAGICON()            085        ON_BN_CLICKED(IDC_BTCREATE, OnCreate)            086        //}}AFX_MSG_MAP            087    END_MESSAGE_MAP()                088                    089    /////////////////////////////////////////////////////////////////////////////                090    // CCreateMulDirDlg message handlers                091                    092    BOOL CCreateMulDirDlg::OnInitDialog()                093    {                094        CDialog::OnInitDialog();            095                    096        // Add "About..." menu item to system menu.            097                    098        // IDM_ABOUTBOX must be in the system command range.            099        ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);            100        ASSERT(IDM_ABOUTBOX < 0xF000);            101                    102        CMenu* pSysMenu = GetSystemMenu(FALSE);            103        if (pSysMenu != NULL)            104        {            105            CString strAboutMenu;        106            strAboutMenu.LoadString(IDS_ABOUTBOX);        107            if (!strAboutMenu.IsEmpty())        108            {        109                pSysMenu->AppendMenu(MF_SEPARATOR);    110                pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);    111            }        112        }            113                    114        // Set the icon for this dialog.  The framework does this automatically            115        //  when the application's main window is not a dialog            116        SetIcon(m_hIcon, TRUE);            // Set big icon 117        SetIcon(m_hIcon, FALSE);        // Set small icon    118                    119        // TODO: Add extra initialization here             120                    121        return TRUE;  // return TRUE  unless you set the focus to a control            122    }                123                    124    void CCreateMulDirDlg::OnSysCommand(UINT nID, LPARAM lParam)                125    {                126        if ((nID & 0xFFF0) == IDM_ABOUTBOX)            127        {            128            CAboutDlg dlgAbout;        129            dlgAbout.DoModal();        130        }            131        else            132        {            133            CDialog::OnSysCommand(nID, lParam);        134        }            135    }                136                    137    // If you add a minimize button to your dialog, you will need the code below                138    //  to draw the icon.  For MFC applications using the document/view model,                139    //  this is automatically done for you by the framework.                140                    141    void CCreateMulDirDlg::OnPaint()                 142    {                143        if (IsIconic())            144        {            145            CPaintDC dc(this); // device context for painting        146                    147            SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);         148                    149            // Center icon in client rectangle        150            int cxIcon = GetSystemMetrics(SM_CXICON);        151            int cyIcon = GetSystemMetrics(SM_CYICON);        152            CRect rect;        153            GetClientRect(&rect);        154            int x = (rect.Width() - cxIcon + 1) / 2;        155            int y = (rect.Height() - cyIcon + 1) / 2;        156                    157            // Draw the icon        158            dc.DrawIcon(x, y, m_hIcon);        159        }            160        else            161        {            162            CDialog::OnPaint();        163        }            164    }                165                    166    // The system calls this to obtain the cursor to display while the user drags                167    //  the minimized window.                168    HCURSOR CCreateMulDirDlg::OnQueryDragIcon()                169    {                170        return (HCURSOR) m_hIcon;            171    }                172                    173    void CCreateMulDirDlg::OnCreate()                 174    {                175        CStringArray strarray;            176        CString strpath,strtmp;            177        GetDlgItem(IDC_EDPATH)->GetWindowText(strpath);            178                    179        for(int i=0;i 180        {            181            if(strpath.GetAt(i)!='\\')        182                strtmp+=strpath.GetAt(i);    183            else        184            {        185                strarray.Add(strtmp);    186                strtmp+="\\";    187            }        188            if(i==strpath.GetLength()-1)        189            strarray.Add(strtmp);        190        }            191        CFileFind findfile;            192        for(int j=0;j 193        {            194            strtmp=strarray.GetAt(j);        195            CreateDirectory(strtmp,NULL);        196            /*        197            if(!CreateDirectory(strtmp,NULL))        198            {        199                DWORD ret=::GetLastError();    200                CString strerr;    201                strerr.Format("%d",ret);    202                MessageBox(strerr,"渣昫測鎢",MB_OK);    203            }*/        204        }            205                    206    }                   

本文由jashliaoeuwordpress提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦