void CSourcesDlg::UpdateGrid() { m_grid.DeleteAllItems(); for (auto& sourceInfo : m_sourceInfos) { int item = m_grid.GetItemCount(); m_grid.InsertItem(item, PropCreateCheckButton(L"", sourceInfo.enabled)); m_grid.SetSubItem(item, 1, PropCreateReadOnlyItem(L"", sourceInfo.description.c_str())); m_grid.SetSubItem(item, 2, PropCreateReadOnlyItem(L"", WStr(SourceTypeToString(sourceInfo.type)))); if (sourceInfo.type == SourceType::System) m_grid.SetSubItem(item, 3, PropCreateReadOnlyItem(L"", L"")); else m_grid.SetSubItem(item, 3, PropCreateReadOnlyItem(L"", L"x")); } }
LRESULT CAppOptAdvancedPage::OnInitDialog(HWND hwndFocus, LPARAM lParam) { BOOL fSuccess; m_images.Create(IDB_PROPTREE, 16, 1, RGB(255,0,255)); m_tree.SubclassWindow( GetDlgItem(IDC_OPTION_TREE) ); m_tree.SetImageList(m_images, TVSIL_NORMAL); m_tree.SetExtendedTreeStyle(PTS_EX_NOCOLLAPSE); CString str; fSuccess = str.LoadString(IDS_OPTION_GROUP_CONFIRM); ATLASSERT(fSuccess); HTREEITEM hItem; hItem = m_tree.InsertItem(PropCreateReadOnlyItem(str),13,13,TVI_ROOT); m_tiGroupConfirm = hItem; DWORD nConfirm = RTL_NUMBER_OF(_appConfirmOptValues); pLoadAppOptValues(nConfirm, _appConfirmOptValues); for (DWORD i = 0; i < nConfirm; ++i) { PAPP_OPT_VALUE_DEF p = &_appConfirmOptValues[i]; fSuccess = str.LoadString(p->nResID); ATLASSERT(fSuccess); HTREEITEM hNewItem = m_tree.InsertItem(PropCreateCheckmark(str),0, 0, hItem); m_tree.SetItemData(hNewItem, (DWORD_PTR)p); m_tree.SetCheckState(hNewItem, p->CurrentValue.fValue); } fSuccess = str.LoadString(IDS_OPTION_GROUP_MENU); ATLASSERT(fSuccess); hItem = m_tree.InsertItem(PropCreateReadOnlyItem(str),13,13,TVI_ROOT); m_tiGroupMisc = hItem; DWORD nMiscOpts = RTL_NUMBER_OF(_appMenuOptValues); pLoadAppOptValues(nMiscOpts, _appMenuOptValues); for (DWORD i = 0; i < nMiscOpts; ++i) { PAPP_OPT_VALUE_DEF p = &_appMenuOptValues[i]; fSuccess = str.LoadString(p->nResID); ATLASSERT(fSuccess); HTREEITEM hNewItem = m_tree.InsertItem(PropCreateCheckmark(str),0, 0, hItem); m_tree.SetItemData(hNewItem, (DWORD_PTR)p); m_tree.SetCheckState(hNewItem, p->CurrentValue.fValue); } // // Hibernation Support options // NDAS_SERVICE_PARAM serviceParam = {0}; fSuccess = ::NdasGetServiceParam( NDASSVC_PARAM_SUSPEND_PROCESS, &serviceParam); m_tiGroupSuspend = NULL; if (!fSuccess) { // // if cannot retrieve the service param // hide the entire group // return 1; } m_dwSuspend = serviceParam.Value.DwordValue; NDASSVC_SUSPEND_DENY; NDASSVC_SUSPEND_ALLOW; // == serviceParam.DwordValue; fSuccess = str.LoadString(IDS_OPTION_GROUP_SUSPEND); ATLASSERT(fSuccess); hItem = m_tree.InsertItem(PropCreateReadOnlyItem(str),13,13,TVI_ROOT); m_tiGroupSuspend = hItem; fSuccess = str.LoadString(IDS_OG_SUSPEND_DENY); ATLASSERT(fSuccess); HTREEITEM hItemSub = m_tree.InsertItem(PropCreateOptionCheck(str),2,2,hItem); m_tree.SetItemData(hItemSub, NDASSVC_SUSPEND_DENY); if (NDASSVC_SUSPEND_DENY == m_dwSuspend) { m_tree.SetCheckState(hItemSub, TRUE); } else { m_tree.SetCheckState(hItemSub, FALSE); } fSuccess = str.LoadString(IDS_OG_SUSPEND_ALLOW); ATLASSERT(fSuccess); hItemSub = m_tree.InsertItem(PropCreateOptionCheck(str),2,2,hItem); m_tree.SetItemData(hItemSub, NDASSVC_SUSPEND_ALLOW); if (NDASSVC_SUSPEND_ALLOW == m_dwSuspend) { m_tree.SetCheckState(hItemSub, TRUE); } else { m_tree.SetCheckState(hItemSub, FALSE); } // set initial focus return 1; }