Проблема в том, что по нажатию кнопочки Fill у меня запускается поток, который, при выборе новой директории из диалога, я должен прервать и запустить заново. Я совсем запутался, если я устанавливаю флажок то мне эта кнопка уже недоступна, а мне она очень нужна.
Добавлено через 17 минут и 53 секунды:Все, разобрался.. Совсем запарился уже))
LRESULT CMainDlg::OnFill(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
static bool once = false;
if(!once)
{
once = true;
TCHAR szPath[MAX_PATH];
LPMALLOC pMalloc;
if (::SHGetMalloc(&pMalloc) == NOERROR)
{
BROWSEINFO bi;
::ZeroMemory(&bi,sizeof bi);
bi.ulFlags = BIF_RETURNONLYFSDIRS;
LPITEMIDLIST pidl = ::SHBrowseForFolder(&bi);
if (pidl != NULL)
{
if (::SHGetPathFromIDList(pidl, szPath))
{
if (szPath)
{
if (fScanner_->my_thread_)
{
fScanner_->StopThread ();
}
fScanner_->StartThread (szPath);
}
}
}
}
once = false;
}
return 0;
}