2025-11-27 16:46:48 +09:00

61 lines
8.5 KiB
Plaintext

{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f40\froman\fcharset238\fprq2 Times New Roman CE;}
{\f41\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f43\froman\fcharset161\fprq2 Times New Roman Greek;}{\f44\froman\fcharset162\fprq2 Times New Roman Tur;}{\f45\froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\f46\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f47\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f48\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;
\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;
\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\*\cs10 \additive \ssemihidden
Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}}{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\rsidtbl \rsid5183391\rsid15942976}
{\*\generator Microsoft Word 11.0.5604;}{\info{\author TvmServer}{\operator TvmServer}{\creatim\yr2005\mo1\dy17\hr11\min22}{\revtim\yr2005\mo1\dy17\hr11\min23}{\version2}{\edmins1}{\nofpages2}{\nofwords429}{\nofchars2451}{\*\company Dundas India}
{\nofcharsws2875}{\vern24689}}\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3
\jcompress\viewkind1\viewscale100\nolnhtadjtbl\rsidroot15942976 \fet0\sectd \linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3
\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain
\ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b\fs48\cf2\insrsid15942976 Cool Controls}{\b\fs48\insrsid15942976
\par }{\b\fs20\insrsid15942976 Copyright \'a9 }{\b\fs20\insrsid15942976 The Code Project}{\b\fs20\insrsid15942976 1997 - 1998, All Rights Reserved
\par }{\b\fs48\insrsid15942976
\par }{\insrsid15942976 Just as a reminder, we assume that a common control can be called "}{\b\insrsid15942976 cool}{\insrsid15942976 " if it can take normal or hot state. By definition, a window is in a hot state when the mouse cursor
is over it or it has focus. Otherwise a window is in normal state. Naturally, in order to distinguish between a window in different states some graphical effects should be applied. E.g. the drawing of window borders in different states might be different
.
\par
\par }{\b\insrsid15942976 COXCoolCtrl}{\insrsid15942976 class is the basic class that is used to create cool controls. This is a template class and it can be easily used in order to create "}{\b\insrsid15942976 cool}{\insrsid15942976
" versions of common controls. Actually our implementation of classes for cool common controls doesn't have any public functions, so it's strongly recommended to refer to }{\ul\cf2\insrsid15942976 COXCoolCtrl reference}{\cf2\insrsid15942976 }{
\insrsid15942976 for the functionality available for all cool controls (e.g. all cool controls support tooltips).
\par
\par When we were talking about implementation of "cool" versions of coo
l controls we mentioned that it doesn't require too much work to be done because almost everything is covered by COXCoolCtrl. Actually, for the following common controls "cool" state will be supported automatically if you use corresponding MFC class as te
mplate argument.
\par
\par }{\b\ul\insrsid15942976 Common Control\tab MFC class\tab UTB class\tab }{\ul\insrsid15942976
\par }{\insrsid15942976 \tab \tab \tab
\par }{\fs20\ul\insrsid15942976 Edit control}{\b\fs20\insrsid15942976 \tab \tab }{\fs20\insrsid15942976 CEdit}{\b\fs20\insrsid15942976 \tab \tab COXCoolCtrl<CEdit>\tab
\par }{\fs20\ul\insrsid15942976 Rich edit control}{\b\fs20\insrsid15942976 \tab \tab }{\fs20\insrsid15942976 CRichEditCtr}{\b\fs20\insrsid15942976 \tab COXCoolCtrl<CRichEditCtrl> \tab
\par }{\fs20\ul\insrsid15942976 Tree view}{\b\fs20\insrsid15942976 \tab \tab }{\fs20\insrsid15942976 CTreeCtr}{\b\fs20\insrsid15942976 \tab COXCoolCtrl<CTreeCtrl> \tab
\par }{\fs20\ul\insrsid15942976 List view}{\b\fs20\insrsid15942976 \tab \tab }{\fs20\insrsid15942976 CListCtrl}{\b\fs20\insrsid15942976 \tab \tab COXCoolCtrl<CListCtrl> \tab
\par }{\fs20\ul\insrsid15942976 List box}{\b\fs20\insrsid15942976 \tab \tab \tab }{\fs20\insrsid15942976 CListBox}{\b\fs20\insrsid15942976 \tab COXCoolCtrl<CListBox> \tab
\par }{\fs20\ul\insrsid15942976 Progress bar}{\b\fs20\insrsid15942976 \tab \tab }{\fs20\insrsid15942976 CProgressCtrl}{\b\fs20\insrsid15942976 \tab COXCoolCtrl<CProgressCtrl> \tab
\par }{\fs20\ul\insrsid15942976 Hot key control}{\b\fs20\insrsid15942976 \tab \tab }{\fs20\insrsid15942976 CHotKeyCtrl}{\b\fs20\insrsid15942976 \tab COXCoolCtrl<CHotKeyCtrl> \tab
\par }{\fs20\ul\insrsid15942976 Date-time picker}{\b\fs20\insrsid15942976 \tab \tab }{\fs20\insrsid15942976 CDateTimeCtrl}{\b\fs20\insrsid15942976 \tab COXCoolCtrl<CDateTimeCtrl> \tab
\par }{\fs20\ul\insrsid15942976 Month calendar}{\b\fs20\insrsid15942976 \tab \tab }{\fs20\insrsid15942976 CMonthCalCtrl}{\b\fs20\insrsid15942976 \tab COXCoolCtrl<CMonthCalCtrl> \tab
\par }{\fs20\ul\insrsid15942976 IP Address control}{\b\fs20\insrsid15942976 \tab }{\fs20\insrsid15942976 CIPAddressCtrl}{\b\fs20\insrsid15942976 \tab COXCoolCtrl<CIPAddressCtrl> \tab
\par }{\insrsid15942976
\par
\par For the other common controls, where additional drawing routines were required, we had to come up with new classes. Below you will find the list of all such controls and the corresponding Ultimate Toolbox classes.
\par
\par }{\b\ul\insrsid15942976 Common Control\tab MFC class\tab UTB class \tab }{\ul\insrsid15942976
\par }{\insrsid15942976
\par }{\fs20\ul\insrsid15942976 Push button }{\b\fs20\insrsid15942976 \tab \tab \tab
\par }{\fs20\ul\insrsid15942976 Check button}{\b\fs20\insrsid15942976 \tab \tab }{\fs20\insrsid15942976 CButton}{\b\fs20\insrsid15942976 \tab \tab COXCoolButton \tab
\par }{\fs20\ul\insrsid15942976 Radio button controls}{\b\fs20\insrsid15942976 \tab \tab \tab
\par }{\fs20\ul\insrsid15942976 Spin button}{\b\fs20\insrsid15942976 \tab \tab }{\fs20\insrsid15942976 CSpinButtonCtrl}{\b\fs20\insrsid15942976 \tab COXCoolSpinButtonCtrl \tab
\par }{\fs20\ul\insrsid15942976 Combo box}{\b\fs20\insrsid15942976 \tab \tab }{\fs20\insrsid15942976 CComboBox}{\b\fs20\insrsid15942976 \tab COXCoolComboBox \tab
\par }{\fs20\ul\insrsid15942976 Slider}{\b\fs20\insrsid15942976 \tab \tab \tab }{\fs20\insrsid15942976 CSliderCtrl}{\b\fs20\insrsid15942976 \tab COXCoolSliderCtrl \tab
\par }{\fs20\ul\insrsid15942976 Scroll bar}{\b\fs20\insrsid15942976 \tab \tab }{\fs20\insrsid15942976 CScrollBar}{\b\fs20\insrsid15942976 \tab COXCoolScrollBar \tab
\par }{\insrsid15942976
\par
\par We would like to emphasize again that these classes }{\b\insrsid15942976 do not}{\insrsid15942976 have any public functions of their own.\~ These implementations do not add any public functions to the standard implementation.\~
So the only change you need to worry about is in the declarations.
\par
\par All above mentioned classes can be used without any restrictions in place of the standard ones. Take look at the }{\b\insrsid15942976 CoolControls}{\insrsid15942976 sample that demonstrates th
e use of all cool controls classes. This sample can be found in }{\b\insrsid15942976 .\\Samples\\gui\\CoolControls}{\insrsid15942976
\par }{\fs20\insrsid15942976
\par }}