mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
709 lines
18 KiB
709 lines
18 KiB
// Microsoft Foundation Classes C++ library.
|
|
// Copyright (C) 1992 Microsoft Corporation,
|
|
// All rights reserved.
|
|
|
|
// This source code is only intended as a supplement to the
|
|
// Microsoft Foundation Classes Reference and Microsoft
|
|
// QuickHelp and/or WinHelp documentation provided with the library.
|
|
// See these sources for detailed information regarding the
|
|
// Microsoft Foundation Classes product.
|
|
|
|
#ifndef __AFXCMN_H__
|
|
#define __AFXCMN_H__
|
|
|
|
#ifndef __AFXWIN_H__
|
|
#include <afxwin.h>
|
|
#endif
|
|
#ifndef _INC_COMMCTRL
|
|
#include <commctrl.h>
|
|
#endif
|
|
|
|
#ifndef IMAGE_BITMAP
|
|
#define IMAGE_BITMAP 0
|
|
#endif
|
|
|
|
#ifdef _AFX_PACKING
|
|
#pragma pack(push, _AFX_PACKING)
|
|
#endif
|
|
|
|
#ifndef _AFX_NOFORCE_LIBS
|
|
#ifndef _MAC
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Win32 libraries
|
|
|
|
#ifdef _AFXDLL
|
|
#ifdef _UNICODE
|
|
#ifdef _DEBUG
|
|
#pragma comment(lib, "eafxccud.lib")
|
|
#else
|
|
#pragma comment(lib, "eafxccu.lib")
|
|
#endif
|
|
#else
|
|
#ifdef _DEBUG
|
|
#pragma comment(lib, "eafxccd.lib")
|
|
#else
|
|
#pragma comment(lib, "eafxcc.lib")
|
|
#endif
|
|
#endif
|
|
#else
|
|
#ifdef _UNICODE
|
|
#ifdef _DEBUG
|
|
#pragma comment(lib, "nafxccud.lib")
|
|
#else
|
|
#pragma comment(lib, "nafxccu.lib")
|
|
#endif
|
|
#else
|
|
#ifdef _DEBUG
|
|
#pragma comment(lib, "nafxccd.lib")
|
|
#else
|
|
#pragma comment(lib, "nafxcc.lib")
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
#pragma comment(lib, "comctl32.lib")
|
|
|
|
#else //!_MAC
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Mac libraries
|
|
|
|
#endif //_MAC
|
|
#endif //!_AFX_NOFORCE_LIBS
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// AFXCMN - MFC COMCTL32 Control Classes
|
|
|
|
// Classes declared in this file
|
|
|
|
//CObject
|
|
class CImageList;
|
|
//CCmdTarget;
|
|
//CWnd
|
|
class CListCtrl;
|
|
class CTreeCtrl;
|
|
class CSpinButtonCtrl;
|
|
class CHeaderCtrl;
|
|
class CSliderCtrl;
|
|
class CProgressCtrl;
|
|
class CHotKeyCtrl;
|
|
class CToolTipCtrl;
|
|
class CTabCtrl;
|
|
class CAnimateCtrl;
|
|
class CToolBarCtrl;
|
|
class CStatusBarCtrl;
|
|
|
|
#undef AFX_DATA
|
|
#define AFX_DATA AFX_CORE_DATA
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CStatusBarCtrl
|
|
|
|
class CStatusBarCtrl : public CWnd
|
|
{
|
|
DECLARE_DYNAMIC(CStatusBarCtrl)
|
|
|
|
// Constructors
|
|
public:
|
|
CStatusBarCtrl();
|
|
BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
|
|
|
|
// Attributes
|
|
BOOL SetText(LPCTSTR lpszText, int nPane, int nType);
|
|
int GetText(LPCTSTR lpszText, int nPane, int* pType = NULL);
|
|
int GetTextLength(int nPane, int* pType = NULL);
|
|
BOOL SetParts(int nParts, int* pWidths);
|
|
BOOL SetBorders(int* pBorders);
|
|
BOOL SetBorders(int nHorz, int nVert, int nSpacing);
|
|
int GetParts(int nParts, int* pParts);
|
|
BOOL GetBorders(int* pBorders);
|
|
BOOL GetBorders(int& nHorz, int& nVert, int& nSpacing);
|
|
void SetMinHeight(int nMin);
|
|
BOOL SetSimple(BOOL bSimple = TRUE);
|
|
BOOL GetRect(int nPane, LPRECT lpRect);
|
|
|
|
// Overridables
|
|
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
|
|
|
|
// Implementation
|
|
public:
|
|
virtual ~CStatusBarCtrl();
|
|
protected:
|
|
virtual BOOL OnChildNotify(UINT, WPARAM, LPARAM, LRESULT*);
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CListCtrl
|
|
|
|
class CListCtrl : public CWnd
|
|
{
|
|
DECLARE_DYNAMIC(CListCtrl)
|
|
|
|
// Constructors
|
|
public:
|
|
CListCtrl();
|
|
BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
|
|
|
|
// Attributes
|
|
COLORREF GetBkColor();
|
|
BOOL SetBkColor(COLORREF cr);
|
|
CImageList* GetImageList(int nImageList);
|
|
CImageList* SetImageList(CImageList* pImageList, int nImageList);
|
|
int GetItemCount();
|
|
BOOL GetItem(LV_ITEM* pItem);
|
|
BOOL SetItem(const LV_ITEM* pItem);
|
|
UINT GetCallbackMask();
|
|
BOOL SetCallbackMask(UINT nMask);
|
|
int GetNextItem(int nItem, int nFlags);
|
|
BOOL GetItemRect(int nItem, LPRECT lpRect, UINT nCode);
|
|
BOOL SetItemPosition(int nItem, POINT pt);
|
|
BOOL GetItemPosition(int nItem, LPPOINT lpPoint);
|
|
int GetStringWidth(LPCTSTR lpsz);
|
|
CEdit* GetEditControl();
|
|
BOOL GetColumn(int nCol, LV_COLUMN* pColumn);
|
|
BOOL SetColumn(int nCol, const LV_COLUMN* pColumn);
|
|
int GetColumnWidth(int nCol);
|
|
BOOL SetColumnWidth(int nCol, int cx);
|
|
BOOL GetViewRect(LPRECT lpRect);
|
|
COLORREF GetTextColor();
|
|
BOOL SetTextColor(COLORREF cr);
|
|
COLORREF GetTextBkColor();
|
|
BOOL SetTextBkColor(COLORREF cr);
|
|
int GetTopIndex();
|
|
int GetCountPerPage();
|
|
BOOL GetOrigin(LPPOINT lpPoint);
|
|
BOOL SetItemState(int nItem, LV_ITEM* pItem);
|
|
BOOL SetItemState(int nItem, UINT nState, UINT nMask);
|
|
UINT GetItemState(int nItem, UINT nMask);
|
|
int GetItemText(int nItem, int nSubItem, LPTSTR lpszText, int nLen);
|
|
BOOL SetItemText(int nItem, int nSubItem, LPTSTR lpszText);
|
|
void SetItemCount(int nItems);
|
|
UINT GetSelectedCount();
|
|
|
|
// Operations
|
|
int InsertItem(const LV_ITEM* pItem);
|
|
BOOL DeleteItem(int nItem);
|
|
BOOL DeleteAllItems();
|
|
int FindItem(int nStart, LV_FINDINFO* pFindInfo);
|
|
int HitTest(LV_HITTESTINFO* pHitTestInfo);
|
|
int HitTest(CPoint pt, UINT* pFlags);
|
|
BOOL EnsureVisible(int nItem, BOOL bPartialOK);
|
|
BOOL Scroll(CSize size);
|
|
BOOL RedrawItems(int nFirst, int nLast);
|
|
BOOL Arrange(UINT nCode);
|
|
CEdit* EditLabel(int nItem);
|
|
int InsertColumn(int nCol, const LV_COLUMN* pColumn);
|
|
BOOL DeleteColumn(int nCol);
|
|
CImageList* CreateDragImage(int nItem, LPPOINT lpPoint);
|
|
BOOL Update(int nItem);
|
|
BOOL SortItems(PFNLVCOMPARE pfnCompare, DWORD dwData);
|
|
|
|
// Overridables
|
|
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
|
|
|
|
// Implementation
|
|
public:
|
|
virtual ~CListCtrl();
|
|
protected:
|
|
void RemoveImageList(int nImageList);
|
|
virtual BOOL OnChildNotify(UINT, WPARAM, LPARAM, LRESULT*);
|
|
protected:
|
|
//{{AFX_MSG(CListCtrl)
|
|
afx_msg void OnDestroy();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CTreeCtrl
|
|
|
|
class CTreeCtrl : public CWnd
|
|
{
|
|
DECLARE_DYNAMIC(CTreeCtrl)
|
|
|
|
// Constructors
|
|
public:
|
|
CTreeCtrl();
|
|
BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
|
|
|
|
// Attributes
|
|
BOOL GetItemRect(HTREEITEM hItem, LPRECT lpRect, BOOL bTextOnly);
|
|
UINT GetCount();
|
|
UINT GetIndent();
|
|
BOOL SetIndent(UINT nIndent);
|
|
CImageList* GetImageList(UINT nImage);
|
|
CImageList* SetImageList(UINT nImage, CImageList* pImageList);
|
|
HTREEITEM GetNextItem(HTREEITEM hItem, UINT nCode);
|
|
HTREEITEM GetChildItem(HTREEITEM hItem);
|
|
HTREEITEM GetNextSiblingItem(HTREEITEM hItem);
|
|
HTREEITEM GetPrevSiblingItem(HTREEITEM hItem);
|
|
HTREEITEM GetParentItem(HTREEITEM hItem);
|
|
HTREEITEM GetFirstVisibleItem();
|
|
HTREEITEM GetNextVisibleItem(HTREEITEM hItem);
|
|
HTREEITEM GetPrevVisibleItem(HTREEITEM hItem);
|
|
HTREEITEM GetSelectedItem();
|
|
HTREEITEM GetDropHilightItem();
|
|
HTREEITEM GetRootItem();
|
|
BOOL GetItem(TV_ITEM* pItem);
|
|
BOOL SetItem(TV_ITEM* pItem);
|
|
CEdit* GetEditControl();
|
|
UINT GetVisibleCount();
|
|
|
|
// Operations
|
|
HTREEITEM InsertItem(LPTV_INSERTSTRUCT lpInsertStruct);
|
|
BOOL DeleteItem(HTREEITEM hItem);
|
|
BOOL DeleteAllItems();
|
|
BOOL Expand(HTREEITEM hItem, UINT nCode);
|
|
HTREEITEM Select(HTREEITEM hItem, UINT nCode);
|
|
HTREEITEM SelectItem(HTREEITEM hItem);
|
|
HTREEITEM SelectDropTarget(HTREEITEM hItem);
|
|
CEdit* EditLabel(HTREEITEM hItem);
|
|
HTREEITEM HitTest(CPoint pt, UINT* pFlags);
|
|
HTREEITEM HitTest(TV_HITTESTINFO* pHitTestInfo);
|
|
CImageList* CreateDragImage(HTREEITEM hItem);
|
|
BOOL SortChildren(HTREEITEM hItem, BOOL bRecurse);
|
|
BOOL EnsureVisible(HTREEITEM hItem);
|
|
BOOL SortChildrenCB(LPTV_SORTCB pSort, BOOL bRecurse);
|
|
|
|
// Implementation
|
|
protected:
|
|
void RemoveImageList(int nImageList);
|
|
public:
|
|
virtual ~CTreeCtrl();
|
|
//{{AFX_MSG(CTreeCtrl)
|
|
afx_msg void OnDestroy();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CSpinButtonCtrl
|
|
|
|
class CSpinButtonCtrl : public CWnd
|
|
{
|
|
DECLARE_DYNAMIC(CSpinButtonCtrl)
|
|
|
|
// Constructors
|
|
public:
|
|
CSpinButtonCtrl();
|
|
BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
|
|
|
|
// Attributes
|
|
BOOL SetAccel(int nAccel, UDACCEL* pAccel);
|
|
UINT GetAccel(int nAccel, UDACCEL* pAccel);
|
|
int SetBase(int nBase);
|
|
UINT GetBase();
|
|
CWnd* SetBuddy(CWnd* pWndBuddy);
|
|
CWnd* GetBuddy();
|
|
int SetPos(int nPos);
|
|
int GetPos();
|
|
void SetRange(int nLower, int nUpper);
|
|
DWORD GetRange();
|
|
void GetRange(int &lower, int& upper);
|
|
|
|
// Implementation
|
|
public:
|
|
virtual ~CSpinButtonCtrl();
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CSliderCtrl
|
|
|
|
class CSliderCtrl : public CWnd
|
|
{
|
|
DECLARE_DYNAMIC(CSliderCtrl)
|
|
|
|
// Constructors
|
|
public:
|
|
CSliderCtrl();
|
|
BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
|
|
|
|
// Attributes
|
|
int GetLineSize();
|
|
int SetLineSize(int nSize);
|
|
int GetPageSize();
|
|
int SetPageSize(int nSize);
|
|
int GetRangeMax();
|
|
int GetRangeMin();
|
|
void GetRange(int& nMin, int& nMax);
|
|
void SetRangeMin(int nMin, BOOL bRedraw = FALSE);
|
|
void SetRangeMax(int nMax, BOOL bRedraw = FALSE);
|
|
void SetRange(int nMin, int nMax, BOOL bRedraw = FALSE);
|
|
void GetSelection(int& nMin, int& nMax);
|
|
void SetSelection(int nMin, int nMax);
|
|
void GetChannelRect(LPRECT lprc);
|
|
void GetThumbRect(LPRECT lprc);
|
|
int GetPos();
|
|
void SetPos(int nPos);
|
|
UINT GetNumTics();
|
|
DWORD* GetTicArray();
|
|
int GetTic(int nTic);
|
|
int GetTicPos(int nTic);
|
|
BOOL SetTic(int nTic);
|
|
void SetTicFreq(int nFreq);
|
|
|
|
// Operations
|
|
void ClearSel(BOOL bRedraw = FALSE);
|
|
void VerifyPos();
|
|
void ClearTics(BOOL bRedraw = FALSE);
|
|
|
|
// Implementation
|
|
public:
|
|
virtual ~CSliderCtrl();
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CProgressCtrl
|
|
|
|
class CProgressCtrl : public CWnd
|
|
{
|
|
DECLARE_DYNAMIC(CProgressCtrl)
|
|
|
|
// Constructors
|
|
public:
|
|
CProgressCtrl();
|
|
BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
|
|
|
|
// Attributes
|
|
void SetRange(int nLower, int nUpper);
|
|
int SetPos(int nPos);
|
|
int OffsetPos(int nPos);
|
|
int SetStep(int nStep);
|
|
|
|
// Operations
|
|
int StepIt();
|
|
|
|
// Implementation
|
|
public:
|
|
virtual ~CProgressCtrl();
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CHeaderCtrl
|
|
|
|
class CHeaderCtrl : public CWnd
|
|
{
|
|
DECLARE_DYNAMIC(CHeaderCtrl)
|
|
|
|
// Constructors
|
|
public:
|
|
CHeaderCtrl();
|
|
BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
|
|
|
|
// Attributes
|
|
int GetItemCount();
|
|
BOOL GetItem(int nPos, HD_ITEM* pHeaderItem);
|
|
BOOL SetItem(int nPos, HD_ITEM* pHeaderItem);
|
|
|
|
// Operations
|
|
int InsertItem(int nPos, HD_ITEM* phdi);
|
|
BOOL DeleteItem(int nPos);
|
|
BOOL Layout(HD_LAYOUT* pHeaderLayout);
|
|
|
|
// Overridables
|
|
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
|
|
|
|
// Implementation
|
|
public:
|
|
virtual ~CHeaderCtrl();
|
|
protected:
|
|
virtual BOOL OnChildNotify(UINT, WPARAM, LPARAM, LRESULT*);
|
|
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CHotKeyCtrl
|
|
|
|
class CHotKeyCtrl : public CWnd
|
|
{
|
|
DECLARE_DYNAMIC(CHotKeyCtrl)
|
|
|
|
// Constructors
|
|
public:
|
|
CHotKeyCtrl();
|
|
BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
|
|
|
|
// Attributes
|
|
void SetHotKey(WORD wVirtualKeyCode, WORD wModifiers);
|
|
DWORD GetHotKey();
|
|
void GetHotKey(WORD &wVirtualKeyCode, WORD &wModifiers);
|
|
|
|
// Operations
|
|
void SetRules(WORD wInvalidComb, WORD wModifiers);
|
|
|
|
// Implementation
|
|
public:
|
|
virtual ~CHotKeyCtrl();
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CToolTipCtrl
|
|
|
|
class CToolTipCtrl : public CWnd
|
|
{
|
|
DECLARE_DYNAMIC(CToolTipCtrl)
|
|
|
|
// Constructors
|
|
public:
|
|
CToolTipCtrl();
|
|
BOOL Create(CWnd* pParentWnd);
|
|
|
|
// Attributes
|
|
void GetText(CString& str, CWnd* pWnd, UINT nIDTool = 0);
|
|
BOOL GetToolInfo(LPTOOLINFO lpToolInfo, CWnd* pWnd, UINT nIDTool = 0);
|
|
void SetToolInfo(LPTOOLINFO lpToolInfo);
|
|
void SetToolRect(CWnd* pWnd, UINT nIDTool, LPCRECT lpRect);
|
|
int GetToolCount();
|
|
|
|
// Operations
|
|
void Activate(BOOL bActivate);
|
|
|
|
BOOL AddTool(CWnd* pWnd, UINT nIDText, LPCRECT lpRectTool = NULL,
|
|
UINT nIDTool = 0);
|
|
BOOL AddTool(CWnd* pWnd, LPCTSTR lpszText = LPSTR_TEXTCALLBACK,
|
|
LPCRECT lpRectTool = NULL, UINT nIDTool = 0);
|
|
|
|
void DelTool(CWnd* pWnd, UINT nIDTool = 0);
|
|
|
|
BOOL HitTest(CWnd* pWnd, CPoint pt, LPTOOLINFO lpToolInfo);
|
|
void RelayEvent(LPMSG lpMsg);
|
|
void SetDelayTime(UINT nDelay);
|
|
void UpdateTipText(LPCTSTR lpszText, CWnd* pWnd, UINT nIDTool = 0);
|
|
void UpdateTipText(UINT nIDText, CWnd* pWnd, UINT nIDTool = 0);
|
|
|
|
// Implementation
|
|
public:
|
|
void FillInToolInfo(TOOLINFO& ti, CWnd* pWnd, UINT nIDTool);
|
|
virtual ~CToolTipCtrl();
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CTabCtrl
|
|
|
|
class CTabCtrl : public CWnd
|
|
{
|
|
DECLARE_DYNAMIC(CTabCtrl)
|
|
|
|
// Constructors
|
|
public:
|
|
CTabCtrl();
|
|
BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
|
|
|
|
// Attributes
|
|
COLORREF GetBkColor();
|
|
BOOL SetBkColor(COLORREF cr);
|
|
CImageList* GetImageList();
|
|
CImageList* SetImageList(CImageList* pImageList);
|
|
int GetItemCount();
|
|
BOOL GetItem(int nItem, TC_ITEM* pTabCtrlItem);
|
|
BOOL SetItem(int nItem, TC_ITEM* pTabCtrlItem);
|
|
BOOL GetItemRect(int nItem, LPRECT lpRect);
|
|
int GetCurSel();
|
|
int SetCurSel(int nItem);
|
|
CSize SetItemSize(CSize size);
|
|
void SetPadding(CSize size);
|
|
int GetRowCount();
|
|
CToolTipCtrl* GetTooltips();
|
|
void SetTooltips(CToolTipCtrl* pWndTip);
|
|
int GetCurFocus();
|
|
|
|
// Operations
|
|
BOOL InsertItem(int nItem, TC_ITEM* pTabCtrlItem);
|
|
BOOL DeleteItem(int nItem);
|
|
BOOL DeleteAllItems();
|
|
void AdjustRect(BOOL bLarger, LPRECT lpRect);
|
|
void RemoveImage(int nImage);
|
|
int HitTest(TC_HITTESTINFO* pHitTestInfo);
|
|
|
|
// Overridables
|
|
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
|
|
|
|
// Implementation
|
|
public:
|
|
virtual ~CTabCtrl();
|
|
protected:
|
|
virtual BOOL OnChildNotify(UINT, WPARAM, LPARAM, LRESULT*);
|
|
//{{AFX_MSG(CTabCtrl)
|
|
afx_msg void OnDestroy();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CAnimateCtrl
|
|
|
|
class CAnimateCtrl : public CWnd
|
|
{
|
|
DECLARE_DYNAMIC(CAnimateCtrl)
|
|
|
|
// Constructors
|
|
public:
|
|
CAnimateCtrl();
|
|
BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
|
|
|
|
// Operations
|
|
BOOL Open(LPCTSTR lpszFileName);
|
|
BOOL Open(UINT nID);
|
|
BOOL Play(UINT nFrom, UINT nTo, UINT nRep);
|
|
BOOL Stop();
|
|
BOOL Close();
|
|
BOOL Seek(UINT nTo);
|
|
|
|
// Implementation
|
|
public:
|
|
virtual ~CAnimateCtrl();
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CImageList
|
|
|
|
class CImageList : public CObject
|
|
{
|
|
DECLARE_DYNCREATE(CImageList)
|
|
|
|
// Constructors
|
|
public:
|
|
CImageList();
|
|
BOOL Create(int cx, int cy, BOOL bMask, int nInitial, int nGrow);
|
|
BOOL Create(UINT nBitmapID, int cx, int nGrow, COLORREF crMask);
|
|
BOOL Create(LPCTSTR lpszBitmapID, int cx, int nGrow, COLORREF crMask);
|
|
BOOL Create(CImageList& imagelist1, int nImage1, CImageList& imagelist2,
|
|
int nImage2, int dx, int dy);
|
|
|
|
// Attributes
|
|
HIMAGELIST m_hImageList; // must be first data member
|
|
HIMAGELIST GetSafeHandle() const;
|
|
|
|
static CImageList* PASCAL FromHandle(HIMAGELIST hImageList);
|
|
static CImageList* PASCAL FromHandlePermanent(HIMAGELIST hImageList);
|
|
static void PASCAL DeleteTempMap();
|
|
BOOL Attach(HIMAGELIST hImageList);
|
|
HIMAGELIST Detach();
|
|
|
|
int GetImageCount();
|
|
COLORREF SetBkColor(COLORREF cr);
|
|
COLORREF GetBkColor();
|
|
BOOL GetImageInfo(int nImage, IMAGEINFO* pImageInfo);
|
|
|
|
// Operations
|
|
BOOL DeleteImageList();
|
|
|
|
int Add(CBitmap* pbmImage, CBitmap* pbmMask);
|
|
int Add(CBitmap* pbmImage, COLORREF crMask);
|
|
BOOL Remove(int nImage);
|
|
BOOL Replace(int nImage, CBitmap* pbmImage, CBitmap* pbmMask);
|
|
int Add(HICON hIcon);
|
|
int Replace(int nImage, HICON hIcon);
|
|
HICON ExtractIcon(int nImage);
|
|
BOOL Draw(CDC* pDC, int nImage, POINT pt, UINT nStyle);
|
|
BOOL SetOverlayImage(int nImage, int nOverlay);
|
|
|
|
BOOL Read(CArchive* pArchive);
|
|
BOOL Write(CArchive* pArchive);
|
|
|
|
// Drag APIs
|
|
BOOL BeginDrag(int nImage, CPoint ptHotSpot);
|
|
static void EndDrag();
|
|
static BOOL DragMove(CPoint pt);
|
|
BOOL SetDragCursorImage(int nDrag, CPoint ptHotSpot);
|
|
static BOOL DragShowNolock(BOOL bShow);
|
|
static CImageList* GetDragImage(LPPOINT lpPoint, LPPOINT lpPointHotSpot);
|
|
static BOOL DragEnter(CWnd* pWndLock, CPoint point);
|
|
static BOOL DragLeave(CWnd* pWndLock);
|
|
|
|
// Implementation
|
|
public:
|
|
virtual ~CImageList();
|
|
#ifdef _DEBUG
|
|
virtual void Dump(CDumpContext& dc) const;
|
|
virtual void AssertValid() const;
|
|
#endif
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CToolBarCtrl
|
|
|
|
class CToolBarCtrl : public CWnd
|
|
{
|
|
DECLARE_DYNAMIC(CToolBarCtrl)
|
|
// Construction
|
|
public:
|
|
CToolBarCtrl();
|
|
BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
|
|
|
|
// Attributes
|
|
public:
|
|
BOOL IsButtonEnabled(int nID);
|
|
BOOL IsButtonChecked(int nID);
|
|
BOOL IsButtonPressed(int nID);
|
|
BOOL IsButtonHidden(int nID);
|
|
BOOL IsButtonIndeterminate(int nID);
|
|
BOOL SetState(int nID, UINT nState);
|
|
int GetState(int nID);
|
|
BOOL GetButton(int nIndex, LPTBBUTTON lpButton);
|
|
int GetButtonCount();
|
|
BOOL GetItemRect(int nIndex, LPRECT lpRect);
|
|
void SetButtonStructSize(int nSize);
|
|
BOOL SetButtonSize(CSize size);
|
|
BOOL SetBitmapSize(CSize size);
|
|
CToolTipCtrl* GetToolTips();
|
|
void SetToolTips(CToolTipCtrl* pTip);
|
|
void SetOwner(CWnd* pWnd);
|
|
void SetRows(int nRows, BOOL bLarger, LPRECT lpRect);
|
|
int GetRows();
|
|
BOOL SetCmdID(int nIndex, UINT nID);
|
|
UINT GetBitmapFlags();
|
|
|
|
// Operations
|
|
public:
|
|
BOOL EnableButton(int nID, BOOL bEnable = TRUE);
|
|
BOOL CheckButton(int nID, BOOL bCheck = TRUE);
|
|
BOOL PressButton(int nID, BOOL bPress = TRUE);
|
|
BOOL HideButton(int nID, BOOL bHide = TRUE);
|
|
BOOL Indeterminate(int nID, BOOL bIndeterminate = TRUE);
|
|
int AddBitmap(int nNumButtons, UINT nBitmapID);
|
|
int AddBitmap(int nNumButtons, CBitmap* pBitmap);
|
|
BOOL AddButtons(int nNumButtons, LPTBBUTTON lpButtons);
|
|
BOOL InsertButton(int nIndex, LPTBBUTTON lpButton);
|
|
BOOL DeleteButton(int nIndex);
|
|
UINT CommandToIndex(UINT nID);
|
|
void SaveState(HKEY hKeyRoot, LPCTSTR lpszSubKey,
|
|
LPCTSTR lpszValueName);
|
|
void RestoreState(HKEY hKeyRoot, LPCTSTR lpszSubKey,
|
|
LPCTSTR lpszValueName);
|
|
|
|
void Customize();
|
|
int AddString(UINT nStringID);
|
|
int AddStrings(LPCTSTR lpszStrings);
|
|
void AutoSize();
|
|
|
|
// Implementation
|
|
public:
|
|
virtual ~CToolBarCtrl();
|
|
|
|
protected:
|
|
//{{AFX_MSG(CToolBarCtrl)
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Inline function declarations
|
|
|
|
#ifdef _AFX_PACKING
|
|
#pragma pack(pop)
|
|
#endif
|
|
|
|
#ifdef _AFX_ENABLE_INLINES
|
|
#define _AFXCMN_INLINE inline
|
|
#include <afxcmn.inl>
|
|
#endif
|
|
|
|
#undef AFX_DATA
|
|
#define AFX_DATA
|
|
|
|
#endif //__AFXCMN_H__
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|