diff options
Diffstat (limited to 'mmc_updater/depends/win32cpp/treeview.h')
-rw-r--r-- | mmc_updater/depends/win32cpp/treeview.h | 624 |
1 files changed, 0 insertions, 624 deletions
diff --git a/mmc_updater/depends/win32cpp/treeview.h b/mmc_updater/depends/win32cpp/treeview.h deleted file mode 100644 index 4186e9ce..00000000 --- a/mmc_updater/depends/win32cpp/treeview.h +++ /dev/null @@ -1,624 +0,0 @@ -// Win32++ Version 7.2 -// Released: 5th AUgust 2011 -// -// David Nash -// email: dnash@bigpond.net.au -// url: https://sourceforge.net/projects/win32-framework -// -// -// Copyright (c) 2005-2011 David Nash -// -// Permission is hereby granted, free of charge, to -// any person obtaining a copy of this software and -// associated documentation files (the "Software"), -// to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, -// merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom -// the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice -// shall be included in all copies or substantial portions -// of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -// OR OTHER DEALINGS IN THE SOFTWARE. -// -//////////////////////////////////////////////////////// - - - - -#ifndef _WIN32XX_TREEVIEW_H_ -#define _WIN32XX_TREEVIEW_H_ - -#include "wincore.h" -#include "commctrl.h" - -// Disable macros from Windowsx.h -#undef GetNextSibling -#undef GetPrevSibling - -namespace Win32xx -{ - - class CTreeView : public CWnd - { - public: - CTreeView() {} - virtual ~CTreeView() {} - virtual void PreRegisterClass(WNDCLASS &wc); - -// Attributes - COLORREF GetBkColor() const; - HTREEITEM GetChild(HTREEITEM hItem) const; - UINT GetCount() const; - HTREEITEM GetDropHiLightItem() const; - HWND GetEditControl() const; - HTREEITEM GetFirstVisible() const; - HIMAGELIST GetImageList(int iImageType) const; - UINT GetIndent() const; - COLORREF GetInsertMarkColor() const; - BOOL GetItem(TVITEM& Item) const; - DWORD_PTR GetItemData(HTREEITEM hItem) const; - int GetItemHeight() const; - BOOL GetItemImage(HTREEITEM hItem, int& nImage, int& nSelectedImage ) const; - BOOL GetItemRect(HTREEITEM hItem, CRect& rc, BOOL bTextOnly) const; - tString GetItemText(HTREEITEM hItem, UINT nTextMax /* = 260 */) const; - HTREEITEM GetLastVisible() const; - HTREEITEM GetNextItem(HTREEITEM hItem, UINT nCode) const; - HTREEITEM GetNextSibling(HTREEITEM hItem) const; - HTREEITEM GetNextVisible(HTREEITEM hItem) const; - HTREEITEM GetParentItem(HTREEITEM hItem) const; - HTREEITEM GetPrevSibling(HTREEITEM hItem) const; - HTREEITEM GetPrevVisible(HTREEITEM hItem) const; - HTREEITEM GetRootItem() const; - int GetScrollTime() const; - HTREEITEM GetSelection() const; - COLORREF GetTextColor() const; - HWND GetToolTips() const; - UINT GetVisibleCount() const; - BOOL ItemHasChildren(HTREEITEM hItem) const; - COLORREF SetBkColor(COLORREF clrBk) const; - HIMAGELIST SetImageList(HIMAGELIST himl, int nType) const; - void SetIndent(int indent) const; - BOOL SetInsertMark(HTREEITEM hItem, BOOL fAfter = TRUE) const; - COLORREF SetInsertMarkColor(COLORREF clrInsertMark) const; - BOOL SetItem(TVITEM& Item) const; - BOOL SetItem(HTREEITEM hItem, UINT nMask, LPCTSTR szText, int nImage, int nSelectedImage, UINT nState, UINT nStateMask, LPARAM lParam) const; - BOOL SetItemData(HTREEITEM hItem, DWORD_PTR dwData) const; - int SetItemHeight(SHORT cyItem) const; - BOOL SetItemImage(HTREEITEM hItem, int nImage, int nSelectedImage) const; - BOOL SetItemText(HTREEITEM hItem, LPCTSTR szText) const; - UINT SetScrollTime(UINT uScrollTime) const; - COLORREF SetTextColor(COLORREF clrText) const; - HWND SetToolTips(HWND hwndTooltip) const; - -// Operations - HIMAGELIST CreateDragImage(HTREEITEM hItem) const; - BOOL DeleteAllItems() const; - BOOL DeleteItem(HTREEITEM hItem) const; - HWND EditLabel(HTREEITEM hItem) const; - BOOL EndEditLabelNow(BOOL fCancel) const; - BOOL EnsureVisible(HTREEITEM hItem) const; - BOOL Expand(HTREEITEM hItem, UINT nCode) const; - HTREEITEM HitTest(TVHITTESTINFO& ht) const; - HTREEITEM InsertItem(TVINSERTSTRUCT& tvIS) const; - BOOL Select(HTREEITEM hitem, UINT flag) const; - BOOL SelectDropTarget(HTREEITEM hItem) const; - BOOL SelectItem(HTREEITEM hItem) const; - BOOL SelectSetFirstVisible(HTREEITEM hItem) const; - BOOL SortChildren(HTREEITEM hItem, BOOL fRecurse) const; - BOOL SortChildrenCB(TVSORTCB& sort, BOOL fRecurse) const; - - private: - CTreeView(const CTreeView&); // Disable copy construction - CTreeView& operator = (const CTreeView&); // Disable assignment operator - - }; - -} - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -namespace Win32xx -{ - - inline void CTreeView::PreRegisterClass(WNDCLASS &wc) - { - // Set the Window Class - wc.lpszClassName = WC_TREEVIEW; - } - -// Attributes - inline COLORREF CTreeView::GetBkColor() const - // Retrieves the current background color of the control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetBkColor( m_hWnd ); - } - - inline HTREEITEM CTreeView::GetChild(HTREEITEM hItem) const - // Retrieves the first child item of the specified tree-view item. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetChild(m_hWnd, hItem); - } - - inline UINT CTreeView::GetCount() const - // Retrieves a count of the items in a tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetCount( m_hWnd ); - } - - inline HTREEITEM CTreeView::GetDropHiLightItem() const - // Retrieves the tree-view item that is the target of a drag-and-drop operation. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetDropHilight(m_hWnd); - } - - inline HWND CTreeView::GetEditControl() const - // Retrieves the handle to the edit control being used to edit a tree-view item's text. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetEditControl( m_hWnd ); - } - - inline HTREEITEM CTreeView::GetFirstVisible() const - // Retrieves the first visible item in a tree-view control window. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetFirstVisible(m_hWnd); - } - - inline HIMAGELIST CTreeView::GetImageList(int iImageType) const - // Retrieves the handle to the normal or state image list associated with a tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetImageList( m_hWnd, iImageType ); - } - - inline UINT CTreeView::GetIndent() const - // Retrieves the amount, in pixels, that child items are indented relative to their parent items. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetIndent( m_hWnd ); - } - - inline COLORREF CTreeView::GetInsertMarkColor() const - // Retrieves the color used to draw the insertion mark for the tree view. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetInsertMarkColor( m_hWnd ); - } - - inline BOOL CTreeView::GetItem(TVITEM& Item) const - // Retrieves some or all of a tree-view item's attributes. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetItem( m_hWnd, &Item ); - } - - inline DWORD_PTR CTreeView::GetItemData(HTREEITEM hItem) const - // Retrieves a tree-view item's application data. - { - assert(::IsWindow(m_hWnd)); - - TVITEM tvi = {0}; - tvi.mask = TVIF_PARAM; - tvi.hItem = hItem; - TreeView_GetItem( m_hWnd, &tvi ); - return tvi.lParam; - } - - inline int CTreeView::GetItemHeight() const - // Retrieves the current height of the tree-view item. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetItemHeight( m_hWnd ); - } - - inline BOOL CTreeView::GetItemImage(HTREEITEM hItem, int& nImage, int& nSelectedImage ) const - // Retrieves the index of the tree-view item's image and selected image. - { - assert(::IsWindow(m_hWnd)); - - TVITEM tvi = {0}; - tvi.mask = TVIF_IMAGE | TVIF_SELECTEDIMAGE; - tvi.hItem = hItem; - BOOL bResult = TreeView_GetItem( m_hWnd, &tvi ); - nImage = tvi.iImage; - nSelectedImage = tvi.iSelectedImage; - return bResult; - } - - inline BOOL CTreeView::GetItemRect(HTREEITEM hItem, CRect& rc, BOOL bTextOnly) const - // Retrieves the bounding rectangle for a tree-view item and indicates whether the item is visible. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetItemRect( m_hWnd, hItem, &rc, bTextOnly ); - } - - inline tString CTreeView::GetItemText(HTREEITEM hItem, UINT nTextMax /* = 260 */) const - // Retrieves the text for a tree-view item. - // Note: Although the tree-view control allows any length string to be stored - // as item text, only the first 260 characters are displayed. - { - assert(::IsWindow(m_hWnd)); - - tString t; - if (nTextMax > 0) - { - TVITEM tvi = {0}; - tvi.hItem = hItem; - tvi.mask = TVIF_TEXT; - tvi.cchTextMax = nTextMax; - std::vector<TCHAR> vTChar(nTextMax +1, _T('\0')); - TCHAR* pTCharArray = &vTChar.front(); - tvi.pszText = pTCharArray; - ::SendMessage(m_hWnd, TVM_GETITEM, 0L, (LPARAM)&tvi); - t = tvi.pszText; - } - return t; - } - - inline HTREEITEM CTreeView::GetLastVisible() const - // Retrieves the last expanded item in a tree-view control. - // This does not retrieve the last item visible in the tree-view window. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetLastVisible(m_hWnd); - } - - inline HTREEITEM CTreeView::GetNextItem(HTREEITEM hItem, UINT nCode) const - // Retrieves the tree-view item that bears the specified relationship to a specified item. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetNextItem( m_hWnd, hItem, nCode); - } - - inline HTREEITEM CTreeView::GetNextSibling(HTREEITEM hItem) const - // Retrieves the next sibling item of a specified item in a tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetNextSibling(m_hWnd, hItem); - } - - inline HTREEITEM CTreeView::GetNextVisible(HTREEITEM hItem) const - // Retrieves the next visible item that follows a specified item in a tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetNextVisible(m_hWnd, hItem); - } - - inline HTREEITEM CTreeView::GetParentItem(HTREEITEM hItem) const - // Retrieves the parent item of the specified tree-view item. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetParent(m_hWnd, hItem); - } - - inline HTREEITEM CTreeView::GetPrevSibling(HTREEITEM hItem) const - // Retrieves the previous sibling item of a specified item in a tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetPrevSibling(m_hWnd, hItem); - } - - inline HTREEITEM CTreeView::GetPrevVisible(HTREEITEM hItem) const - // Retrieves the first visible item that precedes a specified item in a tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetPrevSibling(m_hWnd, hItem); - } - - inline HTREEITEM CTreeView::GetRootItem() const - // Retrieves the topmost or very first item of the tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetRoot(m_hWnd); - } - - inline int CTreeView::GetScrollTime() const - // Retrieves the maximum scroll time for the tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetScrollTime( m_hWnd ); - } - - inline HTREEITEM CTreeView::GetSelection() const - // Retrieves the currently selected item in a tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetSelection(m_hWnd); - } - - inline COLORREF CTreeView::GetTextColor() const - // Retrieves the current text color of the control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetTextColor( m_hWnd ); - } - - inline HWND CTreeView::GetToolTips() const - // Retrieves the handle to the child ToolTip control used by a tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetToolTips( m_hWnd ); - } - - inline UINT CTreeView::GetVisibleCount() const - // Obtains the number of items that can be fully visible in the client window of a tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_GetVisibleCount( m_hWnd ); - } - - inline BOOL CTreeView::ItemHasChildren(HTREEITEM hItem) const - // Returns true of the tree-view item has one or more children - { - assert(::IsWindow(m_hWnd)); - - if (TreeView_GetChild( m_hWnd, hItem )) - return TRUE; - - return FALSE; - } - - inline COLORREF CTreeView::SetBkColor(COLORREF clrBk) const - // Sets the background color of the control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_SetBkColor( m_hWnd, clrBk ); - } - - inline HIMAGELIST CTreeView::SetImageList(HIMAGELIST himl, int nType) const - // Sets the normal or state image list for a tree-view control - // and redraws the control using the new images. - { - assert(::IsWindow(m_hWnd)); - return TreeView_SetImageList( m_hWnd, himl, nType ); - } - - inline void CTreeView::SetIndent(int indent) const - // Sets the width of indentation for a tree-view control - // and redraws the control to reflect the new width. - { - assert(::IsWindow(m_hWnd)); - TreeView_SetIndent( m_hWnd, indent ); - } - - inline BOOL CTreeView::SetInsertMark(HTREEITEM hItem, BOOL fAfter/* = TRUE*/) const - // Sets the insertion mark in a tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_SetInsertMark( m_hWnd, hItem, fAfter ); - } - - inline COLORREF CTreeView::SetInsertMarkColor(COLORREF clrInsertMark) const - // Sets the color used to draw the insertion mark for the tree view. - { - assert(::IsWindow(m_hWnd)); - return TreeView_SetInsertMarkColor( m_hWnd, clrInsertMark ); - } - - inline BOOL CTreeView::SetItem(TVITEM& Item) const - // Sets some or all of a tree-view item's attributes. - { - assert(::IsWindow(m_hWnd)); - return TreeView_SetItem( m_hWnd, &Item ); - } - - inline BOOL CTreeView::SetItem(HTREEITEM hItem, UINT nMask, LPCTSTR szText, int nImage, int nSelectedImage, UINT nState, UINT nStateMask, LPARAM lParam) const - // Sets some or all of a tree-view item's attributes. - { - assert(::IsWindow(m_hWnd)); - - TVITEM tvi = {0}; - tvi.hItem = hItem; - tvi.mask = nMask; - tvi.pszText = (LPTSTR)szText; - tvi.iImage = nImage; - tvi.iSelectedImage = nSelectedImage; - tvi.state = nState; - tvi.stateMask = nStateMask; - tvi.lParam = lParam; - return TreeView_SetItem( m_hWnd, &tvi ); - } - - inline BOOL CTreeView::SetItemData(HTREEITEM hItem, DWORD_PTR dwData) const - // Sets the tree-view item's application data. - { - assert(::IsWindow(m_hWnd)); - - TVITEM tvi = {0}; - tvi.hItem = hItem; - tvi.mask = TVIF_PARAM; - tvi.lParam = dwData; - return TreeView_SetItem( m_hWnd, &tvi ); - } - - inline int CTreeView::SetItemHeight(SHORT cyItem) const - // Sets the height of the tree-view items. - { - assert(::IsWindow(m_hWnd)); - return TreeView_SetItemHeight( m_hWnd, cyItem ); - } - - inline BOOL CTreeView::SetItemImage(HTREEITEM hItem, int nImage, int nSelectedImage) const - // Sets the tree-view item's application image. - { - assert(::IsWindow(m_hWnd)); - - TVITEM tvi = {0}; - tvi.hItem = hItem; - tvi.iImage = nImage; - tvi.iSelectedImage = nSelectedImage; - tvi.mask = TVIF_IMAGE | TVIF_SELECTEDIMAGE; - return TreeView_SetItem(m_hWnd, &tvi ); - } - - inline BOOL CTreeView::SetItemText(HTREEITEM hItem, LPCTSTR szText) const - // Sets the tree-view item's application text. - { - assert(::IsWindow(m_hWnd)); - - TVITEM tvi = {0}; - tvi.hItem = hItem; - tvi.pszText = (LPTSTR)szText; - tvi.mask = TVIF_TEXT; - return TreeView_SetItem(m_hWnd, &tvi ); - } - - inline UINT CTreeView::SetScrollTime(UINT uScrollTime) const - // Sets the maximum scroll time for the tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_SetScrollTime( m_hWnd, uScrollTime ); - } - - inline COLORREF CTreeView::SetTextColor(COLORREF clrText) const - // Sets the text color of the control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_SetTextColor( m_hWnd, clrText ); - } - - inline HWND CTreeView::SetToolTips(HWND hwndTooltip) const - // Sets a tree-view control's child ToolTip control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_SetToolTips( m_hWnd, hwndTooltip ); - } - - // Operations - - inline HIMAGELIST CTreeView::CreateDragImage(HTREEITEM hItem) const - // Creates a dragging bitmap for the specified item in a tree-view control. - // It also creates an image list for the bitmap and adds the bitmap to the image list. - // An application can display the image when dragging the item by using the image list functions. - { - assert(::IsWindow(m_hWnd)); - return TreeView_CreateDragImage( m_hWnd, hItem ); - } - - inline BOOL CTreeView::DeleteAllItems() const - // Deletes all items from a tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_DeleteAllItems( m_hWnd ); - } - - inline BOOL CTreeView::DeleteItem(HTREEITEM hItem) const - // Removes an item and all its children from a tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_DeleteItem( m_hWnd, hItem ); - } - - inline HWND CTreeView::EditLabel(HTREEITEM hItem) const - // Begins in-place editing of the specified item's text, replacing the text of the item - // with a single-line edit control containing the text. - // The specified item is implicitly selected and focused. - { - assert(::IsWindow(m_hWnd)); - return TreeView_EditLabel( m_hWnd, hItem ); - } - - inline BOOL CTreeView::EndEditLabelNow(BOOL fCancel) const - // Ends the editing of a tree-view item's label. - { - assert(::IsWindow(m_hWnd)); - return TreeView_EndEditLabelNow(m_hWnd, fCancel); - } - - inline BOOL CTreeView::EnsureVisible(HTREEITEM hItem) const - // Ensures that a tree-view item is visible, expanding the parent item or - // scrolling the tree-view control, if necessary. - { - assert(::IsWindow(m_hWnd)); - return TreeView_EnsureVisible( m_hWnd, hItem ); - } - - inline BOOL CTreeView::Expand(HTREEITEM hItem, UINT nCode) const - // The TreeView_Expand macro expands or collapses the list of child items associated - // with the specified parent item, if any. - { - assert(::IsWindow(m_hWnd)); - return TreeView_Expand( m_hWnd, hItem, nCode ); - } - - inline HTREEITEM CTreeView::HitTest(TVHITTESTINFO& ht) const - // Determines the location of the specified point relative to the client area of a tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_HitTest( m_hWnd, &ht ); - } - - inline HTREEITEM CTreeView::InsertItem(TVINSERTSTRUCT& tvIS) const - // Inserts a new item in a tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_InsertItem( m_hWnd, &tvIS ); - } - - inline BOOL CTreeView::Select(HTREEITEM hitem, UINT flag) const - // Selects the specified tree-view item, scrolls the item into view, or redraws - // the item in the style used to indicate the target of a drag-and-drop operation. - { - assert(::IsWindow(m_hWnd)); - return TreeView_Select(m_hWnd, hitem, flag ); - } - - inline BOOL CTreeView::SelectDropTarget(HTREEITEM hItem) const - // Redraws a specified tree-view control item in the style used to indicate the - // target of a drag-and-drop operation. - { - assert(::IsWindow(m_hWnd)); - return TreeView_SelectDropTarget(m_hWnd, hItem); - } - - inline BOOL CTreeView::SelectItem(HTREEITEM hItem) const - // Selects the specified tree-view item. - { - assert(::IsWindow(m_hWnd)); - return TreeView_SelectItem(m_hWnd, hItem); - } - - inline BOOL CTreeView::SelectSetFirstVisible(HTREEITEM hItem) const - // Scrolls the tree-view control vertically to ensure that the specified item is visible. - // If possible, the specified item becomes the first visible item at the top of the control's window. - { - assert(::IsWindow(m_hWnd)); - return TreeView_SelectSetFirstVisible(m_hWnd, hItem); - } - - inline BOOL CTreeView::SortChildren(HTREEITEM hItem, BOOL fRecurse) const - // Sorts the child items of the specified parent item in a tree-view control. - { - assert(::IsWindow(m_hWnd)); - return TreeView_SortChildren( m_hWnd, hItem, fRecurse ); - } - - inline BOOL CTreeView::SortChildrenCB(TVSORTCB& sort, BOOL fRecurse) const - // Sorts tree-view items using an application-defined callback function that compares the items. - { - assert(::IsWindow(m_hWnd)); - return TreeView_SortChildrenCB( m_hWnd, &sort, fRecurse ); - } - - -} // namespace Win32xx - -#endif // #ifndef _WIN32XX_TREEVIEW_H_ - |