Artifact 21ba63c586f76d543ccadfadc81a200d13e09ea2:
0000: 23 69 66 6e 64 65 66 20 5f 4b 49 4c 49 42 5f 43 #ifndef _KILIB_C
0010: 54 52 4c 5f 48 5f 0d 0a 23 64 65 66 69 6e 65 20 TRL_H_..#define
0020: 5f 4b 49 4c 49 42 5f 43 54 52 4c 5f 48 5f 0d 0a _KILIB_CTRL_H_..
0030: 23 69 6e 63 6c 75 64 65 20 22 77 69 6e 64 6f 77 #include "window
0040: 2e 68 22 0d 0a 23 69 66 6e 64 65 66 20 5f 5f 63 .h"..#ifndef __c
0050: 63 64 6f 63 5f 5f 0d 0a 6e 61 6d 65 73 70 61 63 cdoc__..namespac
0060: 65 20 6b 69 20 7b 0d 0a 23 65 6e 64 69 66 0d 0a e ki {..#endif..
0070: 0d 0a 0d 0a 0d 0a 2f 2f 3d 3d 3d 3d 3d 3d 3d 3d ......//========
0080: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0090: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00c0: 3d 0d 0a 2f 2f 40 7b 20 40 70 6b 67 20 6b 69 2e =..//@{ @pkg ki.
00d0: 57 69 6e 64 6f 77 20 2f 2f 40 7d 0d 0a 2f 2f 40 Window //@}..//@
00e0: 7b 0d 0a 2f 2f 09 83 58 83 65 81 5b 83 5e 83 58 {..//..X.e.[.^.X
00f0: 83 6f 81 5b 0d 0a 2f 2f 40 7d 0d 0a 2f 2f 3d 3d .o.[..//@}..//==
0100: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0110: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0120: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0130: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0140: 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a 63 6c 61 73 73 =======....class
0150: 20 53 74 61 74 75 73 42 61 72 20 3a 20 70 75 62 StatusBar : pub
0160: 6c 69 63 20 57 69 6e 64 6f 77 0d 0a 7b 0d 0a 70 lic Window..{..p
0170: 75 62 6c 69 63 3a 0d 0a 0d 0a 09 53 74 61 74 75 ublic:.....Statu
0180: 73 42 61 72 28 29 3b 0d 0a 09 62 6f 6f 6c 20 43 sBar();...bool C
0190: 72 65 61 74 65 28 20 48 57 4e 44 20 70 61 72 65 reate( HWND pare
01a0: 6e 74 20 29 3b 0d 0a 09 69 6e 74 20 20 41 75 74 nt );...int Aut
01b0: 6f 52 65 73 69 7a 65 28 20 62 6f 6f 6c 20 6d 61 oResize( bool ma
01c0: 78 69 6d 69 7a 65 64 20 29 3b 0d 0a 09 76 6f 69 ximized );...voi
01d0: 64 20 53 65 74 54 65 78 74 28 20 63 6f 6e 73 74 d SetText( const
01e0: 20 54 43 48 41 52 2a 20 73 74 72 2c 20 69 6e 74 TCHAR* str, int
01f0: 20 70 61 72 74 3d 30 20 29 3b 0d 0a 09 76 6f 69 part=0 );...voi
0200: 64 20 53 65 74 54 69 70 54 65 78 74 28 20 63 6f d SetTipText( co
0210: 6e 73 74 20 54 43 48 41 52 2a 20 74 69 70 2c 20 nst TCHAR* tip,
0220: 69 6e 74 20 70 61 72 74 3d 30 20 29 3b 0d 0a 09 int part=0 );...
0230: 76 6f 69 64 20 53 65 74 50 61 72 74 73 28 20 69 void SetParts( i
0240: 6e 74 20 6e 2c 20 69 6e 74 2a 20 70 61 72 74 73 nt n, int* parts
0250: 20 29 3b 0d 0a 09 76 6f 69 64 20 53 65 74 53 74 );...void SetSt
0260: 61 74 75 73 42 61 72 56 69 73 69 62 6c 65 28 62 atusBarVisible(b
0270: 6f 6f 6c 20 62 3d 74 72 75 65 29 3b 0d 0a 0d 0a ool b=true);....
0280: 70 75 62 6c 69 63 3a 0d 0a 0d 0a 09 69 6e 74 20 public:.....int
0290: 77 69 64 74 68 28 29 20 63 6f 6e 73 74 3b 0d 0a width() const;..
02a0: 09 62 6f 6f 6c 20 69 73 53 74 61 74 75 73 42 61 .bool isStatusBa
02b0: 72 56 69 73 69 62 6c 65 28 29 20 63 6f 6e 73 74 rVisible() const
02c0: 3b 0d 0a 0d 0a 70 72 69 76 61 74 65 3a 0d 0a 0d ;....private:...
02d0: 0a 09 76 69 72 74 75 61 6c 20 62 6f 6f 6c 20 50 ..virtual bool P
02e0: 72 65 54 72 61 6e 73 6c 61 74 65 4d 65 73 73 61 reTranslateMessa
02f0: 67 65 28 20 4d 53 47 2a 20 29 3b 0d 0a 0d 0a 70 ge( MSG* );....p
0300: 72 69 76 61 74 65 3a 0d 0a 0d 0a 09 69 6e 74 20 rivate:.....int
0310: 77 69 64 74 68 5f 3b 0d 0a 09 62 6f 6f 6c 20 76 width_;...bool v
0320: 69 73 69 62 6c 65 5f 3b 0d 0a 7d 3b 0d 0a 0d 0a isible_;..};....
0330: 0d 0a 0d 0a 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ....//----------
0340: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0350: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0360: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0370: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
0380: 0a 23 69 66 6e 64 65 66 20 5f 5f 63 63 64 6f 63 .#ifndef __ccdoc
0390: 5f 5f 0d 0a 0d 0a 69 6e 6c 69 6e 65 20 69 6e 74 __....inline int
03a0: 20 53 74 61 74 75 73 42 61 72 3a 3a 77 69 64 74 StatusBar::widt
03b0: 68 28 29 20 63 6f 6e 73 74 0d 0a 09 7b 20 72 65 h() const...{ re
03c0: 74 75 72 6e 20 77 69 64 74 68 5f 3b 20 7d 0d 0a turn width_; }..
03d0: 0d 0a 69 6e 6c 69 6e 65 20 62 6f 6f 6c 20 53 74 ..inline bool St
03e0: 61 74 75 73 42 61 72 3a 3a 69 73 53 74 61 74 75 atusBar::isStatu
03f0: 73 42 61 72 56 69 73 69 62 6c 65 28 29 20 63 6f sBarVisible() co
0400: 6e 73 74 0d 0a 09 7b 20 72 65 74 75 72 6e 20 76 nst...{ return v
0410: 69 73 69 62 6c 65 5f 3b 20 7d 0d 0a 0d 0a 69 6e isible_; }....in
0420: 6c 69 6e 65 20 76 6f 69 64 20 53 74 61 74 75 73 line void Status
0430: 42 61 72 3a 3a 53 65 74 50 61 72 74 73 28 20 69 Bar::SetParts( i
0440: 6e 74 20 6e 2c 20 69 6e 74 2a 20 70 61 72 74 73 nt n, int* parts
0450: 20 29 0d 0a 09 7b 20 53 65 6e 64 4d 73 67 28 20 )...{ SendMsg(
0460: 53 42 5f 53 45 54 50 41 52 54 53 2c 20 6e 2c 20 SB_SETPARTS, n,
0470: 72 65 69 6e 74 65 72 70 72 65 74 5f 63 61 73 74 reinterpret_cast
0480: 3c 4c 50 41 52 41 4d 3e 28 70 61 72 74 73 29 20 <LPARAM>(parts)
0490: 29 3b 20 7d 0d 0a 0d 0a 69 6e 6c 69 6e 65 20 76 ); }....inline v
04a0: 6f 69 64 20 53 74 61 74 75 73 42 61 72 3a 3a 53 oid StatusBar::S
04b0: 65 74 54 65 78 74 28 20 63 6f 6e 73 74 20 54 43 etText( const TC
04c0: 48 41 52 2a 20 73 74 72 2c 20 69 6e 74 20 70 61 HAR* str, int pa
04d0: 72 74 20 29 0d 0a 09 7b 20 53 65 6e 64 4d 73 67 rt )...{ SendMsg
04e0: 28 20 53 42 5f 53 45 54 54 45 58 54 2c 20 70 61 ( SB_SETTEXT, pa
04f0: 72 74 2c 20 72 65 69 6e 74 65 72 70 72 65 74 5f rt, reinterpret_
0500: 63 61 73 74 3c 4c 50 41 52 41 4d 3e 28 73 74 72 cast<LPARAM>(str
0510: 29 20 29 3b 20 7d 0d 0a 0d 0a 69 6e 6c 69 6e 65 ) ); }....inline
0520: 20 76 6f 69 64 20 53 74 61 74 75 73 42 61 72 3a void StatusBar:
0530: 3a 53 65 74 53 74 61 74 75 73 42 61 72 56 69 73 :SetStatusBarVis
0540: 69 62 6c 65 28 62 6f 6f 6c 20 62 29 0d 0a 09 7b ible(bool b)...{
0550: 20 3a 3a 53 68 6f 77 57 69 6e 64 6f 77 28 20 68 ::ShowWindow( h
0560: 77 6e 64 28 29 2c 20 62 3f 53 57 5f 53 48 4f 57 wnd(), b?SW_SHOW
0570: 3a 53 57 5f 48 49 44 45 20 29 3b 20 76 69 73 69 :SW_HIDE ); visi
0580: 62 6c 65 5f 3d 62 3b 20 7d 0d 0a 0d 0a 0d 0a 0d ble_=b; }.......
0590: 0a 23 65 6e 64 69 66 20 2f 2f 20 5f 5f 63 63 64 .#endif // __ccd
05a0: 6f 63 5f 5f 0d 0a 2f 2f 3d 3d 3d 3d 3d 3d 3d 3d oc__..//========
05b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
05c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
05d0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
05e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
05f0: 3d 0d 0a 2f 2f 40 7b 0d 0a 2f 2f 09 83 52 83 93 =..//@{..//..R..
0600: 83 7b 83 7b 83 62 83 4e 83 58 0d 0a 2f 2f 40 7d .{.{.b.N.X..//@}
0610: 0d 0a 2f 2f 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ..//============
0620: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0630: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0640: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0650: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d =============...
0660: 0a 63 6c 61 73 73 20 43 6f 6d 62 6f 42 6f 78 20 .class ComboBox
0670: 3a 20 70 75 62 6c 69 63 20 57 69 6e 64 6f 77 0d : public Window.
0680: 0a 7b 0d 0a 70 75 62 6c 69 63 3a 0d 0a 09 65 78 .{..public:...ex
0690: 70 6c 69 63 69 74 20 43 6f 6d 62 6f 42 6f 78 28 plicit ComboBox(
06a0: 20 48 57 4e 44 20 63 62 20 29 3b 0d 0a 09 65 78 HWND cb );...ex
06b0: 70 6c 69 63 69 74 20 43 6f 6d 62 6f 42 6f 78 28 plicit ComboBox(
06c0: 20 48 57 4e 44 20 64 6c 67 2c 20 55 49 4e 54 20 HWND dlg, UINT
06d0: 69 64 20 29 3b 0d 0a 09 76 6f 69 64 20 41 64 64 id );...void Add
06e0: 28 20 63 6f 6e 73 74 20 54 43 48 41 52 2a 20 73 ( const TCHAR* s
06f0: 74 72 20 29 3b 0d 0a 09 76 6f 69 64 20 53 65 6c tr );...void Sel
0700: 65 63 74 28 20 63 6f 6e 73 74 20 54 43 48 41 52 ect( const TCHAR
0710: 2a 20 73 74 72 20 29 3b 0d 0a 09 69 6e 74 20 47 * str );...int G
0720: 65 74 43 75 72 53 65 6c 28 29 3b 0d 0a 70 72 69 etCurSel();..pri
0730: 76 61 74 65 3a 0d 0a 09 76 69 72 74 75 61 6c 20 vate:...virtual
0740: 62 6f 6f 6c 20 50 72 65 54 72 61 6e 73 6c 61 74 bool PreTranslat
0750: 65 4d 65 73 73 61 67 65 28 20 4d 53 47 2a 20 29 eMessage( MSG* )
0760: 3b 0d 0a 7d 3b 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f 2d ;..};........//-
0770: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0780: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0790: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
07a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
07b0: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 23 69 66 6e 64 65 --------..#ifnde
07c0: 66 20 5f 5f 63 63 64 6f 63 5f 5f 0d 0a 0d 0a 69 f __ccdoc__....i
07d0: 6e 6c 69 6e 65 20 43 6f 6d 62 6f 42 6f 78 3a 3a nline ComboBox::
07e0: 43 6f 6d 62 6f 42 6f 78 28 20 48 57 4e 44 20 63 ComboBox( HWND c
07f0: 62 20 29 0d 0a 09 7b 20 53 65 74 48 77 6e 64 28 b )...{ SetHwnd(
0800: 63 62 29 3b 20 7d 0d 0a 0d 0a 69 6e 6c 69 6e 65 cb); }....inline
0810: 20 43 6f 6d 62 6f 42 6f 78 3a 3a 43 6f 6d 62 6f ComboBox::Combo
0820: 42 6f 78 28 20 48 57 4e 44 20 64 6c 67 2c 20 55 Box( HWND dlg, U
0830: 49 4e 54 20 69 64 20 29 0d 0a 09 7b 20 53 65 74 INT id )...{ Set
0840: 48 77 6e 64 28 20 3a 3a 47 65 74 44 6c 67 49 74 Hwnd( ::GetDlgIt
0850: 65 6d 28 64 6c 67 2c 69 64 29 20 29 3b 20 7d 0d em(dlg,id) ); }.
0860: 0a 0d 0a 69 6e 6c 69 6e 65 20 76 6f 69 64 20 43 ...inline void C
0870: 6f 6d 62 6f 42 6f 78 3a 3a 41 64 64 28 20 63 6f omboBox::Add( co
0880: 6e 73 74 20 54 43 48 41 52 2a 20 73 74 72 20 29 nst TCHAR* str )
0890: 0d 0a 09 7b 20 53 65 6e 64 4d 73 67 28 20 43 42 ...{ SendMsg( CB
08a0: 5f 41 44 44 53 54 52 49 4e 47 2c 20 30 2c 20 72 _ADDSTRING, 0, r
08b0: 65 69 6e 74 65 72 70 72 65 74 5f 63 61 73 74 3c einterpret_cast<
08c0: 4c 50 41 52 41 4d 3e 28 73 74 72 29 20 29 3b 20 LPARAM>(str) );
08d0: 7d 0d 0a 0d 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 }....inline int
08e0: 43 6f 6d 62 6f 42 6f 78 3a 3a 47 65 74 43 75 72 ComboBox::GetCur
08f0: 53 65 6c 28 29 0d 0a 09 7b 20 72 65 74 75 72 6e Sel()...{ return
0900: 20 28 69 6e 74 29 20 53 65 6e 64 4d 73 67 28 20 (int) SendMsg(
0910: 43 42 5f 47 45 54 43 55 52 53 45 4c 20 29 3b 20 CB_GETCURSEL );
0920: 7d 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f 3d 3d 3d 3d 3d }........//=====
0930: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0940: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0950: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0960: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0970: 3d 3d 3d 3d 0d 0a 0d 0a 23 65 6e 64 69 66 20 2f ====....#endif /
0980: 2f 20 5f 5f 63 63 64 6f 63 5f 5f 0d 0a 7d 20 20 / __ccdoc__..}
0990: 20 20 20 20 2f 2f 20 6e 61 6d 65 73 70 61 63 65 // namespace
09a0: 20 6b 69 0d 0a 23 65 6e 64 69 66 20 2f 2f 20 5f ki..#endif // _
09b0: 4b 49 4c 49 42 5f 43 54 52 4c 5f 48 5f 0d 0a KILIB_CTRL_H_..