| 4 | #include "ThemeSystem.h" |
| 5 | |
| 6 | LRESULT CKernelView::OnCreate(UINT, WPARAM, LPARAM, BOOL&) { |
| 7 | CRect r(0, 0, 400, 25); |
| 8 | CTabCtrl tabCtrl; |
| 9 | auto hTabCtrl = tabCtrl.Create(m_hWnd, &r, nullptr, WS_CHILDWINDOW | WS_VISIBLE | WS_CLIPSIBLINGS |
| 10 | | TCS_HOTTRACK | TCS_SINGLELINE | TCS_RIGHTJUSTIFY | TCS_TABS, |
| 11 | WS_EX_LEFT | WS_EX_LTRREADING | WS_EX_RIGHTSCROLLBAR | WS_EX_NOPARENTNOTIFY, TabId); |
| 12 | m_TabCtrl.SubclassWindow(hTabCtrl); |
| 13 | |
| 14 | //m_TabCtrl.SetFont() |
| 15 | |
| 16 | HFONT hFont = g_hAppFont; |
| 17 | m_TabCtrl.SetFont(hFont, true); |
| 18 | |
| 19 | m_KernelPoolView = new CKernelPoolView(m_pFrame); |
| 20 | m_hwndArray[static_cast<int>(TabColumn::KernelPoolTable)] = m_KernelPoolView->Create(m_hWnd, rcDefault, NULL, |
| 21 | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_OWNERDATA, |
| 22 | WS_EX_CLIENTEDGE); |
| 23 | |
| 24 | m_BigPoolView = new CBigPoolView(m_pFrame); |
| 25 | m_hwndArray[static_cast<int>(TabColumn::BigPoolTable)] = m_BigPoolView->Create(m_hWnd, rcDefault, NULL, |
| 26 | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_OWNERDATA, |
| 27 | WS_EX_CLIENTEDGE); |
| 28 | |
| 29 | struct { |
| 30 | PCWSTR Name; |
| 31 | }columns[] = { |
| 32 | L"PiDDB Cache", |
| 33 | L"Unloaded Drivers", |
| 34 | L"Kernel Pool Tag", |
| 35 | L"Big Pool", |
| 36 | L"DPC Timer", |
| 37 | L"IO Timer" |
| 38 | }; |
| 39 | |
| 40 | int i = 0; |
| 41 | for (auto& col : columns) { |
| 42 | m_TabCtrl.InsertItem(i++, col.Name); |
| 43 | } |
| 44 | |
| 45 | InitPiDDBCacheTable(); |
| 46 | InitUnloadedDriverTable(); |
| 47 | InitDpcTimerTable(); |
| 48 | InitIoTimerTable(); |
| 49 | |
| 50 | return 0; |
| 51 | } |
| 52 | |
| 53 | LRESULT CKernelView::OnSize(UINT, WPARAM, LPARAM, BOOL& bHandled) { |
| 54 | CRect rc; |
nothing calls this directly
no test coverage detected