You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
526 lines
23 KiB
C
526 lines
23 KiB
C
2 years ago
|
// XTPCheckListBox.h : interface for the CXTPCheckListBox class.
|
||
|
//
|
||
|
// This file is a part of the XTREME CONTROLS MFC class library.
|
||
|
// (c)1998-2012 Codejock Software, All Rights Reserved.
|
||
|
//
|
||
|
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
|
||
|
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
|
||
|
// CONSENT OF CODEJOCK SOFTWARE.
|
||
|
//
|
||
|
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
|
||
|
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
|
||
|
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
|
||
|
// SINGLE COMPUTER.
|
||
|
//
|
||
|
// CONTACT INFORMATION:
|
||
|
// support@codejock.com
|
||
|
// http://www.codejock.com
|
||
|
//
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
#if !defined(__XTPCHECKLISTBOX_H__)
|
||
|
#define __XTPCHECKLISTBOX_H__
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
#if _MSC_VER > 1000
|
||
|
#pragma once
|
||
|
#endif // _MSC_VER > 1000
|
||
|
|
||
|
class CXTPWinThemeWrapper;
|
||
|
|
||
|
// ----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// The CXTPCheckListBox class is a CXTPListBox derived class. It
|
||
|
// provides the functionality of Office style checklist box. A
|
||
|
// "checklist box" displays a list of items such as filenames. Each
|
||
|
// item in the list has a check box next to it that the user can
|
||
|
// either check or clear.
|
||
|
//
|
||
|
// Remarks:
|
||
|
// CXTPCheckListBox is only for owner-drawn controls because
|
||
|
// the list contains more than text strings. At its simplest, a
|
||
|
// checklist box contains text strings and check boxes, but you do
|
||
|
// not need to have text at all. For example, you could have a list
|
||
|
// of small bitmaps with a check box next to each item.
|
||
|
//
|
||
|
// To create your own checklist box, you must derive your own class
|
||
|
// from CXTPCheckListBox. To derive your own class, write a
|
||
|
// constructor for the derived class, then call Create.
|
||
|
//
|
||
|
// If your checklist box is a default checklist box (a list of
|
||
|
// strings with the default-sized check boxes to the left of each),
|
||
|
// you can use the default CXTPCheckListBox::DrawItem to draw the
|
||
|
// checklist box. Otherwise, you must override the
|
||
|
// CListBox::CompareItem function and the CXTPCheckListBox::DrawItem
|
||
|
// and CXTPCheckListBox::MeasureItem functions.
|
||
|
// ----------------------------------------------------------------------
|
||
|
class _XTP_EXT_CLASS CXTPCheckListBox : public CXTPListBox
|
||
|
{
|
||
|
DECLARE_DYNAMIC(CXTPCheckListBox)
|
||
|
|
||
|
protected:
|
||
|
// ----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// CCheckListState is a helper class used by CXTPCheckListBox
|
||
|
// that contains information about the checkbox image that is used by
|
||
|
// the check list box.
|
||
|
// ----------------------------------------------------------------------
|
||
|
class _XTP_EXT_CLASS CCheckListState
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
// -------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CCheckListState object
|
||
|
// Parameters:
|
||
|
// bListBox3D - TRUE to use 3d list box checkmarks
|
||
|
// -------------------------------------------------------------------
|
||
|
CCheckListState(BOOL bListBox3D);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Destroys a CCheckListState object, handles cleanup and deallocation
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual ~CCheckListState();
|
||
|
|
||
|
public:
|
||
|
HBITMAP m_hbitmapCheck; // Handle to the check mark image bitmap.
|
||
|
CSize m_sizeCheck; // Width and height of the check mark bitmap.
|
||
|
};
|
||
|
|
||
|
private:
|
||
|
struct CHECK_DATA;
|
||
|
|
||
|
|
||
|
public:
|
||
|
// -------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPCheckListBox object
|
||
|
// Parameters:
|
||
|
// bListBox3D - TRUE to use 3d list box checkmarks
|
||
|
// -------------------------------------------------------------
|
||
|
CXTPCheckListBox(BOOL bListBox3D = FALSE);
|
||
|
|
||
|
// -----------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Destroys a CXTPCheckListBox object, handles cleanup and
|
||
|
// deallocation
|
||
|
// -----------------------------------------------------------------
|
||
|
virtual ~CXTPCheckListBox();
|
||
|
|
||
|
public:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Creates the Windows checklist box and attaches it to the CXTPListBox
|
||
|
// object
|
||
|
// Parameters:
|
||
|
// dwStyle - Specifies the style of the checklist box. The style
|
||
|
// must be either LBS_OWNERDRAWFIXED (all items in
|
||
|
// the list are the same height) or LBS_OWNERDRAWVARIABLE
|
||
|
// (items in the list are of varying heights). This
|
||
|
// style can be combined with other list-box styles.
|
||
|
// rect - Specifies the checklist-box size and position. Can
|
||
|
// be either a CRect object or a RECT structure.
|
||
|
// pParentWnd - Specifies the checklist box's parent window (usually a
|
||
|
// CDialog object). It must not be NULL.
|
||
|
// nID - Specifies the checklist box's control ID.
|
||
|
// Returns:
|
||
|
// Nonzero if successful; otherwise 0.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
|
||
|
|
||
|
// ---------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this function to set the style of check boxes in the
|
||
|
// checklist box.
|
||
|
// Parameters:
|
||
|
// nStyle - Determines the style of check boxes in the checklist box. See
|
||
|
// the Remarks section for available styles.
|
||
|
// Remarks:
|
||
|
// Styles to be added or removed can be combined by using the bitwise
|
||
|
// OR (|) operator. It can be one of the following:
|
||
|
// * <b>BS_3STATE</b> Same as a check box, except that the box can be dimmed
|
||
|
// as well as checked. The dimmed state typically is used to show that a
|
||
|
// check box has been disabled.
|
||
|
// * <b>BS_AUTO3STATE</b> Same as a three-state check box, except that the box
|
||
|
// changes its state when the user selects it.
|
||
|
// * <b>BS_AUTOCHECKBOX</b> Same as a check box, except that a check mark
|
||
|
// appears in the check box when the user selects the box; the check mark
|
||
|
// disappears the next time the user selects the box.
|
||
|
// * <b>BS_CHECKBOX</b> Creates a small square that has text displayed to its
|
||
|
// right (unless this style is combined with the BS_LEFTTEXT style).
|
||
|
// For information on these styles, see Button Styles.
|
||
|
// ---------------------------------------------------------------------------
|
||
|
void SetCheckStyle(UINT nStyle);
|
||
|
|
||
|
// ------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Retrieves the CXTPCheckListBox style.
|
||
|
// Remarks:
|
||
|
// Call this function to get the checklist box's style. For
|
||
|
// information on possible styles, see SetCheckStyle.
|
||
|
// Returns:
|
||
|
// The style of the control's check boxes.
|
||
|
// See Also:
|
||
|
// SetCheckStyle
|
||
|
// ------------------------------------------------------------
|
||
|
UINT GetCheckStyle();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this function to set the check box of the item specified
|
||
|
// by nIndex.
|
||
|
// Parameters:
|
||
|
// nIndex - Index of the item whose check box is to be set.
|
||
|
// nCheck - State of the check box: 0 for clear, 1 for checked,
|
||
|
// and 2 for indeterminate.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void SetCheck(int nIndex, int nCheck);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this function to determine the check state of an item.
|
||
|
// Parameters:
|
||
|
// nIndex - Index of the item whose check status is to be retrieved.
|
||
|
// Returns:
|
||
|
// Zero if the item is not checked, 1 if it is checked, and 2 if it is
|
||
|
// indeterminate.
|
||
|
//-----------------------------------------------------------------------
|
||
|
int GetCheck(int nIndex);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this function to enable or disable a checklist box item.
|
||
|
// Parameters:
|
||
|
// nIndex - Index of the checklist box item to be enabled.
|
||
|
// bEnabled - Specifies whether the item is enabled or disabled.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void Enable(int nIndex, BOOL bEnabled = TRUE);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this function to determine whether or not an item is enabled.
|
||
|
// Parameters:
|
||
|
// nIndex - Index of the item.
|
||
|
// Returns:
|
||
|
// Nonzero if the item is enabled; otherwise 0.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL IsEnabled(int nIndex);
|
||
|
|
||
|
// ---------------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// The framework calls this function to get the position and size of
|
||
|
// the check box in an item.
|
||
|
// Parameters:
|
||
|
// rectItem - The position and size of the list item.
|
||
|
// rectCheckBox - The default position and size of an item's check
|
||
|
// box.
|
||
|
// Remarks:
|
||
|
// The default implementation only returns the default position and
|
||
|
// size of the check box (rectCheckBox). By default, a check box is
|
||
|
// aligned in the upper-left corner of an item and is the standard
|
||
|
// check box size. There may be cases where you want the check boxes
|
||
|
// on the right or want a larger or smaller check box. In these
|
||
|
// cases, override OnGetCheckPosition to change the check box
|
||
|
// position and size within the item.
|
||
|
// Example:
|
||
|
// The following function overrides the default and puts the check box
|
||
|
// on the right of the item, makes it the same height as the item
|
||
|
// (minus a pixel offset at the top and bottom), and makes it the
|
||
|
// standard check box width:
|
||
|
// <code>
|
||
|
// CRect CMyCheckListBox::OnGetCheckPosition(CRect rectItem, CRect rectCheckBox)
|
||
|
// {
|
||
|
// CRect rectMyCheckBox;
|
||
|
// rectMyCheckBox.top = rectItem.top -1;
|
||
|
// rectMyCheckBox.bottom = rectItem.bottom -1;
|
||
|
// rectMyCheckBox.right = rectItem.right -1;
|
||
|
// rectMyCheckBox.left = rectItem.right -1 - rectCheckBox.Width();
|
||
|
// return rectMyCheckBox;
|
||
|
// }
|
||
|
// </code>
|
||
|
// Returns:
|
||
|
// The position and size of an item's check box.
|
||
|
// ---------------------------------------------------------------------------------
|
||
|
virtual CRect OnGetCheckPosition(CRect rectItem, CRect rectCheckBox);
|
||
|
|
||
|
protected:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member function is called by the CXTPListBase class to
|
||
|
// perform initialization when the window is created or sub-classed.
|
||
|
// Returns:
|
||
|
// TRUE if the window was successfully initialized, otherwise FALSE.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void Init();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Returns the height for the font used by the check list box.
|
||
|
// Returns:
|
||
|
// An integer that represents the font height.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual int GetFontHeight();
|
||
|
|
||
|
// ---------------------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Called by the framework to determine the relative position of a
|
||
|
// new item in the check list box.
|
||
|
// Parameters:
|
||
|
// lpCompareItemStruct - Pointer to a COMPAREITEMSTRUCT struct.
|
||
|
// Returns:
|
||
|
// Indicates the relative position of the two items described in the COMPAREITEMSTRUCT
|
||
|
// structure. It may be any of the following values:
|
||
|
// <code>
|
||
|
// -1 Item 1 sorts before item 2.
|
||
|
// 0 Item 1 and item 2 sort the same.
|
||
|
// 1 Item 1 sorts after item 2.
|
||
|
// </code>
|
||
|
// See CWnd::OnCompareItem for a description of the COMPAREITEMSTRUCT
|
||
|
// structure.
|
||
|
// ---------------------------------------------------------------------------------------
|
||
|
virtual int PreCompareItem(LPCOMPAREITEMSTRUCT lpCompareItemStruct);
|
||
|
|
||
|
// --------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Called by the check list box to determine the minimum height for
|
||
|
// each item in the check list box.
|
||
|
// Returns:
|
||
|
// An integer that represents the minimum item height.
|
||
|
// --------------------------------------------------------------------
|
||
|
virtual int CalcMinimumItemHeight();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this function to determine if a left mouse click occurred
|
||
|
// in the check box to the left of a list box item.
|
||
|
// Parameters:
|
||
|
// point - A CPoint object that specifies the XY point where the
|
||
|
// left mouse button was clicked.
|
||
|
// bInCheck - TRUE if the current list box item is checked.
|
||
|
// Returns:
|
||
|
// The index of the list box item that was checked. If no list box
|
||
|
// item was checked, then return -1.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual int CheckFromPoint(CPoint point, BOOL& bInCheck);
|
||
|
|
||
|
// ---------------------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Called to paint the control to an off screen device context for a
|
||
|
// themed application.
|
||
|
// Parameters:
|
||
|
// lpDrawItemStruct - Contains information about the item to draw. The DRAWITEMSTRUCT
|
||
|
// structure provides information the owner window must have to
|
||
|
// determine how to paint an owner\-drawn control or menu item.
|
||
|
// <code>
|
||
|
// typedef struct tagDRAWITEMSTRUCT {
|
||
|
// UINT CtlType;
|
||
|
// UINT CtlID;
|
||
|
// UINT itemID;
|
||
|
// UINT itemAction;
|
||
|
// UINT itemState;
|
||
|
// HWND hwndItem;
|
||
|
// HDC hDC;
|
||
|
// RECT rcItem;
|
||
|
// DWORD itemData;
|
||
|
// } DRAWITEMSTRUCT;
|
||
|
// </code>
|
||
|
// Remarks:
|
||
|
// Call this function to pre-draw the item to a memory DC or to the
|
||
|
// ThemeManager. This prevents flickering of the window during
|
||
|
// drawing.
|
||
|
// ---------------------------------------------------------------------------------------
|
||
|
virtual void PreDrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
|
||
|
|
||
|
// -------------------------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This function is called to measure the size of the item in the
|
||
|
// list box for the proper handling of an owner drawn list box.
|
||
|
// Parameters:
|
||
|
// lpMeasureItemStruct - A LPMEASUREITEMSTRUCT struct. The MEASUREITEMSTRUCT structure
|
||
|
// informs Windows of the dimensions of an owner\-drawn control or
|
||
|
// menu item. This allows Windows to process user interaction with
|
||
|
// the control correctly. Failure to fill out the proper members in
|
||
|
// the MEASUREITEMSTRUCT structure will cause improper operation of
|
||
|
// the control.
|
||
|
//
|
||
|
// <code>
|
||
|
// typedef struct tagMEASUREITEMSTRUCT {
|
||
|
// UINT CtlType;
|
||
|
// UINT CtlID;
|
||
|
// UINT itemID;
|
||
|
// UINT itemWidth;
|
||
|
// UINT itemHeight;
|
||
|
// DWORD itemData
|
||
|
// } MEASUREITEMSTRUCT;
|
||
|
// </code>
|
||
|
//
|
||
|
// itemWidth Specifies the width of a menu item. The
|
||
|
// owner of the owner\-draw menu item must fill this member before
|
||
|
// it returns from the message.
|
||
|
//
|
||
|
// itemHeight Specifies the height of an individual item in
|
||
|
// a list box or a menu. Before it returns from the message, the owner
|
||
|
// of the owner\-draw combo box, list box, or menu item must fill out
|
||
|
// this member. The maximum height of a list box item is 255.
|
||
|
// -------------------------------------------------------------------------------------------
|
||
|
virtual void PreMeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
|
||
|
|
||
|
// -----------------------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This function is called so that an owner drawn list box control
|
||
|
// can properly handle the delete item message WM_DELETEITEM.
|
||
|
// Parameters:
|
||
|
// lpDeleteItemStruct - A LPDELETEITEMSTRUCT struct that contains information about the
|
||
|
// items to delete. The DELETEITEMSTRUCT structure has the
|
||
|
// following form\:
|
||
|
//
|
||
|
// <code>
|
||
|
// typedef struct tagDELETEITEMSTRUCT { /* ditms */
|
||
|
// UINT CtlType;
|
||
|
// UINT CtlID;
|
||
|
// UINT itemID;
|
||
|
// HWND hwndItem;
|
||
|
// UINT itemData;
|
||
|
// } DELETEITEMSTRUCT;
|
||
|
// </code>
|
||
|
//
|
||
|
// The DELETEITEMSTRUCT structure describes a deleted
|
||
|
// owner\-drawn list\-box or combo\-box item.
|
||
|
// -----------------------------------------------------------------------------------------
|
||
|
virtual void PreDeleteItem(LPDELETEITEMSTRUCT lpDeleteItemStruct);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this function to check all items in the list box that are
|
||
|
// currently highlighted and not disabled.
|
||
|
// Parameters:
|
||
|
// nCheck - Integer value that specifies the check state. 1 for
|
||
|
// checked, 0 for not checked, and 2 for intermediate.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void SetSelectionCheck(int nCheck);
|
||
|
|
||
|
// ----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Called by the CXTPCheckListBox to redraw a check box.
|
||
|
// Parameters:
|
||
|
// nIndex - Integer value that specifies the index of the value to
|
||
|
// invalidate.
|
||
|
// Remarks:
|
||
|
// This member function determines the size of the bounding rectangle
|
||
|
// of the selected item's check box. Then calls invalidate rectangle
|
||
|
// so that the background of the rectangle is redrawn during the next
|
||
|
// WM_PAINT message.
|
||
|
// ----------------------------------------------------------------------
|
||
|
virtual void InvalidateCheck(int nIndex);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Called by the CXTPCheckListBox to redraw an item.
|
||
|
// Parameters:
|
||
|
// nIndex - Integer value that specifies the index of the value to
|
||
|
// invalidate.
|
||
|
// Remarks:
|
||
|
// This member function determines the size of the bounding rectangle of
|
||
|
// the selected item. Then calls invalidate rectangle so that the item's
|
||
|
// background is redrawn during the next WM_PAINT message.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void InvalidateItem(int nIndex);
|
||
|
|
||
|
// -------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Called to paint the control to an off screen device context for a
|
||
|
// themed application.
|
||
|
// Parameters:
|
||
|
// pDC - A CDC pointer that represents the current device context.
|
||
|
// drawItem - A DRAWITEMSTRUCT that contains information about the item to
|
||
|
// draw. This is necessary because the list box is an owner
|
||
|
// drawn control.
|
||
|
// nCheck - Integer value that specifies the check state. 1 for checked,
|
||
|
// 0 for not checked, and 2 for intermediate.
|
||
|
// cyItem - The vertical position of the item in the list box.
|
||
|
// Remarks:
|
||
|
// Call this function to pre-draw an item in a themed application.
|
||
|
// This is used to prevent flickering when re-drawing the control.
|
||
|
// Returns:
|
||
|
// \Returns true if the item is successfully drawn, otherwise return
|
||
|
// false. Also, if the application is not themed, then this function
|
||
|
// \returns false.
|
||
|
// -------------------------------------------------------------------------
|
||
|
bool PreDrawItemThemed(CDC* pDC, DRAWITEMSTRUCT &drawItem, int nCheck, int cyItem);
|
||
|
|
||
|
// -------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Called to paint the control to an off screen device context for a
|
||
|
// non-themed application.
|
||
|
// Parameters:
|
||
|
// pDC - A CDC pointer that represents the current device context.
|
||
|
// drawItem - A DRAWITEMSTRUCT that contains information about the item to
|
||
|
// draw. This is necessary because the list box is an owner
|
||
|
// drawn control.
|
||
|
// nCheck - Integer value that specifies the check state. 1 for checked,
|
||
|
// 0 for not checked, and 2 for intermediate.
|
||
|
// cyItem - The vertical position of the item in the list box.
|
||
|
// Remarks:
|
||
|
// Call this function to pre-draw an item in a non-themed
|
||
|
// application. This is used to prevent flickering when re-drawing
|
||
|
// the control.
|
||
|
// -------------------------------------------------------------------------
|
||
|
void PreDrawItemNonThemed(CDC* pDC, DRAWITEMSTRUCT &drawItem, int nCheck, int cyItem);
|
||
|
|
||
|
protected:
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
DECLARE_MESSAGE_MAP()
|
||
|
|
||
|
//{{AFX_VIRTUAL(CXTPCheckListBox)
|
||
|
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
|
||
|
virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
|
||
|
virtual BOOL OnChildNotify(UINT, WPARAM, LPARAM, LRESULT*);
|
||
|
virtual void PreSubclassWindow();
|
||
|
//}}AFX_VIRTUAL
|
||
|
|
||
|
//{{AFX_MSG(CXTPCheckListBox)
|
||
|
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
|
||
|
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
|
||
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
||
|
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
|
||
|
afx_msg LRESULT OnSetFont(WPARAM wParam, LPARAM lParam);
|
||
|
afx_msg LRESULT OnLBAddString(WPARAM wParam, LPARAM lParam);
|
||
|
afx_msg LRESULT OnLBFindString(WPARAM wParam, LPARAM lParam);
|
||
|
afx_msg LRESULT OnLBFindStringExact(WPARAM wParam, LPARAM lParam);
|
||
|
afx_msg LRESULT OnLBGetItemData(WPARAM wParam, LPARAM lParam);
|
||
|
afx_msg LRESULT OnLBGetText(WPARAM wParam, LPARAM lParam);
|
||
|
afx_msg LRESULT OnLBInsertString(WPARAM wParam, LPARAM lParam);
|
||
|
afx_msg LRESULT OnLBSelectString(WPARAM wParam, LPARAM lParam);
|
||
|
afx_msg LRESULT OnLBSetItemData(WPARAM wParam, LPARAM lParam);
|
||
|
afx_msg LRESULT OnLBSetItemHeight(WPARAM wParam, LPARAM lParam);
|
||
|
//}}AFX_MSG
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
private:
|
||
|
BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
|
||
|
|
||
|
protected:
|
||
|
|
||
|
int m_cyText; // Represents the text height for the check list box.
|
||
|
UINT m_nStyle; // Specifies the style for the check list box.
|
||
|
CCheckListState m_checkListState; // Holds the check mark image information.
|
||
|
CXTPWinThemeWrapper* m_themeHelper; // Used for drawing Windows XP themed checkbox.
|
||
|
|
||
|
};
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
AFX_INLINE UINT CXTPCheckListBox::GetCheckStyle() {
|
||
|
return m_nStyle;
|
||
|
}
|
||
|
AFX_INLINE BOOL CXTPCheckListBox::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext) {
|
||
|
return CWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);
|
||
|
}
|
||
|
|
||
|
#endif // #if !defined(__XTPCHECKLISTBOX_H__)
|