LRESULT AVIPreview::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { PropPage::translate((HWND)(*this), texts); CRect rc; ctrlCommands.Attach(GetDlgItem(IDC_MENU_ITEMS)); ctrlCommands.GetClientRect(rc); ctrlCommands.InsertColumn(0, CTSTRING(SETTINGS_NAME), LVCFMT_LEFT, rc.Width() / 5, 0); ctrlCommands.InsertColumn(1, CTSTRING(SETTINGS_COMMAND), LVCFMT_LEFT, rc.Width() * 2 / 5, 1); ctrlCommands.InsertColumn(2, CTSTRING(SETTINGS_ARGUMENT), LVCFMT_LEFT, rc.Width() / 5, 2); ctrlCommands.InsertColumn(3, CTSTRING(SETTINGS_EXTENSIONS), LVCFMT_LEFT, rc.Width() / 5, 3); SET_EXTENDENT_LIST_VIEW_STYLE(ctrlCommands); SET_LIST_COLOR_IN_SETTING(ctrlCommands); // Do specialized reading here const PreviewApplication::List lst = FavoriteManager::getInstance()->getPreviewApps(); auto cnt = ctrlCommands.GetItemCount(); for (auto i = lst.cbegin(); i != lst.cend(); ++i) { PreviewApplication::Ptr pa = *i; addEntry(pa, cnt++); } return 0; }
// При инициализации. LRESULT RSSPage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { if (m_CodeingList.empty()) { m_CodeingList.insert(CodeingMapPair(TSTRING(RSS_CODEING_AUTO), RSSManager::getInstance()->getCodeing(0))); m_CodeingList.insert(CodeingMapPair(TSTRING(RSS_CODEING_UTF8), RSSManager::getInstance()->getCodeing(1))); m_CodeingList.insert(CodeingMapPair(TSTRING(RSS_CODEING_CP1251), RSSManager::getInstance()->getCodeing(2))); } PropPage::translate((HWND)(*this), texts); PropPage::read((HWND)*this, items); CRect rc; ctrlCommands.Attach(GetDlgItem(IDC_RSS_ITEMS)); ctrlCommands.GetClientRect(rc); ctrlCommands.InsertColumn(0, CTSTRING(RSS_URL), LVCFMT_LEFT, rc.Width() / 3, 0); ctrlCommands.InsertColumn(1, CTSTRING(RSS_TITLE), LVCFMT_LEFT, rc.Width() / 3, 1); ctrlCommands.InsertColumn(2, CTSTRING(RSS_CODEING), LVCFMT_LEFT, rc.Width() / 3, 1); SET_EXTENDENT_LIST_VIEW_STYLE(ctrlCommands); #ifdef USE_SET_LIST_COLOR_IN_SETTINGS SET_LIST_COLOR_IN_SETTING(ctrlCommands); #endif CUpDownCtrl spin; spin.Attach(GetDlgItem(IDC_RSS_AUTO_REFRESH_TIME_SPIN)); spin.SetRange(1, 10); spin.Detach(); // Do specialized reading here const RSSManager::FeedList& lst = RSSManager::getInstance()->lockFeedList(); auto cnt = ctrlCommands.GetItemCount(); for (auto i = lst.cbegin(); i != lst.cend(); ++i) { addEntry((*i), cnt++); } RSSManager::getInstance()->unlockFeedList(); return TRUE; }
LRESULT SharePage::onInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { PropPage::translate((HWND)(*this), texts); GetDlgItem(IDC_TREE).ShowWindow((BOOLSETTING(USE_OLD_SHARING_UI)) ? SW_HIDE : SW_SHOW); GetDlgItem(IDC_DIRECTORIES).ShowWindow((BOOLSETTING(USE_OLD_SHARING_UI)) ? SW_SHOW : SW_HIDE); GetDlgItem(IDC_ADD).ShowWindow((BOOLSETTING(USE_OLD_SHARING_UI)) ? SW_SHOW : SW_HIDE); GetDlgItem(IDC_REMOVE).ShowWindow((BOOLSETTING(USE_OLD_SHARING_UI)) ? SW_SHOW : SW_HIDE); GetDlgItem(IDC_RENAME).ShowWindow((BOOLSETTING(USE_OLD_SHARING_UI)) ? SW_SHOW : SW_HIDE); ctrlDirectories.Attach(GetDlgItem(IDC_DIRECTORIES)); SET_EXTENDENT_LIST_VIEW_STYLE(ctrlDirectories); #ifdef USE_SET_LIST_COLOR_IN_SETTINGS SET_LIST_COLOR_IN_SETTING(ctrlDirectories); #endif ctrlTotal.Attach(GetDlgItem(IDC_TOTAL)); PropPage::read((HWND)*this, items); if (BOOLSETTING(USE_OLD_SHARING_UI)) { // Prepare shared dir list ctrlDirectories.InsertColumn(0, CTSTRING(VIRTUAL_NAME), LVCFMT_LEFT, 80, 0); ctrlDirectories.InsertColumn(1, CTSTRING(DIRECTORY), LVCFMT_LEFT, 197, 1); ctrlDirectories.InsertColumn(2, CTSTRING(SIZE), LVCFMT_RIGHT, 90, 2); } directoryListInit(); ft.SubclassWindow(GetDlgItem(IDC_TREE)); ft.SetStaticCtrl(&ctrlTotal); if (!BOOLSETTING(USE_OLD_SHARING_UI)) ft.PopulateTree(); return TRUE; }
void PropPage::read(HWND page, Item const* items, ListItem* listItems /* = NULL */, HWND list /* = 0 */) { #ifdef _DEBUG m_check_read_write++; #endif dcassert(page != NULL); if (items != NULL) // [+] SSA { bool const useDef = true; for (Item const* i = items; i->type != T_END; i++) { switch (i->type) { case T_STR: if (GetDlgItem(page, i->itemID) == NULL) { // Control not exist ? Why ?? throw; } ::SetDlgItemText(page, i->itemID, Text::toT(g_settings->get((SettingsManager::StrSetting)i->setting, useDef)).c_str()); break; case T_INT: if (GetDlgItem(page, i->itemID) == NULL) { // Control not exist ? Why ?? throw; } ::SetDlgItemInt(page, i->itemID, g_settings->get(SettingsManager::IntSetting(i->setting), useDef), FALSE); break; case T_BOOL: if (GetDlgItem(page, i->itemID) == NULL) { // Control not exist ? Why ?? throw; } if (SettingsManager::getBool(SettingsManager::IntSetting(i->setting), useDef)) ::CheckDlgButton(page, i->itemID, BST_CHECKED); else ::CheckDlgButton(page, i->itemID, BST_UNCHECKED); break; case T_END: dcassert(false); break; } } } if (listItems != NULL) { CListViewCtrl ctrl; ctrl.Attach(list); CRect rc; ctrl.GetClientRect(rc); SET_EXTENDENT_LIST_VIEW_STYLE_WITH_CHECK(ctrl); SET_LIST_COLOR_IN_SETTING(ctrl); ctrl.InsertColumn(0, _T("Dummy"), LVCFMT_LEFT, rc.Width(), 0); LVITEM lvi = {0}; lvi.mask = LVIF_TEXT; lvi.iSubItem = 0; for (int i = 0; listItems[i].setting != 0; i++) { lvi.iItem = i; lvi.pszText = const_cast<TCHAR*>(CTSTRING_I(listItems[i].desc)); ctrl.InsertItem(&lvi); ctrl.SetCheckState(i, SettingsManager::getBool(SettingsManager::IntSetting(listItems[i].setting), true)); } ctrl.SetColumnWidth(0, LVSCW_AUTOSIZE); ctrl.Detach(); } }