/// Viewウィンドウにキーを取られるので自分でTranslateMessageとDispatchMessageを呼ぶ BOOL CDLListWindow::PreTranslateMessage(MSG* pMsg) { UINT msg = pMsg->message; if (m_editDLFolder.m_hWnd == pMsg->hwnd) { if (msg == WM_SYSKEYDOWN || msg == WM_SYSKEYUP || msg == WM_KEYDOWN) { ::TranslateMessage(pMsg); ::DispatchMessage(pMsg); return TRUE; } } else if (m_DLList.m_hWnd == pMsg->hwnd) { if (msg == WM_KEYDOWN && pMsg->wParam == VK_DELETE) { // リストビューでdeleteキー押してアイテム削除する int nIndex = -1; vector<int> vecIndex; int nCount = m_DLList.GetItemCount(); for (int i = 0; i < nCount; ++i) { nIndex = m_DLList.GetNextItem(nIndex, LVNI_SELECTED); if (nIndex == -1) break; vecIndex.push_back(nIndex); } for (auto rit = vecIndex.rbegin(); rit != vecIndex.rend(); ++rit) { m_DLList.DeleteItem(*rit); } _SetTitle(); } } return FALSE; }
/// DLするURLリストを設定 void CDLListWindow::SetDLList(const std::vector<CString>& vecURL) { int nCount = (int)vecURL.size(); for (int i = 0; i < nCount; ++i) { m_DLList.AddItem(i, 0, vecURL[i]); } _SetTitle(); }
/*! \brief Updates the value of the decorator title \param string New title value */ void Decorator::SetTitle(const char* string, BRegion* updateRegion) { fTitle.SetTo(string); _SetTitle(string, updateRegion); _InvalidateFootprint(); // the border very likely changed // TODO: redraw? }
void CDLListWindow::_DLStart() { DWORD dwOption = 0; int nOption = m_cmbDLOption.GetCurSel(); switch (nOption) { case 0: dwOption = DLO_OVERWRITEPROMPT; break; case 2: dwOption = DLO_USEUNIQUENUMBER; break; } int nMaxDL = m_cmbParallelDL.GetCurSel() + 1; for (int i = m_nDownloading; i < nMaxDL; ++i) { CString strURL; m_DLList.GetItemText(0, 0, strURL); CDownloadManager::GetInstance()->DownloadStart(strURL, m_strDLFolder, m_hWnd, dwOption); ++m_nDownloading; m_DLList.DeleteItem(0); } _SetTitle(); }