КРАСИВЫЙ диалог открытия
Как нарисовать красивый (как в винампе например) стандартный диалог открытия файлов? (по умолчанию создается как в вин. 98 ).
void OnCommand(HWND hwnd, int id, HWND, UINT)
{
DWORD nCnt;
char szFilter[]="Data Files(*.DAT) \0 *.dat \0 All Files(*.*) \0 *.* \0 ";
OPENFILENAME ofn;
switch(id)
{
ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hwnd;
ofn.lpstrFile = szFile;
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = "All\0*.*\0Text\0*.TXT\0";
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
if(GetOpenFileName(&ofn))
{
HANDLE hFile=CreateFile(szFile,GENERIC_READ,0,0,OPEN_EXISTING,0,NULL);
if(hFile==INVALID_HANDLE_VALUE)break;
ReadFile(hFile,nBuf,2*500,&nCnt,NULL);
CloseHandle(hFile);
bDataOK=TRUE;
break;
}
else
break;
}
Красивый- это значит с кнопками "Мой компьютер", "Сетевое окружение" и прочими. Теми, что обычно бывают слева.
Используй класс стандартного диалога CFileDialog, детали смотри в MSDN.
А ты думаешь я не посмотрел?! Там дано описание обычного диалога(т.е. как в win98). Как сделать нормальный я там че-то не нашел :( .
В смысле win98? У меня создаеться диалог точь в точь как в любых приложениях. А какой у тебя компилятор?
Если ты про панель слева, то вроде OFN_EXPLORER в Flags.