MCPcopy Create free account
hub / github.com/BeneficialCode/WinArk / OnCreate

Method OnCreate

WinArk/View.cpp:105–166  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

103}
104
105LRESULT 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

Callers

nothing calls this directly

Calls 8

SetOptionsMethod · 0.80
AddColumnMethod · 0.80
UpdateColumnsMethod · 0.80
GetLengthMethod · 0.45
LoadMethod · 0.45
CreateMethod · 0.45
InitMethod · 0.45
EnableMethod · 0.45

Tested by

no test coverage detected