FRX SDK Documentation 2025 SP0
Loading...
Searching...
No Matches
CAdUiSwatchCtrl.h
Go to the documentation of this file.
1#pragma once
2
3//
4// (C) Copyright 2005-2024 by Graebert GmbH.
5//
6// Permission to use, copy, modify, and distribute this software in
7// object code form for any purpose and without fee is hereby granted,
8// provided that the above copyright notice appears in all copies and
9// that both that copyright notice and the limited warranty and
10// restricted rights notice below appear in all supporting
11// documentation.
12//
13// GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
14// GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
15// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. GRAEBERT GMBH
16// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
17// UNINTERRUPTED OR ERROR FREE.
18
19
20#include <ShlObj.h>
21#include <ShObjIdl.h>
22
23class CAdUiDropTarget;
24class CAdUiExListItem;
25class CDC;
26class COleDataSource;
27class CPoint;
28class CRect;
29class CSize;
30template < typename Param1, typename Param2 > class StrTraitMFC_DLL;
31struct tagADUI_DRAGDATA;
32
34{
35public:
37
38public:
40 CAdUiSwatchCtrl(void (__cdecl*)(void *),unsigned int);
42 int AddItem(unsigned long, HBITMAP__ *);
43 int GetItemCount(void);
45 int InsertItem(unsigned long, HBITMAP__ *,int);
46 int ShiftItem(int,int);
48 unsigned long GetItemData(int);
49 virtual ~CAdUiSwatchCtrl(void);
50 void DrawItem(int);
51 void GetItemRect(int, CRect &);
54 void RemoveAllItems(void);
55 void RemoveItemAt(int);
56 void SelectItem(int);
58 void SetFullMode(bool);
59 void SetItemBorderColor(unsigned long);
60 void SetItemData(int,unsigned long);
63 void SetSelectionBorderColor(unsigned long);
65
66protected:
68#if (_WIN32_IE >= 0x0500)
69 int CreateDragImage( CPoint const &,int, SHDRAGIMAGE &);
70#endif
71 int IndexFromDropPt(int,int,bool &);
73 int SetDragImageClipFormat(unsigned short);
74 int SetInsertMarkColor(unsigned long);
75 long OnGetDlgCode(unsigned int,long);
76 long OnListCustomDraw(unsigned int,long);
77 long OnListGetInfoTip(unsigned int,long);
78 long OnSetIconSize(unsigned int,long);
79 //DECLARE_MESSAGE_MAP()
81 virtual const AFX_MSGMAP* GetMessageMap() const;
82 virtual int DoDragDrop(int, COleDataSource *);
83 virtual unsigned long DragEnter(unsigned int,long);
84 virtual unsigned long DragEnterDrawing(unsigned int,long);
85 virtual unsigned long DragLeave(unsigned int,long);
86 virtual unsigned long DragLeaveDrawing(unsigned int,long);
87 virtual unsigned long DragOver(unsigned int,long);
88 virtual unsigned long DragOverDrawing(unsigned int,long);
89 virtual unsigned long Drop( tagADUI_DRAGDATA *,int);
90 virtual unsigned long DropEx(unsigned int,long);
91 virtual unsigned long DropExDrawing(unsigned int,long);
92 virtual unsigned long GetDropEffect( tagADUI_DRAGDATA *);
93 virtual void PreDisplayToolTip(int,int, CStringW *);
94 void OnBegindragList( tagNMHDR *,long *);
95 void OnDestroy(void);
96 void OnKeyUp(unsigned int,unsigned int,unsigned int);
97 void OnLButtonDblClk(unsigned int, CPoint);
98 void OnLButtonDown(unsigned int, CPoint);
101 void OnListKeyDown( tagNMHDR *,long *);
103 void OnMouseMove(unsigned int, CPoint);
104 void OnPaint(void);
106 void OnSize(unsigned int,int,int);
107 void UpdateButtons(bool);
108
109private:
110 bool ClipRects( tagRECT *, tagRECT *);
111 bool DrawIBars( CDC *, tagRECT *,bool);
112 int IsMessagePtInItemRect(int);
113 long OnDragEnter(unsigned int,long);
114 long OnDragLeave(unsigned int,long);
115 long OnDragOver(unsigned int,long);
116 long OnDragScroll(unsigned int,long);
117 long OnDrop(unsigned int,long);
118 long OnDropEx(unsigned int,long);
119 void DrawSeperator(int,int,bool);
120 void DrawSwatchItem( CDC *, CAdUiExListItem *, CRect &,bool);
121
122};
DECLARE_DYNAMIC(CAdUiSwatchCtrl)
virtual unsigned long DragOverDrawing(unsigned int, long)
HBITMAP__ * GetBitmapImage(int)
void HideHorizontalScrollBar(bool)
void OnLButtonDown(unsigned int, CPoint)
CAdUiDropTarget * GetDrawingWindowDropTarget(void)
void OnListKeyDown(tagNMHDR *, long *)
void OnDestroy(void)
void SetToolTip(int, CStringW, CStringW)
virtual void PreDisplayToolTip(int, int, CStringW *)
virtual int DoDragDrop(int, COleDataSource *)
void SetItemData(int, unsigned long)
int SetDragImageClipFormat(unsigned short)
int GetItemCount(void)
void OnBegindragList(tagNMHDR *, long *)
void SetFullMode(bool)
void OnKeyUp(unsigned int, unsigned int, unsigned int)
virtual unsigned long DragEnterDrawing(unsigned int, long)
virtual ~CAdUiSwatchCtrl(void)
void SetItemSize(CSize)
void OnLButtonDblClk(unsigned int, CPoint)
void OnSize(unsigned int, int, int)
void RemoveItemAt(int)
int OnCreate(tagCREATESTRUCTW *)
virtual unsigned long DropEx(unsigned int, long)
void OnPaint(void)
void SetNavigationButtonWidth(int)
virtual unsigned long DropExDrawing(unsigned int, long)
virtual unsigned long Drop(tagADUI_DRAGDATA *, int)
int GetSelectedItemIndex(void)
long OnListGetInfoTip(unsigned int, long)
void DrawItem(int)
CAdUiSwatchCtrl(void(__cdecl *)(void *), unsigned int)
void UpdateButtons(bool)
int IndexFromDropPt(int, int, bool &)
void OnListDoubleClick(tagNMHDR *, long *)
virtual unsigned long DragLeave(unsigned int, long)
void OnListSelectionChanged(tagNMHDR *, long *)
unsigned long GetItemData(int)
virtual const AFX_MSGMAP * GetMessageMap() const
long OnSetIconSize(unsigned int, long)
virtual unsigned long DragOver(unsigned int, long)
static const AFX_MSGMAP *PASCAL GetThisMessageMap()
void RemoveAllItems(void)
void HideVerticalScrollBar(bool)
void OnRightButtonClick(void)
virtual unsigned long DragLeaveDrawing(unsigned int, long)
void SetSelectionBorderColor(unsigned long)
long OnListCustomDraw(unsigned int, long)
int ShiftItem(int, int)
void SetBitmapImage(int, HBITMAP__ *)
void SelectItem(int)
long OnGetDlgCode(unsigned int, long)
void OnMouseMove(unsigned int, CPoint)
virtual unsigned long DragEnter(unsigned int, long)
CAdUiExListItem * GetSelectedItem(void)
void OnLeftButtonClick(void)
void SetItemBorderColor(unsigned long)
virtual unsigned long GetDropEffect(tagADUI_DRAGDATA *)
int AddItem(unsigned long, HBITMAP__ *)
int SetInsertMarkColor(unsigned long)
int InsertItem(unsigned long, HBITMAP__ *, int)
void GetItemRect(int, CRect &)