Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: từ 1 button trong form tạo một đường dẫn tới file và folder bất kỳ giống trong lúc cài đặt game bằng VC++

  1. #1
    Ngày gia nhập
    10 2011
    Bài viết
    3

    Arrow từ 1 button trong form tạo một đường dẫn tới file và folder bất kỳ giống trong lúc cài đặt game bằng VC++

    Như trên tiêu đề thì khi e cài đặt game thì khi cài có 1 thư mục cho mình chọn đường dẫn cài đặt game ở đâu và khi chọn thì đường dẫn sẽ hiện ra bên cạnh cái browser.Hiện cái project em đang làm có liên quan đến phần này.Đây là cái form e lập ra bằng VS2008 sử dụng VC++ CLR app window library:

    Ở đây e mún lập trình cho cái nút InBrser là đường dẫn tới 1 file bất kỳ khi chọn file xong thì đường dẫn sẽ hiện lên bên cạnh
    Nút OutBrser tạo 1 đường dẫn đến 1 folder bất kỳ và đường dẫn cũng hiện bên cạnh
    E đã tham khảo khá nhiều code trên mạng nhưng khi add vào thì toàn lỗi.E hơi gà nên mong bác nào có thể code cho e hoặc hướng dẫn cụ thể về cái này
    Đã được chỉnh sửa lần cuối bởi tungds : 03-10-2011 lúc 12:40 PM.

  2. #2
    Ngày gia nhập
    03 2011
    Bài viết
    67

    Mình ko rõ về Visual C++.NET cho lắm. Tuy nhiên nếu bạn chuyển qua dùng Visual C++ MFC thì mình có viết một lớp dùng Win32 API và CString của MFC để tạo cái nút Browser để duyệt thư mục.Còn duyệt file thì đơn giản hơn nhiều vì MFC hỗ trợ sẵn lớp CFileDialog. Bạn cứ tham khảo xem nhé.
    Đây là file FolderDlg.h của lớp CFolderDlg
    Visual C++ Code:
    1. #pragma once
    2. #ifndef FOLDERDLG_H
    3. #define FOLDERDLG_H
    4. class CFolderDlg
    5. {
    6. public:
    7.     CString m_PathFolderSelected;//Biến lưu thư mục khi người dùng chọn
    8.     CFolderDlg(void);
    9.     virtual ~CFolderDlg(void);
    10.     void CreateSelectDialog(HWND hWnd,CString m_Title,CString RootFolder);//Khởi tạo hộp thoại chọn thư mục
    11. //hWnd : HANDLE của cửa sổ, m_Title: Tiêu đề của cửa sổ,RootFolder: Thư mục gốc
    12. //nếu RootFolder=NULL thì thư mục là desktop của bạn
    13. };
    14. #endif
    Còn đây là file FolderDlg.cpp
    Visual C++ Code:
    1. #include "StdAfx.h"
    2. #include "FolderDlg.h"
    3. CFolderDlg::CFolderDlg(void){}
    4. CFolderDlg::~CFolderDlg(void){}
    5. void CFolderDlg::CreateSelectDialog(HWND hWnd,CString m_Title, CString RootFolder)
    6. {
    7.     BROWSEINFO bi = { 0 };
    8.     bi.hwndOwner=hWnd;
    9.     bi.lpszTitle =m_Title;
    10.     bi.ulFlags=BIF_RETURNONLYFSDIRS | BIF_USENEWUI;
    11.     bi.pidlRoot= SHSimpleIDListFromPath(RootFolder);
    12.     LPITEMIDLIST pidl = SHBrowseForFolder ( &bi );
    13.     if ( pidl != 0 )
    14.     {
    15.         // Lấy tên thư mục đc chọn đưa vào biến path
    16.         TCHAR path[MAX_PATH];
    17.         if ( SHGetPathFromIDList ( pidl, path ) )
    18.         {
    19.             this->m_PathFolderSelected=path ;
    20.         }
    21.  
    22.         // Giải phóng bộ nhớ
    23.         IMalloc * imalloc = 0;
    24.         if ( SUCCEEDED( SHGetMalloc ( &imalloc )) )
    25.         {
    26.             imalloc->Free ( pidl );
    27.             imalloc->Release ( );
    28.         }
    29.     }
    30. }
    Để sử dụng lớp này bạn chỉ cần
    Visual C++ Code:
    1. #include "FolderDlg.h"
    Giả sửa mình đang làm trên một Dialog-Based. Khi ấn Nút OK sẽ tạo ra cái hộp để duyệt thư mục
    thì trong sự kiện của nút OK bạn chỉ cần viết như sau:
    Visual C++ Code:
    1. CFolderDlg dlg;
    2. dlg.CreateSelectDialog(this->GetSafeHwnd(),0,0);
    3. //dlg.m_PathFolderSelected=Tên thư mục đã chọn.
    Demo:
    Đã được chỉnh sửa lần cuối bởi quandaso : 11-10-2011 lúc 11:54 AM.

Các đề tài tương tự

  1. Gọi Form qua folder trong project C# như thế nào?
    Gửi bởi vanthaophamit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 09-07-2014, 11:11 PM
  2. Cách kiểm tra trong 1 folder có chứa 1 file hay folder khác hay không ?
    Gửi bởi nguyenkhanhminh trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 23-05-2011, 11:00 AM
  3. Cách đưa các form, class vào các folder trong c#
    Gửi bởi mouseover trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 18-10-2010, 03:58 PM
  4. làm sao để lấy đc path của file hay folder đã chọn lúc soft bắt đầu mở
    Gửi bởi fellpassion trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 11
    Bài viết cuối: 13-10-2009, 11:49 PM
  5. Làm mất X-Button của form trong lúc thực thi
    Gửi bởi NoBi trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 21-05-2007, 12:26 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn