Changeset 457
- Timestamp:
- May 23, 2015, 5:39:04 AM (8 years ago)
- Location:
- trunk/DirectShowSpy
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/DirectShowSpy/MediaSampleTrace.h
r455 r457 127 127 ITEM m_Item; 128 128 PAGEITEM m_PageItem; 129 UINT m_nHighlightIndex; 129 130 130 131 public: 131 132 // CItem 133 CItem() : 134 m_nHighlightIndex(0) 135 { 136 } 137 static BOOL GetBackgroundColor(UINT nIndex, COLORREF& nColor) 138 { 139 static const COLORREF g_pnColors[] = 140 { 141 RGB(0xFF, 0xCC, 0xCC), 142 RGB(0xFF, 0xFF, 0xCC), 143 RGB(0xCC, 0xFF, 0xCC), 144 RGB(0x88, 0xCC, 0xFF), 145 RGB(0xFF, 0x88, 0x88), 146 RGB(0xFF, 0xFF, 0x88), 147 RGB(0x88, 0xFF, 0x88), 148 RGB(0x44, 0x88, 0xFF), 149 }; 150 if(nIndex - 1 < DIM(g_pnColors)) 151 { 152 nColor = g_pnColors[nIndex - 1]; 153 return TRUE; 154 } 155 return FALSE; 156 } 157 BOOL GetBackgroundColor(COLORREF& nColor) const 158 { 159 return GetBackgroundColor(m_nHighlightIndex, nColor); 160 } 132 161 LPCTSTR FormatType() const 133 162 { … … 707 736 public CPropertyPageT<CMediaSamplePropertyPage>, 708 737 public CPropertyPageWithAcceleratorsT<CMediaSamplePropertyPage>, 709 public CDialogResize<CMediaSamplePropertyPage> 738 public CDialogResize<CMediaSamplePropertyPage>, 739 public CCustomDraw<CMediaSamplePropertyPage> 710 740 { 711 741 typedef CThreadT<CMediaSamplePropertyPage> CThread; … … 718 748 CHAIN_MSG_MAP(CPropertyPageWithAccelerators) 719 749 CHAIN_MSG_MAP(CDialogResize<CMediaSamplePropertyPage>) 750 CHAIN_MSG_MAP(CCustomDraw<CMediaSamplePropertyPage>) 720 751 MSG_WM_INITDIALOG(OnInitDialog) 721 752 MSG_WM_DESTROY(OnDestroy) … … 729 760 COMMAND_ID_HANDLER_EX(IDC_MEDIASAMPLETRACE_MEDIASAMPLE_OPENFILTERGRAPHLIST, OnOpenFilterGraphList) 730 761 COMMAND_ID_HANDLER_EX(IDC_MEDIASAMPLETRACE_MEDIASAMPLE_OPENFILTERGRAPHPROPERTIES, OnOpenFilterGraphProperties) 762 COMMAND_ID_HANDLER_EX(IDC_MEDIASAMPLETRACE_MEDIASAMPLE_HIGHLIGHT_REMOVEALL, OnHighlightRemoveAll) 763 COMMAND_RANGE_HANDLER_EX(IDC_MEDIASAMPLETRACE_MEDIASAMPLE_HIGHLIGHT_REMOVE, IDC_MEDIASAMPLETRACE_MEDIASAMPLE_HIGHLIGHT_8, OnHighlight) 731 764 REFLECT_NOTIFICATIONS() 732 765 END_MSG_MAP() … … 1165 1198 _T("Data Size"), 1166 1199 _T("Comment"), 1200 _T("Highlight"), 1167 1201 }; 1168 1202 sText += _StringHelper::Join(g_ppszHeader, _T("\t")) + _T("\r\n"); … … 1217 1251 Array.Add(CString(Item.m_PageItem.pszComment)); 1218 1252 } 1253 if(Item.m_nHighlightIndex) 1254 { 1255 while(Array.GetCount() < 15) 1256 Array.Add(_T("")); 1257 Array.Add(AtlFormatString(_T("*%d"), Item.m_nHighlightIndex)); 1258 } 1219 1259 sText += _StringHelper::Join(Array, _T("\t")); 1220 1260 sText += _T("\r\n"); … … 1231 1271 m_ListView.InsertItem(nItem++, Item); 1232 1272 // SUGG: Preserve selection 1273 } 1274 1275 // CCustomDraw 1276 DWORD OnPrePaint(INT nIdentifier, NMCUSTOMDRAW*) 1277 { 1278 if(nIdentifier == IDC_MEDIASAMPLETRACE_MEDIASAMPLE_LIST) 1279 return CDRF_NOTIFYITEMDRAW; 1280 return CDRF_DODEFAULT; 1281 } 1282 DWORD OnItemPrePaint(INT, NMCUSTOMDRAW* pHeader) 1283 { 1284 NMLVCUSTOMDRAW* pHeaderEx = (NMLVCUSTOMDRAW*) pHeader; 1285 const CData::CItem& Item = m_ListView.DataFromParameter(pHeaderEx->nmcd.lItemlParam); 1286 Item.GetBackgroundColor(pHeaderEx->clrTextBk); 1287 return CDRF_DODEFAULT; 1233 1288 } 1234 1289 … … 1430 1485 CMenu ContainerMenu = AtlLoadMenu(IDD); 1431 1486 CMenuHandle Menu = ContainerMenu.GetSubMenu(0); 1487 const INT nItemCount = m_ListView.GetItemCount(); 1488 const INT nSelectItemCount = m_ListView.GetSelectedCount(); 1489 for(INT nIdentifier = IDC_MEDIASAMPLETRACE_MEDIASAMPLE_HIGHLIGHT_REMOVE; nIdentifier <= IDC_MEDIASAMPLETRACE_MEDIASAMPLE_HIGHLIGHT_8; nIdentifier++) 1490 Menu.EnableMenuItem(nIdentifier, nSelectItemCount ? MF_ENABLED : MF_GRAYED | MF_DISABLED); 1491 Menu.EnableMenuItem(IDC_MEDIASAMPLETRACE_MEDIASAMPLE_HIGHLIGHT_REMOVEALL, nItemCount ? MF_ENABLED : MF_GRAYED | MF_DISABLED); 1492 Menu.EnableMenuItem(IDC_MEDIASAMPLETRACE_MEDIASAMPLE_COPYTOCLIPBOARD, nItemCount ? MF_ENABLED : MF_GRAYED | MF_DISABLED); 1493 Menu.EnableMenuItem(IDC_MEDIASAMPLETRACE_MEDIASAMPLE_SAVETOFILE, nItemCount ? MF_ENABLED : MF_GRAYED | MF_DISABLED); 1432 1494 Menu.TrackPopupMenu(TPM_RIGHTBUTTON | TPM_LEFTALIGN | TPM_TOPALIGN, Position.x, Position.y, m_hWnd); 1433 1495 return 0; … … 1528 1590 return 0; 1529 1591 } 1592 LRESULT OnHighlightRemoveAll(UINT, INT nIdentifier, HWND) 1593 { 1594 const INT nItemCount = m_ListView.GetItemCount(); 1595 if(nItemCount > 0) 1596 { 1597 for(INT nItem = 0; nItem < nItemCount; nItem++) 1598 m_ListView.GetItemData(nItem).m_nHighlightIndex = 0; 1599 m_ListView.RedrawItems(0, nItemCount - 1); 1600 } 1601 return 0; 1602 } 1603 LRESULT OnHighlight(UINT, INT nIdentifier, HWND) 1604 { 1605 for(INT nItem: m_ListView.GetSelectedItems()) 1606 { 1607 m_ListView.GetItemData(nItem).m_nHighlightIndex = nIdentifier - IDC_MEDIASAMPLETRACE_MEDIASAMPLE_HIGHLIGHT_REMOVE; 1608 m_ListView.RedrawItems(nItem, nItem); 1609 } 1610 return 0; 1611 } 1530 1612 }; 1531 1613 -
trunk/DirectShowSpy/resource.h
r441 r457 141 141 #define IDC_MEDIASAMPLETRACE_MEDIASAMPLE_FILTER_STREAM_TITLE 2137 142 142 #define IDC_MEDIASAMPLETRACE_MEDIASAMPLE_FILTER_STREAM 2138 143 #define IDC_MEDIASAMPLETRACE_MEDIASAMPLE_HIGHLIGHT_REMOVEALL 2150 144 #define IDC_MEDIASAMPLETRACE_MEDIASAMPLE_HIGHLIGHT_REMOVE 2151 145 #define IDC_MEDIASAMPLETRACE_MEDIASAMPLE_HIGHLIGHT_1 2152 146 #define IDC_MEDIASAMPLETRACE_MEDIASAMPLE_HIGHLIGHT_2 2153 147 #define IDC_MEDIASAMPLETRACE_MEDIASAMPLE_HIGHLIGHT_3 2154 148 #define IDC_MEDIASAMPLETRACE_MEDIASAMPLE_HIGHLIGHT_4 2155 149 #define IDC_MEDIASAMPLETRACE_MEDIASAMPLE_HIGHLIGHT_5 2156 150 #define IDC_MEDIASAMPLETRACE_MEDIASAMPLE_HIGHLIGHT_6 2157 151 #define IDC_MEDIASAMPLETRACE_MEDIASAMPLE_HIGHLIGHT_7 2158 152 #define IDC_MEDIASAMPLETRACE_MEDIASAMPLE_HIGHLIGHT_8 2159 143 153 #define IDR_FILTERGRAPHSPY 25000 144 154 #define IDR_NOTHREADFILTERGRAPHSPY 25001 … … 163 173 #ifndef APSTUDIO_READONLY_SYMBOLS 164 174 #define _APS_NEXT_RESOURCE_VALUE 214 165 #define _APS_NEXT_COMMAND_VALUE 32 798175 #define _APS_NEXT_COMMAND_VALUE 32806 166 176 #define _APS_NEXT_CONTROL_VALUE 257 167 177 #define _APS_NEXT_SYMED_VALUE 103
Note: See TracChangeset
for help on using the changeset viewer.