| 103 | } |
| 104 | |
| 105 | LRESULT CRegistryManagerView::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL&) { |
| 106 | ::RegDeleteTree(HKEY_CURRENT_USER, DeletedPathBackup.Left(DeletedPathBackup.GetLength() - 1)); |
| 107 | |
| 108 | ::ChangeWindowMessageFilterEx(m_hWnd, WM_COPYDATA, MSGFLT_ALLOW, nullptr); |
| 109 | m_Locations.Load(L"Software\\YuanOS\\WinArk"); |
| 110 | if (AppSettings::Get().Load(L"Software\\YuanOS\\WinArk")) |
| 111 | m_ReadOnly = AppSettings::Get().ReadOnly(); |
| 112 | |
| 113 | |
| 114 | CComPtr<IAutoComplete> spAC; |
| 115 | auto hr = spAC.CoCreateInstance(CLSID_AutoComplete); |
| 116 | if (SUCCEEDED(hr)) { |
| 117 | m_AutoCompleteStrings->CreateInstance(&m_AutoCompleteStrings); |
| 118 | CRect r(0, 0, 800, 20); |
| 119 | CEdit edit; |
| 120 | auto hEdit = edit.Create(m_hWnd, &r, nullptr, WS_CHILD | WS_VISIBLE | |
| 121 | ES_AUTOHSCROLL | ES_WANTRETURN | WS_CLIPSIBLINGS, WS_EX_WINDOWEDGE); |
| 122 | hr = spAC->Init(hEdit, m_AutoCompleteStrings->GetUnknown(), nullptr, nullptr); |
| 123 | if (SUCCEEDED(hr)) { |
| 124 | spAC->Enable(TRUE); |
| 125 | CComQIPtr<IAutoComplete2> spAC2(spAC); |
| 126 | if (spAC2) { |
| 127 | spAC2->SetOptions(ACO_AUTOSUGGEST | ACO_USETAB | ACO_AUTOAPPEND); |
| 128 | } |
| 129 | |
| 130 | ATLVERIFY(m_AddressBar.SubclassWindow(hEdit)); |
| 131 | } |
| 132 | else { |
| 133 | m_AddressBar.DestroyWindow(); |
| 134 | } |
| 135 | } |
| 136 | |
| 137 | m_MainSplitter.Create(m_hWnd, rcDefault, nullptr, |
| 138 | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, 0); |
| 139 | |
| 140 | m_Tree.Create(m_MainSplitter, rcDefault, nullptr, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | |
| 141 | TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_EDITLABELS, WS_EX_CLIENTEDGE, TreeId); |
| 142 | m_Tree.SetExtendedStyle(TVS_EX_DOUBLEBUFFER | TVS_EX_RICHTOOLTIP, 0); |
| 143 | |
| 144 | m_List.Create(m_MainSplitter, rcDefault, nullptr, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN |
| 145 | | LVS_OWNERDATA | LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_EDITLABELS, WS_EX_CLIENTEDGE); |
| 146 | m_List.SetExtendedListViewStyle(LVS_EX_FULLROWSELECT | LVS_EX_DOUBLEBUFFER | LVS_EX_INFOTIP); |
| 147 | |
| 148 | auto cm = GetColumnManager(m_List); |
| 149 | cm->AddColumn(L"Name", LVCFMT_LEFT, 220, ColumnType::Name); |
| 150 | cm->AddColumn(L"Type", LVCFMT_LEFT, 110, ColumnType::Type); |
| 151 | cm->AddColumn(L"Size", LVCFMT_RIGHT, 70, ColumnType::Size); |
| 152 | cm->AddColumn(L"Value", LVCFMT_LEFT, 250, ColumnType::Value); |
| 153 | cm->AddColumn(L"Last Write", LVCFMT_LEFT, 120, ColumnType::TimeStamp); |
| 154 | cm->AddColumn(L"Details", LVCFMT_LEFT, 250, ColumnType::Details); |
| 155 | cm->UpdateColumns(); |
| 156 | |
| 157 | m_MainSplitter.SetSplitterPanes(m_Tree, m_List); |
| 158 | m_MainSplitter.SetSplitterPosPct(25); |
| 159 | m_MainSplitter.UpdateSplitterLayout(); |
| 160 | |
| 161 | m_AddressBar.SetFont(m_Tree.GetFont()); |
| 162 |
nothing calls this directly
no test coverage detected