|
|
/*****************************************************************************
* * tlframe.cpp * * Frame window that hosts a treelist. * *****************************************************************************/
#include "sdview.h"
/*****************************************************************************
* * TLFrame * *****************************************************************************/
LRESULT TLFrame::ON_WM_NOTIFY(UINT uiMsg, WPARAM wParam, LPARAM lParam) { NMHDR *pnm = RECAST(NMHDR *, lParam);
if (pnm->idFrom == IDC_LIST) { switch (pnm->code) {
case LVN_GETDISPINFO: return _tree.OnGetDispInfo(CONTAINING_RECORD(pnm, NMLVDISPINFO, hdr));
case LVN_ODCACHEHINT: return _tree.OnCacheHint(CONTAINING_RECORD(pnm, NMLVCACHEHINT, hdr));
case LVN_KEYDOWN: return _tree.OnKeyDown(CONTAINING_RECORD(pnm, NMLVKEYDOWN, hdr));
case NM_CLICK: return _tree.OnClick(CONTAINING_RECORD(pnm, NMITEMACTIVATE, hdr)); } } return super::HandleMessage(uiMsg, wParam, lParam); }
LRESULT TLFrame::ON_LM_ITEMACTIVATE(UINT uiMsg, WPARAM wParam, LPARAM lParam) { return _tree.OnItemActivate((int)wParam); }
LRESULT TLFrame::ON_LM_GETINFOTIP(UINT uiMsg, WPARAM wParam, LPARAM lParam) { return _tree.OnGetInfoTip(RECAST(NMLVGETINFOTIP *, lParam)); }
LRESULT TLFrame::ON_LM_GETCONTEXTMENU(UINT uiMsg, WPARAM wParam, LPARAM lParam) { return _tree.OnGetContextMenu((int)wParam); }
LRESULT TLFrame::ON_LM_COPYTOCLIPBOARD(UINT uiMsg, WPARAM wParam, LPARAM lParam) { return _tree.OnCopyToClipboard((int)wParam, (int)lParam); }
BOOL TLFrame::CreateChild(DWORD dwStyle, DWORD dwExStyle) { BOOL fResult = super::CreateChild(dwStyle | LVS_OWNERDATA, dwExStyle); if (fResult) { _tree.SetHWND(_hwndChild); HIMAGELIST himl = ImageList_LoadBitmap(g_hinst, MAKEINTRESOURCE(IDB_IMAGES), 16, 0, RGB(0xFF, 0x00, 0xFF)); _tree.SetImageList(himl); ImageList_SetOverlayImage(himl, 7, 1); } return fResult; }
LRESULT TLFrame::HandleMessage(UINT uiMsg, WPARAM wParam, LPARAM lParam) { switch (uiMsg) { FW_MSG(WM_NOTIFY); FW_MSG(LM_ITEMACTIVATE); FW_MSG(LM_GETINFOTIP); FW_MSG(LM_GETCONTEXTMENU); FW_MSG(LM_COPYTOCLIPBOARD); }
return super::HandleMessage(uiMsg, wParam, lParam); }
|