Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Rabota s faylami.

1.8K
04 марта 2004 года
scanf
72 / / 10.12.2003
Vopros takoy.
Kak mogno otkrit file naprimer s pomohyu classa
"CFile", yesli yego imya sodergit odin ili neskolko probelov ?
naprimer: "otkroy menya pogalusto.txt"
3.2K
04 марта 2004 года
srd
50 / / 31.08.2003
Цитата:
Originally posted by scanf
Vopros takoy.
Kak mogno otkrit file naprimer s pomohyu classa
"CFile", yesli yego imya sodergit odin ili neskolko probelov ?
naprimer: "otkroy menya pogalusto.txt"



А в чем проблема? Это прекрасно работает:

 
Код:
CFile file;
file.Open("otkroy menya pogalusto.txt", CFile::modeCreate | CFile::modeWrite));
file.Close();
1.8K
04 марта 2004 года
scanf
72 / / 10.12.2003
Цитата:
Originally posted by srd


А в чем проблема? Это прекрасно работает:

 
Код:
CFile file;
file.Open("otkroy menya pogalusto.txt", CFile::modeCreate | CFile::modeWrite));
file.Close();





Da kogda ti sozdayosh fayle to vsyo rabotayet normalno no kogda otkrivayesh suhestvuyuhiy on otkrivayet bog znayet chto. :x

3.2K
04 марта 2004 года
srd
50 / / 31.08.2003
Цитата:
Originally posted by scanf




Da kogda ti sozdayosh fayle to vsyo rabotayet normalno no kogda otkrivayesh suhestvuyuhiy on otkrivayet bog znayet chto. :x



Странно, все работает замечательно. Покажи свой код.

1.8K
04 марта 2004 года
scanf
72 / / 10.12.2003
Цитата:
Originally posted by srd


Странно, все работает замечательно. Покажи свой код.




Blin vdrug stalo rabotat naverno chtoto s Windows.

No vseravno spasibo za uchastiye. :)

Da ti ne znayesh sluchayno kak mogno sdelat ili vizvat menyu dlya vibora papki ne zaprashivayuheye imya fayla (vrode kak poyavlyayetsya u WinZip dlya deystviya "Extract")

3.2K
05 марта 2004 года
srd
50 / / 31.08.2003
Файл browser.h
Код:
class Folder_browser {
public:
        Folder_browser(void);

        bool show(CString &folder, const TCHAR *title = 0,
                const TCHAR *initial_folder = 0,
                UINT flags = BIF_BROWSEINCLUDEFILES);

private:
        BROWSEINFO bi;
        TCHAR display_name[MAX_PATH];

        static int CALLBACK callback(HWND hwnd, UINT msg, LPARAM param,
                LPARAM data);  
};


Файл browser.cpp
Код:
#include "browser.h"

Folder_browser::Folder_browser(void)
{
        memset(&bi, 0, sizeof(bi));

        bi.hwndOwner = AfxGetMainWnd()->GetSafeHwnd();      
        bi.lpfn = callback;
        bi.pszDisplayName = display_name;        
}

int Folder_browser::callback(HWND hwnd, UINT msg, LPARAM param, LPARAM data)
{
        if (msg == BFFM_INITIALIZED) {
                SendMessage(hwnd, BFFM_SETSELECTION, TRUE, data);
        }

        return 0;
}

bool Folder_browser::show(CString &folder,
                          const TCHAR *title,
                          const TCHAR *initial_folder,
                          UINT flags)
{
        bi.lParam = reinterpret_cast<LPARAM>(initial_folder);
        bi.lpszTitle = title;
        bi.ulFlags = flags;

        if (ITEMIDLIST *pidl = SHBrowseForFolder(&bi)) {                
                TCHAR *buffer = folder.GetBuffer(MAX_PATH);
                SHGetPathFromIDList(pidl, buffer);
                folder.ReleaseBuffer();

                IMalloc *malloc;
                SHGetMalloc(&malloc);
                malloc->Free(pidl);
                malloc->Release();
        }

        return false;
}


Вот, за пару минут слепил учебный класс :)
Надо включать заголовочный файл shlobj.h и библиотеку shell32.lib
1.8K
05 марта 2004 года
scanf
72 / / 10.12.2003
Цитата:
Originally posted by srd
Файл browser.h
Код:
class Folder_browser {
public:
        Folder_browser(void);

        bool show(CString &folder, const TCHAR *title = 0,
                const TCHAR *initial_folder = 0,
                UINT flags = BIF_BROWSEINCLUDEFILES);

private:
        BROWSEINFO bi;
        TCHAR display_name[MAX_PATH];

        static int CALLBACK callback(HWND hwnd, UINT msg, LPARAM param,
                LPARAM data);  
};


Вот, за пару минут слепил учебный класс :)
Надо включать заголовочный файл shlobj.h и библиотеку shell32.lib






Prosto net slow. Spasibo.
Yesli ya chegoto ponimayu v Visual C++ to zdes ti isspolzoval tolko funkzii Windows API dlya vizova okna ? V MFC vrode stolko koda dlya etogoge pisat ne nugno ?

3.2K
05 марта 2004 года
srd
50 / / 31.08.2003
Да, окно выбора каталога создается средствами WINAPI. Из MFC здесь используется только класс CString и функция получения дескриптора главного окна, т.е. от этих зависимостей легко избавиться. Просто в MFC нет соответствующего класса-оболочки (или я его просто не нашел).
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог