0000: 2f 2f 2d 2d 2d 20 4b 2e 49 2e 4c 49 42 20 2d 2d //--- K.I.LIB --
0010: 2d 0d 0a 2f 2f 20 6b 6c 5f 77 6e 64 2e 68 20 3a -..// kl_wnd.h :
0020: 20 77 69 6e 64 6f 77 20 69 6e 66 6f 72 6d 61 74 window informat
0030: 69 6f 6e 20 6d 61 6e 61 67 65 72 0d 0a 0d 0a 23 ion manager....#
0040: 69 66 6e 64 65 66 20 41 46 58 5f 4b 49 57 49 4e ifndef AFX_KIWIN
0050: 44 4f 57 5f 48 5f 5f 32 36 31 30 35 42 39 34 5f DOW_H__26105B94_
0060: 31 45 33 36 5f 34 32 46 41 5f 38 39 31 36 5f 43 1E36_42FA_8916_C
0070: 32 46 37 46 42 39 45 46 39 39 34 5f 5f 49 4e 43 2F7FB9EF994__INC
0080: 4c 55 44 45 44 5f 0d 0a 23 64 65 66 69 6e 65 20 LUDED_..#define
0090: 41 46 58 5f 4b 49 57 49 4e 44 4f 57 5f 48 5f 5f AFX_KIWINDOW_H__
00a0: 32 36 31 30 35 42 39 34 5f 31 45 33 36 5f 34 32 26105B94_1E36_42
00b0: 46 41 5f 38 39 31 36 5f 43 32 46 37 46 42 39 45 FA_8916_C2F7FB9E
00c0: 46 39 39 34 5f 5f 49 4e 43 4c 55 44 45 44 5f 0d F994__INCLUDED_.
00d0: 0a 0d 0a 2f 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d .../*=*=*=*=*=*=
00e0: 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d *=*=*=*=*=*=*=*=
00f0: 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d *=*=*=*=*=*=*=*=
0100: 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d *=*=*=*=*=*=*=*=
0110: 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 2f 0d 0a 2f 2f *=*=*=*=*=*/..//
0120: 20 6b 69 57 69 6e 64 6f 77 20 3a 20 57 69 6e 64 kiWindow : Wind
0130: 6f 77 82 cc 8a c8 92 50 82 c8 8a c7 97 9d 0d 0a ow.....P........
0140: 0d 0a 63 6c 61 73 73 20 6b 69 57 69 6e 64 6f 77 ..class kiWindow
0150: 0d 0a 7b 0d 0a 66 72 69 65 6e 64 20 76 6f 69 64 ..{..friend void
0160: 20 6b 69 6c 69 62 5f 73 74 61 72 74 55 70 28 29 kilib_startUp()
0170: 3b 0d 0a 0d 0a 70 72 69 76 61 74 65 3a 20 2f 2f ;....private: //
0180: 2d 2d 20 83 4f 83 8d 81 5b 83 6f 83 8b 82 c8 8f -- .O...[.o.....
0190: 89 8a fa 89 bb 8f 88 97 9d 82 c8 82 c7 20 2d 2d ............. --
01a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
01b0: 2d 2d 2d 0d 0a 0d 0a 09 73 74 61 74 69 63 20 76 ---.....static v
01c0: 6f 69 64 20 69 6e 69 74 28 29 3b 0d 0a 09 73 74 oid init();...st
01d0: 61 74 69 63 20 76 6f 69 64 20 66 69 6e 69 73 68 atic void finish
01e0: 28 29 3b 0d 0a 0d 0a 70 75 62 6c 69 63 3a 20 2f ();....public: /
01f0: 2f 2d 2d 20 8a 4f 8c fc 82 ab 83 43 83 93 83 5e /-- .O.....C...^
0200: 81 5b 83 74 83 46 83 43 83 58 20 2d 2d 2d 2d 2d .[.t.F.C.X -----
0210: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0220: 2d 2d 2d 2d 2d 0d 0a 0d 0a 09 2f 2f 20 8a d6 98 -----.....// ...
0230: 41 95 74 82 af 82 e7 82 ea 82 c4 82 a2 82 e9 48 A.t............H
0240: 57 4e 44 0d 0a 09 48 57 4e 44 20 68 77 6e 64 28 WND...HWND hwnd(
0250: 29 0d 0a 09 09 7b 0d 0a 09 09 09 72 65 74 75 72 )....{.....retur
0260: 6e 20 6d 5f 68 57 6e 64 3b 0d 0a 09 09 7d 0d 0a n m_hWnd;....}..
0270: 0d 0a 09 2f 2f 20 82 bb 82 cc 57 69 6e 64 6f 77 ...// ....Window
0280: 97 70 82 c9 83 41 83 4e 83 5a 83 89 83 8c 81 5b .p...A.N.Z.....[
0290: 83 5e 82 f0 83 8d 81 5b 83 68 0d 0a 09 76 6f 69 .^.....[.h...voi
02a0: 64 20 6c 6f 61 64 41 63 63 65 6c 28 20 55 49 4e d loadAccel( UIN
02b0: 54 20 69 64 20 29 3b 0d 0a 0d 0a 09 2f 2f 20 83 T id );.....// .
02c0: 45 83 43 83 93 83 68 83 45 82 aa 82 dc 82 be 8e E.C...h.E.......
02d0: 63 82 c1 82 c4 82 a2 82 e9 82 a9 82 c7 82 a4 82 c...............
02e0: a9 83 60 83 46 83 62 83 4e 0d 0a 09 62 6f 6f 6c ..`.F.b.N...bool
02f0: 20 69 73 41 6c 69 76 65 28 29 0d 0a 09 09 7b 0d isAlive()....{.
0300: 0a 09 09 09 69 66 28 20 21 6d 5f 68 57 6e 64 20 ....if( !m_hWnd
0310: 29 0d 0a 09 09 09 09 72 65 74 75 72 6e 20 66 61 )......return fa
0320: 6c 73 65 3b 0d 0a 09 09 09 69 66 28 20 3a 3a 49 lse;.....if( ::I
0330: 73 57 69 6e 64 6f 77 28 6d 5f 68 57 6e 64 29 20 sWindow(m_hWnd)
0340: 29 0d 0a 09 09 09 09 72 65 74 75 72 6e 20 74 72 )......return tr
0350: 75 65 3b 0d 0a 09 09 09 6d 5f 68 57 6e 64 20 3d ue;.....m_hWnd =
0360: 20 4e 55 4c 4c 3b 0d 0a 09 09 09 72 65 74 75 72 NULL;.....retur
0370: 6e 20 66 61 6c 73 65 3b 0d 0a 09 09 7d 0d 0a 0d n false;....}...
0380: 0a 09 2f 2f 20 90 65 0d 0a 09 6b 69 57 69 6e 64 ..// .e...kiWind
0390: 6f 77 2a 20 70 61 72 65 6e 74 28 29 0d 0a 09 09 ow* parent()....
03a0: 7b 0d 0a 09 09 09 72 65 74 75 72 6e 20 6b 69 77 {.....return kiw
03b0: 6e 64 28 20 3a 3a 47 65 74 50 61 72 65 6e 74 28 nd( ::GetParent(
03c0: 20 68 77 6e 64 28 29 20 29 20 29 3b 0d 0a 09 09 hwnd() ) );....
03d0: 7d 0d 0a 0d 0a 09 2f 2f 20 83 81 83 62 83 5a 81 }.....// ...b.Z.
03e0: 5b 83 57 91 97 90 4d 0d 0a 09 69 6e 74 20 73 65 [.W...M...int se
03f0: 6e 64 4d 73 67 28 20 55 49 4e 54 20 6d 73 67 2c ndMsg( UINT msg,
0400: 20 57 50 41 52 41 4d 20 77 70 3d 30 2c 20 4c 50 WPARAM wp=0, LP
0410: 41 52 41 4d 20 6c 70 3d 30 20 29 0d 0a 09 09 7b ARAM lp=0 )....{
0420: 0d 0a 09 09 09 72 65 74 75 72 6e 20 3a 3a 53 65 .....return ::Se
0430: 6e 64 4d 65 73 73 61 67 65 28 20 68 77 6e 64 28 ndMessage( hwnd(
0440: 29 2c 20 6d 73 67 2c 20 77 70 2c 20 6c 70 20 29 ), msg, wp, lp )
0450: 3b 0d 0a 09 09 7d 0d 0a 0d 0a 09 2f 2f 20 5b 73 ;....}.....// [s
0460: 74 61 74 69 63 5d 20 83 4c 83 85 81 5b 82 c9 82 tatic] .L...[...
0470: a0 82 e9 83 81 83 62 83 5a 81 5b 83 57 82 f0 91 ......b.Z.[.W...
0480: 53 82 c4 8f 88 97 9d 0d 0a 09 73 74 61 74 69 63 S.........static
0490: 20 76 6f 69 64 20 6d 73 67 28 29 3b 0d 0a 0d 0a void msg();....
04a0: 09 2f 2f 20 5b 73 74 61 74 69 63 5d 20 83 81 83 .// [static] ...
04b0: 62 83 5a 81 5b 83 57 83 8b 81 5b 83 76 82 f0 82 b.Z.[.W...[.v...
04c0: dc 82 ed 82 b7 81 42 0d 0a 09 65 6e 75 6d 20 6d ......B...enum m
04d0: 73 67 6c 6f 6f 70 74 79 70 65 20 7b 50 45 45 4b sglooptype {PEEK
04e0: 2c 20 47 45 54 7d 3b 0d 0a 09 73 74 61 74 69 63 , GET};...static
04f0: 20 76 6f 69 64 20 6d 73 67 4c 6f 6f 70 28 20 6d void msgLoop( m
0500: 73 67 6c 6f 6f 70 74 79 70 65 20 74 79 70 65 20 sglooptype type
0510: 3d 20 47 45 54 20 29 3b 0d 0a 0d 0a 09 2f 2f 20 = GET );.....//
0520: 5b 73 74 61 74 69 63 5d 20 57 69 6e 64 6f 77 82 [static] Window.
0530: f0 8b ad 90 a7 93 49 82 c9 20 66 72 6f 6e 74 20 ......I.. front
0540: 82 d6 0d 0a 09 73 74 61 74 69 63 20 76 6f 69 64 .....static void
0550: 20 73 65 74 46 72 6f 6e 74 28 20 48 57 4e 44 20 setFront( HWND
0560: 77 6e 64 20 29 3b 0d 0a 0d 0a 09 2f 2f 20 5b 73 wnd );.....// [s
0570: 74 61 74 69 63 5d 20 57 69 6e 64 6f 77 82 f0 92 tatic] Window...
0580: 86 89 9b 82 d6 0d 0a 09 73 74 61 74 69 63 20 76 ........static v
0590: 6f 69 64 20 73 65 74 43 65 6e 74 65 72 28 20 48 oid setCenter( H
05a0: 57 4e 44 20 77 6e 64 2c 20 48 57 4e 44 20 72 65 WND wnd, HWND re
05b0: 6c 3d 4e 55 4c 4c 20 29 3b 0d 0a 0d 0a 09 2f 2f l=NULL );.....//
05c0: 20 5b 73 74 61 74 69 63 5d 20 48 57 4e 44 20 2d [static] HWND -
05d0: 3e 20 6b 69 57 69 6e 64 6f 77 20 28 20 82 e0 82 > kiWindow ( ...
05e0: b5 82 a0 82 ea 82 ce 20 29 0d 0a 09 73 74 61 74 ....... )...stat
05f0: 69 63 20 6b 69 57 69 6e 64 6f 77 2a 20 6b 69 77 ic kiWindow* kiw
0600: 6e 64 28 20 48 57 4e 44 20 77 6e 64 20 29 0d 0a nd( HWND wnd )..
0610: 09 09 7b 0d 0a 09 09 09 6b 69 57 69 6e 64 6f 77 ..{.....kiWindow
0620: 2a 20 70 74 72 20 3d 20 28 6b 69 57 69 6e 64 6f * ptr = (kiWindo
0630: 77 2a 29 3a 3a 47 65 74 57 69 6e 64 6f 77 4c 6f w*)::GetWindowLo
0640: 6e 67 28 20 77 6e 64 2c 20 47 57 4c 5f 55 53 45 ng( wnd, GWL_USE
0650: 52 44 41 54 41 20 29 3b 0d 0a 09 09 09 69 66 28 RDATA );.....if(
0660: 20 21 70 74 72 20 29 20 72 65 74 75 72 6e 20 4e !ptr ) return N
0670: 55 4c 4c 3b 0d 0a 09 09 09 69 66 28 20 3a 3a 49 ULL;.....if( ::I
0680: 73 42 61 64 43 6f 64 65 50 74 72 28 28 46 41 52 sBadCodePtr((FAR
0690: 50 52 4f 43 29 26 70 74 72 29 20 29 20 72 65 74 PROC)&ptr) ) ret
06a0: 75 72 6e 20 4e 55 4c 4c 3b 0d 0a 09 09 09 72 65 urn NULL;.....re
06b0: 74 75 72 6e 20 70 74 72 3b 0d 0a 09 09 7d 0d 0a turn ptr;....}..
06c0: 0d 0a 70 72 6f 74 65 63 74 65 64 3a 20 2f 2f 2d ..protected: //-
06d0: 2d 20 94 68 90 b6 83 4e 83 89 83 58 8c fc 82 af - .h...N...X....
06e0: 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ---------------
06f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a --------------..
0700: 0d 0a 09 2f 2f 20 94 68 90 b6 83 4e 83 89 83 58 ...// .h...N...X
0710: 82 cd 81 41 8d ec 90 ac 92 bc 91 4f 82 c9 83 52 ...A.......O...R
0720: 83 8c 82 f0 8c c4 82 d4 82 b1 82 c6 81 42 0d 0a .............B..
0730: 09 73 74 61 74 69 63 20 76 6f 69 64 20 70 72 65 .static void pre
0740: 43 72 65 61 74 65 28 20 6b 69 57 69 6e 64 6f 77 Create( kiWindow
0750: 2a 20 77 6e 64 20 29 0d 0a 09 09 7b 20 73 74 5f * wnd )....{ st_
0760: 70 43 75 72 49 6e 69 74 20 3d 20 77 6e 64 3b 20 pCurInit = wnd;
0770: 7d 0d 0a 09 2f 2f 20 94 6a 8a fc 92 bc 91 4f 82 }...// .j.....O.
0780: c9 83 52 83 8c 82 f0 8c c4 82 d4 82 b1 82 c6 81 ..R.............
0790: 42 0d 0a 09 76 6f 69 64 20 64 65 74 61 63 68 48 B...void detachH
07a0: 77 6e 64 28 29 3b 0d 0a 09 2f 2f 20 82 a2 82 c1 wnd();...// ....
07b0: 82 bd 82 f1 47 45 54 2f 50 4f 53 54 83 81 83 62 ....GET/POST...b
07c0: 83 5a 81 5b 83 57 83 8b 81 5b 83 76 82 f0 92 e2 .Z.[.W...[.v....
07d0: 8e 7e 0d 0a 09 73 74 61 74 69 63 20 76 6f 69 64 .~...static void
07e0: 20 6c 6f 6f 70 62 72 65 61 6b 28 29 0d 0a 09 09 loopbreak()....
07f0: 7b 0d 0a 09 09 09 6c 6f 6f 70 62 72 65 61 6b 65 {.....loopbreake
0800: 72 20 3d 20 74 72 75 65 3b 0d 0a 09 09 7d 0d 0a r = true;....}..
0810: 0d 0a 70 72 69 76 61 74 65 3a 20 2f 2f 2d 2d 20 ..private: //--
0820: 93 e0 95 94 8f 88 97 9d 20 2d 2d 2d 2d 2d 2d 2d ........ -------
0830: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0840: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a --------------..
0850: 0d 0a 09 2f 2f 20 83 45 83 43 83 93 83 68 83 45 ...// .E.C...h.E
0860: 83 6e 83 93 83 68 83 8b 90 dd 92 e8 0d 0a 09 73 .n...h.........s
0870: 74 61 74 69 63 20 4c 52 45 53 55 4c 54 20 43 41 tatic LRESULT CA
0880: 4c 4c 42 41 43 4b 20 43 42 54 50 72 6f 63 28 20 LLBACK CBTProc(
0890: 69 6e 74 20 63 6f 64 65 2c 20 57 50 41 52 41 4d int code, WPARAM
08a0: 20 77 70 2c 20 4c 50 41 52 41 4d 20 6c 70 20 29 wp, LPARAM lp )
08b0: 3b 0d 0a 09 73 74 61 74 69 63 20 48 48 4f 4f 4b ;...static HHOOK
08c0: 20 73 74 5f 68 48 6f 6f 6b 3b 0d 0a 09 73 74 61 st_hHook;...sta
08d0: 74 69 63 20 6b 69 57 69 6e 64 6f 77 2a 20 73 74 tic kiWindow* st
08e0: 5f 70 43 75 72 49 6e 69 74 3b 0d 0a 09 76 6f 69 _pCurInit;...voi
08f0: 64 20 73 65 74 48 77 6e 64 28 20 48 57 4e 44 20 d setHwnd( HWND
0900: 77 6e 64 20 29 0d 0a 09 09 7b 0d 0a 09 09 09 6d wnd )....{.....m
0910: 5f 68 57 6e 64 20 3d 20 77 6e 64 3b 0d 0a 09 09 _hWnd = wnd;....
0920: 7d 0d 0a 0d 0a 09 2f 2f 20 83 45 83 43 83 93 83 }.....// .E.C...
0930: 68 83 45 8f ee 95 f1 95 db 8e 9d 97 70 95 cf 90 h.E.........p...
0940: 94 0d 0a 09 48 57 4e 44 20 6d 5f 68 57 6e 64 3b ....HWND m_hWnd;
0950: 0d 0a 09 48 41 43 43 45 4c 20 6d 5f 68 41 63 63 ...HACCEL m_hAcc
0960: 65 6c 3b 0d 0a 09 2f 2f 20 83 5f 83 43 83 41 83 el;...// ._.C.A.
0970: 8d 83 4f 83 81 83 62 83 5a 81 5b 83 57 0d 0a 09 ..O...b.Z.[.W...
0980: 76 69 72 74 75 61 6c 20 62 6f 6f 6c 20 69 73 44 virtual bool isD
0990: 6c 67 4d 73 67 28 20 4d 53 47 2a 20 6d 73 67 20 lgMsg( MSG* msg
09a0: 29 0d 0a 09 09 7b 20 72 65 74 75 72 6e 20 66 61 )....{ return fa
09b0: 6c 73 65 3b 20 7d 0d 0a 09 2f 2f 20 47 45 54 83 lse; }...// GET.
09c0: 8b 81 5b 83 76 88 ea 8e 9e 94 b2 82 af 82 be 82 ..[.v...........
09d0: b5 0d 0a 09 73 74 61 74 69 63 20 62 6f 6f 6c 20 ....static bool
09e0: 6c 6f 6f 70 62 72 65 61 6b 65 72 3b 0d 0a 0d 0a loopbreaker;....
09f0: 70 72 6f 74 65 63 74 65 64 3a 0d 0a 09 6b 69 57 protected:...kiW
0a00: 69 6e 64 6f 77 28 29 3b 0d 0a 70 75 62 6c 69 63 indow();..public
0a10: 3a 0d 0a 09 76 69 72 74 75 61 6c 20 7e 6b 69 57 :...virtual ~kiW
0a20: 69 6e 64 6f 77 28 29 3b 0d 0a 7d 3b 0d 0a 0d 0a indow();..};....
0a30: 2f 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a /*=*=*=*=*=*=*=*
0a40: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a =*=*=*=*=*=*=*=*
0a50: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a =*=*=*=*=*=*=*=*
0a60: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a =*=*=*=*=*=*=*=*
0a70: 3d 2a 3d 2a 3d 2a 3d 2a 2f 0d 0a 2f 2f 20 6b 69 =*=*=*=*/..// ki
0a80: 44 69 61 6c 6f 67 20 3a 20 44 69 61 6c 6f 67 82 Dialog : Dialog.
0a90: f0 6b 69 57 69 6e 64 6f 77 82 c6 82 b5 82 c4 8a .kiWindow.......
0aa0: c7 97 9d 82 b7 82 e9 0d 0a 0d 0a 63 6c 61 73 73 ...........class
0ab0: 20 6b 69 44 69 61 6c 6f 67 20 3a 20 70 75 62 6c kiDialog : publ
0ac0: 69 63 20 6b 69 57 69 6e 64 6f 77 0d 0a 7b 0d 0a ic kiWindow..{..
0ad0: 70 75 62 6c 69 63 3a 20 2f 2f 2d 2d 20 8a 4f 8c public: //-- .O.
0ae0: fc 82 ab 83 43 83 93 83 5e 81 5b 83 74 83 46 83 ....C...^.[.t.F.
0af0: 43 83 58 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d C.X ------------
0b00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a --------------..
0b10: 0d 0a 09 2f 2f 20 83 82 81 5b 83 5f 83 8b 83 5f ...// ...[._..._
0b20: 83 43 83 41 83 8d 83 4f 82 c6 82 b5 82 c4 8e c0 .C.A...O........
0b30: 8d 73 0d 0a 09 76 69 72 74 75 61 6c 20 76 6f 69 .s...virtual voi
0b40: 64 20 64 6f 4d 6f 64 61 6c 28 20 48 57 4e 44 20 d doModal( HWND
0b50: 70 61 72 65 6e 74 3d 4e 55 4c 4c 20 29 3b 0d 0a parent=NULL );..
0b60: 0d 0a 09 2f 2f 20 83 82 81 5b 83 68 83 8c 83 58 ...// ...[.h...X
0b70: 83 5f 83 43 83 41 83 8d 83 4f 82 c6 82 b5 82 c4 ._.C.A...O......
0b80: 8d ec 90 ac 0d 0a 09 76 69 72 74 75 61 6c 20 76 .......virtual v
0b90: 6f 69 64 20 63 72 65 61 74 65 4d 6f 64 65 6c 65 oid createModele
0ba0: 73 73 28 20 48 57 4e 44 20 70 61 72 65 6e 74 3d ss( HWND parent=
0bb0: 4e 55 4c 4c 20 29 3b 0d 0a 0d 0a 09 2f 2f 20 8f NULL );.....// .
0bc0: 49 97 b9 83 52 81 5b 83 68 8e e6 93 be 0d 0a 09 I...R.[.h.......
0bd0: 55 49 4e 54 20 67 65 74 45 6e 64 43 6f 64 65 28 UINT getEndCode(
0be0: 29 0d 0a 09 09 7b 0d 0a 09 09 09 72 65 74 75 72 )....{.....retur
0bf0: 6e 20 6d 5f 45 6e 64 43 6f 64 65 3b 0d 0a 09 09 n m_EndCode;....
0c00: 7d 0d 0a 0d 0a 09 2f 2f 20 83 82 81 5b 83 5f 83 }.....// ...[._.
0c10: 8b 82 a9 94 db 82 a9 0d 0a 09 62 6f 6f 6c 20 69 ..........bool i
0c20: 73 4d 6f 64 61 6c 28 29 0d 0a 09 09 7b 0d 0a 09 sModal()....{...
0c30: 09 09 72 65 74 75 72 6e 20 6d 5f 62 53 74 61 74 ..return m_bStat
0c40: 65 4d 6f 64 61 6c 3b 0d 0a 09 09 7d 0d 0a 0d 0a eModal;....}....
0c50: 09 2f 2f 20 83 5f 83 43 83 41 83 8d 83 4f 83 41 .// ._.C.A...O.A
0c60: 83 43 83 65 83 80 0d 0a 09 69 6e 74 20 73 65 6e .C.e.....int sen
0c70: 64 4d 73 67 54 6f 49 74 65 6d 28 20 55 49 4e 54 dMsgToItem( UINT
0c80: 20 69 64 2c 20 55 49 4e 54 20 6d 73 67 2c 20 57 id, UINT msg, W
0c90: 50 41 52 41 4d 20 77 70 3d 30 2c 20 4c 50 41 52 PARAM wp=0, LPAR
0ca0: 41 4d 20 6c 70 3d 30 20 29 0d 0a 09 09 7b 0d 0a AM lp=0 )....{..
0cb0: 09 09 09 72 65 74 75 72 6e 20 3a 3a 53 65 6e 64 ...return ::Send
0cc0: 44 6c 67 49 74 65 6d 4d 65 73 73 61 67 65 28 20 DlgItemMessage(
0cd0: 68 77 6e 64 28 29 2c 20 69 64 2c 20 6d 73 67 2c hwnd(), id, msg,
0ce0: 20 77 70 2c 20 6c 70 20 29 3b 0d 0a 09 09 7d 0d wp, lp );....}.
0cf0: 0a 09 48 57 4e 44 20 69 74 65 6d 28 20 55 49 4e ..HWND item( UIN
0d00: 54 20 69 64 20 29 0d 0a 09 09 7b 0d 0a 09 09 09 T id )....{.....
0d10: 72 65 74 75 72 6e 20 3a 3a 47 65 74 44 6c 67 49 return ::GetDlgI
0d20: 74 65 6d 28 20 68 77 6e 64 28 29 2c 20 69 64 20 tem( hwnd(), id
0d30: 29 3b 0d 0a 09 09 7d 0d 0a 0d 0a 70 72 6f 74 65 );....}....prote
0d40: 63 74 65 64 3a 20 2f 2f 2d 2d 20 94 68 90 b6 83 cted: //-- .h...
0d50: 4e 83 89 83 58 8c fc 82 af 20 2d 2d 2d 2d 2d 2d N...X.... ------
0d60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0d70: 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 09 2f 2f 20 83 -------.....// .
0d80: 8a 83 5c 81 5b 83 58 49 44 82 c5 8f 89 8a fa 89 ..\.[.XID.......
0d90: bb 0d 0a 09 6b 69 44 69 61 6c 6f 67 28 20 55 49 ....kiDialog( UI
0da0: 4e 54 20 69 64 20 29 3b 0d 0a 0d 0a 09 2f 2f 20 NT id );.....//
0db0: 83 8a 83 5c 81 5b 83 58 49 44 8e e6 93 be 0d 0a ...\.[.XID......
0dc0: 09 55 49 4e 54 20 67 65 74 52 73 72 63 49 44 28 .UINT getRsrcID(
0dd0: 29 0d 0a 09 09 7b 0d 0a 09 09 09 72 65 74 75 72 )....{.....retur
0de0: 6e 20 6d 5f 52 73 72 63 3b 0d 0a 09 09 7d 0d 0a n m_Rsrc;....}..
0df0: 0d 0a 09 2f 2f 20 8f 49 97 b9 83 52 81 5b 83 68 ...// .I...R.[.h
0e00: 82 f0 83 5a 83 62 83 67 0d 0a 09 76 6f 69 64 20 ...Z.b.g...void
0e10: 73 65 74 45 6e 64 43 6f 64 65 28 20 55 49 4e 54 setEndCode( UINT
0e20: 20 65 6e 64 63 6f 64 65 20 29 0d 0a 09 09 7b 0d endcode )....{.
0e30: 0a 09 09 09 6d 5f 45 6e 64 43 6f 64 65 20 3d 20 ....m_EndCode =
0e40: 65 6e 64 63 6f 64 65 3b 0d 0a 09 09 7d 0d 0a 0d endcode;....}...
0e50: 0a 09 2f 2f 20 83 82 81 5b 83 5f 83 8b 82 a9 94 ..// ...[._.....
0e60: db 82 a9 82 cc 83 74 83 89 83 4f 22 82 cc 82 dd ......t...O"....
0e70: 22 82 f0 90 d8 91 d6 0d 0a 09 76 6f 69 64 20 73 ".........void s
0e80: 65 74 53 74 61 74 65 28 20 62 6f 6f 6c 20 6d 6f etState( bool mo
0e90: 64 61 6c 20 29 0d 0a 09 09 7b 0d 0a 09 09 09 6d dal )....{.....m
0ea0: 5f 62 53 74 61 74 65 4d 6f 64 61 6c 20 3d 20 6d _bStateModal = m
0eb0: 6f 64 61 6c 3b 0d 0a 09 09 7d 0d 0a 0d 0a 09 2f odal;....}...../
0ec0: 2f 20 8f 49 97 b9 83 52 81 5b 83 68 82 f0 83 5a / .I...R.[.h...Z
0ed0: 83 62 83 67 82 b5 82 c4 81 41 8f 49 97 b9 82 b7 .b.g.....A.I....
0ee0: 82 e9 28 20 49 44 4f 4b 20 82 f0 93 6e 82 b5 82 ..( IDOK ...n...
0ef0: c4 82 e0 20 6f 6e 4f 4b 28 29 20 82 cd 8c c4 82 ... onOK() .....
0f00: ce 82 ea 82 c8 82 a2 82 b1 82 c6 82 c9 92 8d 88 ................
0f10: d3 81 49 20 29 0d 0a 09 76 69 72 74 75 61 6c 20 ..I )...virtual
0f20: 76 6f 69 64 20 65 6e 64 28 20 55 49 4e 54 20 65 void end( UINT e
0f30: 6e 64 63 6f 64 65 20 29 3b 0d 0a 0d 0a 09 2f 2f ndcode );.....//
0f40: 20 83 52 83 7d 83 93 83 68 81 45 83 81 83 62 83 .R.}...h.E...b.
0f50: 5a 81 5b 83 57 94 ad 90 b6 8e 9e 82 c9 8c c4 82 Z.[.W...........
0f60: ce 82 ea 82 e9 0d 0a 0d 0a 09 09 2f 2f 20 82 6e ...........// .n
0f70: 82 6a 20 2d 3e 20 6f 6e 4f 4b 20 20 20 20 20 2d .j -> onOK -
0f80: 3e 20 69 66 20 74 72 75 65 20 65 6e 64 28 49 44 > if true end(ID
0f90: 4f 4b 29 0d 0a 09 09 76 69 72 74 75 61 6c 20 62 OK)....virtual b
0fa0: 6f 6f 6c 20 6f 6e 4f 4b 28 29 20 7b 72 65 74 75 ool onOK() {retu
0fb0: 72 6e 20 74 72 75 65 3b 7d 0d 0a 09 09 2f 2f 20 rn true;}....//
0fc0: 8e e6 8f c1 20 2d 3e 20 6f 6e 43 61 6e 63 65 6c .... -> onCancel
0fd0: 20 2d 3e 20 69 66 20 74 72 75 65 20 65 6e 64 28 -> if true end(
0fe0: 49 44 43 41 4e 43 45 4c 29 0d 0a 09 09 76 69 72 IDCANCEL)....vir
0ff0: 74 75 61 6c 20 62 6f 6f 6c 20 6f 6e 43 61 6e 63 tual bool onCanc
1000: 65 6c 28 29 20 7b 72 65 74 75 72 6e 20 74 72 75 el() {return tru
1010: 65 3b 7d 0d 0a 09 09 2f 2f 20 57 4d 5f 49 4e 49 e;}....// WM_INI
1020: 54 44 49 41 4c 4f 47 20 20 20 20 20 20 2d 3e 20 TDIALOG ->
1030: 6f 6e 49 6e 69 74 0d 0a 09 09 76 69 72 74 75 61 onInit....virtua
1040: 6c 20 42 4f 4f 4c 20 6f 6e 49 6e 69 74 28 29 20 l BOOL onInit()
1050: 7b 72 65 74 75 72 6e 20 46 41 4c 53 45 3b 7d 0d {return FALSE;}.
1060: 0a 09 09 2f 2f 20 57 4d 5f 3f 3f 3f 3f 20 20 20 ...// WM_????
1070: 20 20 20 20 20 20 20 20 20 2d 3e 20 70 72 6f 63 -> proc
1080: 0d 0a 09 09 76 69 72 74 75 61 6c 20 42 4f 4f 4c ....virtual BOOL
1090: 20 43 41 4c 4c 42 41 43 4b 20 70 72 6f 63 28 20 CALLBACK proc(
10a0: 55 49 4e 54 20 6d 73 67 2c 20 57 50 41 52 41 4d UINT msg, WPARAM
10b0: 20 77 70 2c 20 4c 50 41 52 41 4d 20 6c 70 20 29 wp, LPARAM lp )
10c0: 20 7b 72 65 74 75 72 6e 20 46 41 4c 53 45 3b 7d {return FALSE;}
10d0: 0d 0a 0d 0a 70 72 69 76 61 74 65 3a 20 2f 2f 2d ....private: //-
10e0: 2d 20 93 e0 95 94 8f 88 97 9d 20 2d 2d 2d 2d 2d - ........ -----
10f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1100: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1110: 0d 0a 0d 0a 09 55 49 4e 54 20 6d 5f 45 6e 64 43 .....UINT m_EndC
1120: 6f 64 65 3b 0d 0a 09 55 49 4e 54 20 6d 5f 52 73 ode;...UINT m_Rs
1130: 72 63 3b 0d 0a 09 62 6f 6f 6c 20 6d 5f 62 53 74 rc;...bool m_bSt
1140: 61 74 65 4d 6f 64 61 6c 3b 0d 0a 09 62 6f 6f 6c ateModal;...bool
1150: 20 69 73 44 6c 67 4d 73 67 28 20 4d 53 47 2a 20 isDlgMsg( MSG*
1160: 6d 73 67 20 29 0d 0a 09 09 7b 0d 0a 09 09 09 72 msg )....{.....r
1170: 65 74 75 72 6e 20 28 46 41 4c 53 45 21 3d 3a 3a eturn (FALSE!=::
1180: 49 73 44 69 61 6c 6f 67 4d 65 73 73 61 67 65 28 IsDialogMessage(
1190: 20 68 77 6e 64 28 29 2c 20 6d 73 67 20 29 29 3b hwnd(), msg ));
11a0: 0d 0a 09 09 7d 0d 0a 09 73 74 61 74 69 63 20 42 ....}...static B
11b0: 4f 4f 4c 20 43 41 4c 4c 42 41 43 4b 20 63 6f 6d OOL CALLBACK com
11c0: 6d 6f 6e 44 6c 67 28 20 48 57 4e 44 20 64 6c 67 monDlg( HWND dlg
11d0: 2c 20 55 49 4e 54 20 6d 73 67 2c 20 57 50 41 52 , UINT msg, WPAR
11e0: 41 4d 20 77 70 2c 20 4c 50 41 52 41 4d 20 6c 70 AM wp, LPARAM lp
11f0: 20 29 3b 0d 0a 7d 3b 0d 0a 0d 0a 2f 2a 3d 2a 3d );..};..../*=*=
1200: 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d *=*=*=*=*=*=*=*=
1210: 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d *=*=*=*=*=*=*=*=
1220: 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d *=*=*=*=*=*=*=*=
1230: 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d *=*=*=*=*=*=*=*=
1240: 2a 3d 2a 2f 0d 0a 2f 2f 20 6b 69 50 72 6f 70 53 *=*/..// kiPropS
1250: 68 65 65 74 20 3a 20 50 72 6f 70 65 72 74 79 53 heet : PropertyS
1260: 68 65 65 74 82 f0 6b 69 57 69 6e 64 6f 77 82 c6 heet..kiWindow..
1270: 82 b5 82 c4 8a c7 97 9d 82 b7 82 e9 81 42 0d 0a .............B..
1280: 0d 0a 23 64 65 66 69 6e 65 20 49 44 41 50 50 4c ..#define IDAPPL
1290: 59 20 20 20 20 20 20 28 30 78 33 30 32 31 29 0d Y (0x3021).
12a0: 0a 23 64 65 66 69 6e 65 20 49 44 5f 4b 49 50 53 .#define ID_KIPS
12b0: 5f 48 45 4c 50 20 28 30 78 30 30 30 39 29 0d 0a _HELP (0x0009)..
12c0: 0d 0a 63 6c 61 73 73 20 6b 69 50 72 6f 70 53 68 ..class kiPropSh
12d0: 65 65 74 50 61 67 65 20 3a 20 70 75 62 6c 69 63 eetPage : public
12e0: 20 6b 69 44 69 61 6c 6f 67 0d 0a 7b 0d 0a 66 72 kiDialog..{..fr
12f0: 69 65 6e 64 20 63 6c 61 73 73 20 6b 69 50 72 6f iend class kiPro
1300: 70 53 68 65 65 74 3b 0d 0a 0d 0a 70 72 6f 74 65 pSheet;....prote
1310: 63 74 65 64 3a 20 2f 2f 2d 2d 20 94 68 90 b6 83 cted: //-- .h...
1320: 4e 83 89 83 58 8c fc 82 af 20 2d 2d 2d 2d 2d 2d N...X.... ------
1330: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1340: 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 09 2f 2f 20 83 5f ------.....// ._
1350: 83 43 83 41 83 8d 83 4f 82 e2 83 41 83 43 83 52 .C.A...O...A.C.R
1360: 83 93 82 cc 49 44 82 c5 8f 89 8a fa 89 bb 0d 0a ....ID..........
1370: 09 6b 69 50 72 6f 70 53 68 65 65 74 50 61 67 65 .kiPropSheetPage
1380: 28 20 55 49 4e 54 20 64 6c 67 69 64 20 29 0d 0a ( UINT dlgid )..
1390: 09 09 3a 20 6b 69 44 69 61 6c 6f 67 28 20 64 6c ..: kiDialog( dl
13a0: 67 69 64 20 29 2c 20 6d 5f 68 49 63 6f 6e 28 20 gid ), m_hIcon(
13b0: 4e 55 4c 4c 20 29 20 7b 7d 0d 0a 09 76 6f 69 64 NULL ) {}...void
13c0: 20 73 65 74 49 63 6f 6e 28 20 48 49 43 4f 4e 20 setIcon( HICON
13d0: 68 20 29 0d 0a 09 09 7b 20 6d 5f 68 49 63 6f 6e h )....{ m_hIcon
13e0: 20 3d 20 68 3b 20 7d 0d 0a 0d 0a 09 2f 2f 20 82 = h; }.....// .
13f0: 6e 82 6a 2f 93 4b 97 70 20 2d 3e 20 70 61 67 65 n.j/.K.p -> page
1400: 3a 3a 6f 6e 4f 4b 20 2d 3e 20 73 68 65 65 74 3a ::onOK -> sheet:
1410: 3a 6f 6e 4f 4b 20 2d 3e 20 28 69 66 20 6f 6b 20 :onOK -> (if ok
1420: 8f 49 97 b9 29 0d 0a 09 2f 2f 20 76 69 72 74 75 .I..)...// virtu
1430: 61 6c 20 62 6f 6f 6c 20 6f 6e 4f 4b 28 29 0d 0a al bool onOK()..
1440: 09 2f 2f 20 57 4d 5f 49 4e 49 54 44 49 41 4c 4f .// WM_INITDIALO
1450: 47 0d 0a 09 2f 2f 20 76 69 72 74 75 61 6c 20 42 G...// virtual B
1460: 4f 4f 4c 20 6f 6e 49 6e 69 74 28 29 0d 0a 09 2f OOL onInit().../
1470: 2f 20 82 bb 82 cc 91 bc 0d 0a 09 2f 2f 20 76 69 / .........// vi
1480: 72 74 75 61 6c 20 42 4f 4f 4c 20 43 41 4c 4c 42 rtual BOOL CALLB
1490: 41 43 4b 20 70 72 6f 63 28 20 55 49 4e 54 20 6d ACK proc( UINT m
14a0: 73 67 2c 20 57 50 41 52 41 4d 20 77 70 2c 20 4c sg, WPARAM wp, L
14b0: 50 41 52 41 4d 20 6c 70 20 29 0d 0a 0d 0a 70 72 PARAM lp )....pr
14c0: 69 76 61 74 65 3a 20 2f 2f 2d 2d 20 93 e0 95 94 ivate: //-- ....
14d0: 8f 88 97 9d 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .... -----------
14e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
14f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 09 76 ----------.....v
1500: 6f 69 64 20 65 6e 64 28 20 55 49 4e 54 20 65 6e oid end( UINT en
1510: 64 63 6f 64 65 20 29 20 7b 7d 0d 0a 09 76 6f 69 dcode ) {}...voi
1520: 64 20 73 65 74 49 6e 66 6f 28 20 50 52 4f 50 53 d setInfo( PROPS
1530: 48 45 45 54 50 41 47 45 2a 20 70 20 29 3b 0d 0a HEETPAGE* p );..
1540: 09 48 49 43 4f 4e 20 6d 5f 68 49 63 6f 6e 3b 0d .HICON m_hIcon;.
1550: 0a 7d 3b 0d 0a 0d 0a 63 6c 61 73 73 20 6b 69 50 .};....class kiP
1560: 72 6f 70 53 68 65 65 74 20 3a 20 70 75 62 6c 69 ropSheet : publi
1570: 63 20 6b 69 44 69 61 6c 6f 67 0d 0a 7b 0d 0a 66 c kiDialog..{..f
1580: 72 69 65 6e 64 20 63 6c 61 73 73 20 6b 69 50 72 riend class kiPr
1590: 6f 70 53 68 65 65 74 50 61 67 65 3b 0d 0a 0d 0a opSheetPage;....
15a0: 70 75 62 6c 69 63 3a 20 2f 2f 2d 2d 20 8a 4f 8c public: //-- .O.
15b0: fc 82 ab 83 43 83 93 83 5e 81 5b 83 74 83 46 83 ....C...^.[.t.F.
15c0: 43 83 58 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d C.X ------------
15d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a --------------..
15e0: 0d 0a 09 2f 2f 20 83 82 81 5b 83 5f 83 8b 83 5f ...// ...[._..._
15f0: 83 43 83 41 83 8d 83 4f 82 c6 82 b5 82 c4 8e c0 .C.A...O........
1600: 8d 73 0d 0a 09 76 6f 69 64 20 64 6f 4d 6f 64 61 .s...void doModa
1610: 6c 28 20 48 57 4e 44 20 70 61 72 65 6e 74 20 29 l( HWND parent )
1620: 3b 0d 0a 0d 0a 09 2f 2f 20 83 82 81 5b 83 68 83 ;.....// ...[.h.
1630: 8c 83 58 83 5f 83 43 83 41 83 8d 83 4f 82 c6 82 ..X._.C.A...O...
1640: b5 82 c4 8d ec 90 ac 0d 0a 09 76 6f 69 64 20 63 ..........void c
1650: 72 65 61 74 65 4d 6f 64 65 6c 65 73 73 28 20 48 reateModeless( H
1660: 57 4e 44 20 70 61 72 65 6e 74 20 29 3b 0d 0a 0d WND parent );...
1670: 0a 70 72 6f 74 65 63 74 65 64 3a 20 2f 2f 2d 2d .protected: //--
1680: 20 94 68 90 b6 83 4e 83 89 83 58 8c fc 82 af 20 .h...N...X....
1690: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
16a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a ------------....
16b0: 09 2f 2f 20 83 52 83 93 83 58 83 67 83 89 83 4e .// .R...X.g...N
16c0: 83 5e 95 d3 82 e8 82 c5 81 ab 82 b1 82 ea 82 f0 .^..............
16d0: 82 a2 82 b6 82 e9 82 d7 82 b5 0d 0a 09 50 52 4f .............PRO
16e0: 50 53 48 45 45 54 48 45 41 44 45 52 20 6d 5f 48 PSHEETHEADER m_H
16f0: 65 61 64 65 72 3b 0d 0a 09 6b 69 41 72 72 61 79 eader;...kiArray
1700: 3c 6b 69 50 72 6f 70 53 68 65 65 74 50 61 67 65 <kiPropSheetPage
1710: 2a 3e 20 6d 5f 50 61 67 65 73 3b 0d 0a 0d 0a 09 *> m_Pages;.....
1720: 2f 2f 20 8f 49 97 b9 0d 0a 09 76 6f 69 64 20 65 // .I.....void e
1730: 6e 64 28 20 55 49 4e 54 20 65 6e 64 63 6f 64 65 nd( UINT endcode
1740: 20 29 3b 0d 0a 09 2f 2f 20 0d 0a 09 76 6f 69 64 );...// ...void
1750: 20 73 65 6e 64 4f 4b 32 41 6c 6c 28 29 0d 0a 09 sendOK2All()...
1760: 7b 0d 0a 09 09 66 6f 72 28 20 75 6e 73 69 67 6e {....for( unsign
1770: 65 64 20 69 6e 74 20 69 3d 30 3b 69 21 3d 6d 5f ed int i=0;i!=m_
1780: 50 61 67 65 73 2e 6c 65 6e 28 29 3b 20 69 2b 2b Pages.len(); i++
1790: 20 29 0d 0a 09 09 09 69 66 28 20 6d 5f 50 61 67 ).....if( m_Pag
17a0: 65 73 5b 69 5d 2d 3e 69 73 41 6c 69 76 65 28 29 es[i]->isAlive()
17b0: 20 29 0d 0a 09 09 09 09 6d 5f 50 61 67 65 73 5b )......m_Pages[
17c0: 69 5d 2d 3e 6f 6e 4f 4b 28 29 3b 0d 0a 09 7d 0d i]->onOK();...}.
17d0: 0a 0d 0a 09 2f 2f 20 82 6e 82 6a 2f 93 4b 97 70 ....// .n.j/.K.p
17e0: 20 2d 3e 20 70 61 67 65 3a 3a 6f 6e 4f 4b 20 2d -> page::onOK -
17f0: 3e 20 73 68 65 65 74 3a 3a 6f 6e 4f 4b 20 2d 3e > sheet::onOK ->
1800: 20 28 69 66 20 6f 6b 20 8f 49 97 b9 29 0d 0a 09 (if ok .I..)...
1810: 2f 2f 20 76 69 72 74 75 61 6c 20 76 6f 69 64 20 // virtual void
1820: 6f 6e 4f 4b 28 29 0d 0a 09 2f 2f 20 83 4c 83 83 onOK()...// .L..
1830: 83 93 83 5a 83 8b 20 2d 3e 20 73 68 65 65 74 3a ...Z.. -> sheet:
1840: 3a 6f 6e 43 61 6e 63 65 6c 20 2d 3e 20 8f 49 97 :onCancel -> .I.
1850: b9 0d 0a 09 2f 2f 20 76 69 72 74 75 61 6c 20 76 ....// virtual v
1860: 6f 69 64 20 6f 6e 43 61 6e 63 65 6c 28 29 0d 0a oid onCancel()..
1870: 09 2f 2f 20 50 53 43 42 5f 49 4e 49 54 49 41 4c .// PSCB_INITIAL
1880: 49 5a 45 44 0d 0a 09 2f 2f 20 76 69 72 74 75 61 IZED...// virtua
1890: 6c 20 42 4f 4f 4c 20 6f 6e 49 6e 69 74 28 29 0d l BOOL onInit().
18a0: 0a 09 2f 2f 20 93 4b 97 70 0d 0a 09 76 69 72 74 ..// .K.p...virt
18b0: 75 61 6c 20 76 6f 69 64 20 6f 6e 41 70 70 6c 79 ual void onApply
18c0: 28 29 20 7b 7d 0d 0a 09 2f 2f 20 83 77 83 8b 83 () {}...// .w...
18d0: 76 0d 0a 09 76 69 72 74 75 61 6c 20 76 6f 69 64 v...virtual void
18e0: 20 6f 6e 48 65 6c 70 28 29 20 7b 7d 0d 0a 09 2f onHelp() {}.../
18f0: 2f 20 82 bb 82 cc 91 bc 83 52 83 7d 83 93 83 68 / .......R.}...h
1900: 0d 0a 09 76 69 72 74 75 61 6c 20 76 6f 69 64 20 ...virtual void
1910: 6f 6e 43 6f 6d 6d 61 6e 64 28 20 55 49 4e 54 20 onCommand( UINT
1920: 69 64 20 29 20 7b 7d 0d 0a 09 2f 2f 20 83 74 83 id ) {}...// .t.
1930: 40 83 43 83 8b 83 68 83 8d 83 62 83 76 0d 0a 09 @.C...h...b.v...
1940: 76 69 72 74 75 61 6c 20 76 6f 69 64 20 6f 6e 44 virtual void onD
1950: 72 6f 70 28 20 48 44 52 4f 50 20 68 64 72 6f 70 rop( HDROP hdrop
1960: 20 29 20 7b 7d 0d 0a 0d 0a 70 72 69 76 61 74 65 ) {}....private
1970: 3a 20 2f 2f 2d 2d 20 93 e0 95 94 8f 88 97 9d 20 : //-- ........
1980: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1990: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
19a0: 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 09 76 6f 69 64 -------.....void
19b0: 20 62 65 67 69 6e 28 29 3b 0d 0a 09 62 6f 6f 6c begin();...bool
19c0: 20 6d 5f 62 53 74 61 74 65 4d 6f 64 61 6c 3b 0d m_bStateModal;.
19d0: 0a 0d 0a 09 73 74 61 74 69 63 20 6b 69 50 72 6f ....static kiPro
19e0: 70 53 68 65 65 74 2a 20 73 74 5f 43 75 72 49 6e pSheet* st_CurIn
19f0: 69 74 50 53 3b 0d 0a 09 57 4e 44 50 52 4f 43 20 itPS;...WNDPROC
1a00: 6d 5f 44 65 66 50 72 6f 63 3b 0d 0a 09 62 6f 6f m_DefProc;...boo
1a10: 6c 20 69 73 44 6c 67 4d 73 67 28 20 4d 53 47 2a l isDlgMsg( MSG*
1a20: 20 6d 73 67 20 29 0d 0a 09 09 7b 20 72 65 74 75 msg )....{ retu
1a30: 72 6e 20 28 46 41 4c 53 45 21 3d 50 72 6f 70 53 rn (FALSE!=PropS
1a40: 68 65 65 74 5f 49 73 44 69 61 6c 6f 67 4d 65 73 heet_IsDialogMes
1a50: 73 61 67 65 28 20 68 77 6e 64 28 29 2c 6d 73 67 sage( hwnd(),msg
1a60: 20 29 29 3b 20 7d 0d 0a 09 73 74 61 74 69 63 20 )); }...static
1a70: 69 6e 74 20 43 41 4c 4c 42 41 43 4b 20 6d 61 69 int CALLBACK mai
1a80: 6e 5f 69 6e 69 74 50 72 6f 63 28 20 48 57 4e 44 n_initProc( HWND
1a90: 20 64 6c 67 2c 20 55 49 4e 54 20 6d 73 67 2c 20 dlg, UINT msg,
1aa0: 4c 50 41 52 41 4d 20 6c 70 20 29 3b 0d 0a 09 73 LPARAM lp );...s
1ab0: 74 61 74 69 63 20 4c 52 45 53 55 4c 54 20 43 41 tatic LRESULT CA
1ac0: 4c 4c 42 41 43 4b 20 6d 61 69 6e 5f 63 6d 6d 6e LLBACK main_cmmn
1ad0: 50 72 6f 63 28 20 48 57 4e 44 20 64 6c 67 2c 20 Proc( HWND dlg,
1ae0: 55 49 4e 54 20 6d 73 67 2c 20 57 50 41 52 41 4d UINT msg, WPARAM
1af0: 20 77 70 2c 20 4c 50 41 52 41 4d 20 6c 70 20 29 wp, LPARAM lp )
1b00: 3b 0d 0a 09 73 74 61 74 69 63 20 42 4f 4f 4c 20 ;...static BOOL
1b10: 43 41 4c 4c 42 41 43 4b 20 70 61 67 65 5f 63 6d CALLBACK page_cm
1b20: 6d 6e 50 72 6f 63 28 20 48 57 4e 44 20 64 6c 67 mnProc( HWND dlg
1b30: 2c 20 55 49 4e 54 20 6d 73 67 2c 20 57 50 41 52 , UINT msg, WPAR
1b40: 41 4d 20 77 70 2c 20 4c 50 41 52 41 4d 20 6c 70 AM wp, LPARAM lp
1b50: 20 29 3b 0d 0a 09 73 74 61 74 69 63 20 55 49 4e );...static UIN
1b60: 54 20 43 41 4c 4c 42 41 43 4b 20 70 61 67 65 5f T CALLBACK page_
1b70: 69 6e 69 74 50 72 6f 63 28 20 48 57 4e 44 20 64 initProc( HWND d
1b80: 6c 67 2c 20 55 49 4e 54 20 6d 73 67 2c 20 4c 50 lg, UINT msg, LP
1b90: 50 52 4f 50 53 48 45 45 54 50 41 47 45 20 70 70 PROPSHEETPAGE pp
1ba0: 73 70 20 29 3b 0d 0a 0d 0a 70 72 6f 74 65 63 74 sp );....protect
1bb0: 65 64 3a 0d 0a 09 6b 69 50 72 6f 70 53 68 65 65 ed:...kiPropShee
1bc0: 74 28 29 3b 0d 0a 70 75 62 6c 69 63 3a 0d 0a 09 t();..public:...
1bd0: 7e 6b 69 50 72 6f 70 53 68 65 65 74 28 29 0d 0a ~kiPropSheet()..
1be0: 09 09 7b 20 66 6f 72 28 20 75 6e 73 69 67 6e 65 ..{ for( unsigne
1bf0: 64 20 69 6e 74 20 69 3d 30 3b 20 69 21 3d 6d 5f d int i=0; i!=m_
1c00: 50 61 67 65 73 2e 6c 65 6e 28 29 3b 20 69 2b 2b Pages.len(); i++
1c10: 20 29 20 64 65 6c 65 74 65 20 6d 5f 50 61 67 65 ) delete m_Page
1c20: 73 5b 69 5d 3b 20 7d 0d 0a 7d 3b 0d 0a 0d 0a 2f s[i]; }..};..../
1c30: 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d *=*=*=*=*=*=*=*=
1c40: 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d *=*=*=*=*=*=*=*=
1c50: 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d *=*=*=*=*=*=*=*=
1c60: 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d *=*=*=*=*=*=*=*=
1c70: 2a 3d 2a 3d 2a 3d 2a 2f 0d 0a 2f 2f 20 6b 69 4c *=*=*=*/..// kiL
1c80: 69 73 74 56 69 65 77 20 3a 20 4c 69 73 74 56 69 istView : ListVi
1c90: 65 77 83 52 83 93 83 67 83 8d 81 5b 83 8b 82 cc ew.R...g...[....
1ca0: 8a c8 92 50 82 c8 83 89 83 62 83 70 0d 0a 0d 0a ...P.....b.p....
1cb0: 63 6c 61 73 73 20 6b 69 4c 69 73 74 56 69 65 77 class kiListView
1cc0: 0d 0a 7b 0d 0a 70 75 62 6c 69 63 3a 0d 0a 09 6b ..{..public:...k
1cd0: 69 4c 69 73 74 56 69 65 77 28 20 6b 69 44 69 61 iListView( kiDia
1ce0: 6c 6f 67 2a 20 64 6c 67 2c 20 55 49 4e 54 20 69 log* dlg, UINT i
1cf0: 64 20 29 0d 0a 09 09 7b 0d 0a 09 09 09 6d 5f 68 d )....{.....m_h
1d00: 57 6e 64 20 3d 20 3a 3a 47 65 74 44 6c 67 49 74 Wnd = ::GetDlgIt
1d10: 65 6d 28 20 64 6c 67 2d 3e 68 77 6e 64 28 29 2c em( dlg->hwnd(),
1d20: 20 69 64 20 29 3b 0d 0a 09 09 7d 0d 0a 0d 0a 09 id );....}.....
1d30: 76 6f 69 64 20 69 6e 73 65 72 74 43 6f 6c 75 6d void insertColum
1d40: 6e 28 20 69 6e 74 20 79 2c 20 63 6f 6e 73 74 20 n( int y, const
1d50: 63 68 61 72 2a 20 74 69 74 6c 65 2c 0d 0a 09 09 char* title,....
1d60: 09 09 09 09 69 6e 74 20 77 69 64 74 68 3d 31 30 ....int width=10
1d70: 30 2c 20 69 6e 74 20 66 6d 74 3d 4c 56 43 46 4d 0, int fmt=LVCFM
1d80: 54 5f 4c 45 46 54 20 29 0d 0a 09 09 7b 0d 0a 09 T_LEFT )....{...
1d90: 09 09 4c 56 43 4f 4c 55 4d 4e 20 63 6f 6c 3b 0d ..LVCOLUMN col;.
1da0: 0a 09 09 09 63 6f 6c 2e 6d 61 73 6b 20 3d 20 4c ....col.mask = L
1db0: 56 43 46 5f 54 45 58 54 20 7c 20 4c 56 43 46 5f VCF_TEXT | LVCF_
1dc0: 46 4d 54 20 7c 20 4c 56 43 46 5f 57 49 44 54 48 FMT | LVCF_WIDTH
1dd0: 3b 0d 0a 09 09 09 63 6f 6c 2e 70 73 7a 54 65 78 ;.....col.pszTex
1de0: 74 20 3d 20 63 6f 6e 73 74 5f 63 61 73 74 3c 63 t = const_cast<c
1df0: 68 61 72 2a 3e 28 74 69 74 6c 65 29 3b 0d 0a 09 har*>(title);...
1e00: 09 09 63 6f 6c 2e 63 78 20 3d 20 77 69 64 74 68 ..col.cx = width
1e10: 3b 0d 0a 09 09 09 63 6f 6c 2e 66 6d 74 20 3d 20 ;.....col.fmt =
1e20: 66 6d 74 3b 0d 0a 09 09 09 3a 3a 53 65 6e 64 4d fmt;.....::SendM
1e30: 65 73 73 61 67 65 28 20 6d 5f 68 57 6e 64 2c 20 essage( m_hWnd,
1e40: 4c 56 4d 5f 49 4e 53 45 52 54 43 4f 4c 55 4d 4e LVM_INSERTCOLUMN
1e50: 2c 20 79 2c 20 28 4c 50 41 52 41 4d 29 26 63 6f , y, (LPARAM)&co
1e60: 6c 20 29 3b 0d 0a 09 09 7d 0d 0a 0d 0a 09 76 6f l );....}.....vo
1e70: 69 64 20 69 6e 73 65 72 74 49 74 65 6d 28 20 69 id insertItem( i
1e80: 6e 74 20 78 2c 20 63 6f 6e 73 74 20 63 68 61 72 nt x, const char
1e90: 2a 20 73 74 72 2c 20 4c 50 41 52 41 4d 20 70 61 * str, LPARAM pa
1ea0: 72 61 6d 3d 30 2c 20 69 6e 74 20 69 49 6d 61 67 ram=0, int iImag
1eb0: 65 3d 2d 31 20 29 0d 0a 09 09 7b 0d 0a 09 09 09 e=-1 )....{.....
1ec0: 4c 56 49 54 45 4d 20 69 74 65 6d 3b 0d 0a 09 09 LVITEM item;....
1ed0: 09 69 74 65 6d 2e 6d 61 73 6b 20 3d 20 4c 56 49 .item.mask = LVI
1ee0: 46 5f 54 45 58 54 20 7c 20 4c 56 49 46 5f 50 41 F_TEXT | LVIF_PA
1ef0: 52 41 4d 20 7c 20 28 69 49 6d 61 67 65 21 3d 2d RAM | (iImage!=-
1f00: 31 20 3f 20 4c 56 49 46 5f 49 4d 41 47 45 20 3a 1 ? LVIF_IMAGE :
1f10: 20 30 29 3b 0d 0a 09 09 09 69 74 65 6d 2e 70 73 0);.....item.ps
1f20: 7a 54 65 78 74 20 3d 20 63 6f 6e 73 74 5f 63 61 zText = const_ca
1f30: 73 74 3c 63 68 61 72 2a 3e 28 73 74 72 29 3b 0d st<char*>(str);.
1f40: 0a 09 09 09 69 74 65 6d 2e 69 49 74 65 6d 20 3d ....item.iItem =
1f50: 20 78 3b 0d 0a 09 09 09 69 74 65 6d 2e 69 53 75 x;.....item.iSu
1f60: 62 49 74 65 6d 20 3d 20 30 3b 0d 0a 09 09 09 69 bItem = 0;.....i
1f70: 74 65 6d 2e 69 49 6d 61 67 65 20 3d 20 69 49 6d tem.iImage = iIm
1f80: 61 67 65 3b 0d 0a 09 09 09 69 74 65 6d 2e 6c 50 age;.....item.lP
1f90: 61 72 61 6d 20 3d 20 70 61 72 61 6d 3b 20 0d 0a aram = param; ..
1fa0: 09 09 09 3a 3a 53 65 6e 64 4d 65 73 73 61 67 65 ...::SendMessage
1fb0: 28 20 6d 5f 68 57 6e 64 2c 20 4c 56 4d 5f 49 4e ( m_hWnd, LVM_IN
1fc0: 53 45 52 54 49 54 45 4d 2c 20 30 2c 20 28 4c 50 SERTITEM, 0, (LP
1fd0: 41 52 41 4d 29 26 69 74 65 6d 20 29 3b 0d 0a 09 ARAM)&item );...
1fe0: 09 7d 0d 0a 0d 0a 09 76 6f 69 64 20 73 65 74 53 .}.....void setS
1ff0: 75 62 49 74 65 6d 28 20 69 6e 74 20 78 2c 20 69 ubItem( int x, i
2000: 6e 74 20 79 2c 20 63 6f 6e 73 74 20 63 68 61 72 nt y, const char
2010: 2a 20 73 74 72 20 29 0d 0a 09 09 7b 0d 0a 09 09 * str )....{....
2020: 09 4c 56 49 54 45 4d 20 69 74 65 6d 3b 0d 0a 09 .LVITEM item;...
2030: 09 09 69 74 65 6d 2e 6d 61 73 6b 20 3d 20 4c 56 ..item.mask = LV
2040: 49 46 5f 54 45 58 54 3b 0d 0a 09 09 09 69 74 65 IF_TEXT;.....ite
2050: 6d 2e 70 73 7a 54 65 78 74 20 3d 20 63 6f 6e 73 m.pszText = cons
2060: 74 5f 63 61 73 74 3c 63 68 61 72 2a 3e 28 73 74 t_cast<char*>(st
2070: 72 29 3b 0d 0a 09 09 09 69 74 65 6d 2e 69 49 74 r);.....item.iIt
2080: 65 6d 20 3d 20 78 3b 0d 0a 09 09 09 69 74 65 6d em = x;.....item
2090: 2e 69 53 75 62 49 74 65 6d 20 3d 20 79 3b 0d 0a .iSubItem = y;..
20a0: 09 09 09 3a 3a 53 65 6e 64 4d 65 73 73 61 67 65 ...::SendMessage
20b0: 28 20 6d 5f 68 57 6e 64 2c 20 4c 56 4d 5f 53 45 ( m_hWnd, LVM_SE
20c0: 54 49 54 45 4d 2c 20 30 2c 20 28 4c 50 41 52 41 TITEM, 0, (LPARA
20d0: 4d 29 26 69 74 65 6d 20 29 3b 0d 0a 09 09 7d 0d M)&item );....}.
20e0: 0a 0d 0a 09 76 6f 69 64 20 73 65 74 49 6d 61 67 ....void setImag
20f0: 65 4c 69 73 74 28 20 48 49 4d 41 47 45 4c 49 53 eList( HIMAGELIS
2100: 54 20 4c 61 72 67 65 2c 20 48 49 4d 41 47 45 4c T Large, HIMAGEL
2110: 49 53 54 20 53 6d 61 6c 6c 20 29 0d 0a 09 09 7b IST Small )....{
2120: 0d 0a 09 09 09 3a 3a 53 65 6e 64 4d 65 73 73 61 .....::SendMessa
2130: 67 65 28 20 6d 5f 68 57 6e 64 2c 20 4c 56 4d 5f ge( m_hWnd, LVM_
2140: 53 45 54 49 4d 41 47 45 4c 49 53 54 2c 20 4c 56 SETIMAGELIST, LV
2150: 53 49 4c 5f 4e 4f 52 4d 41 4c 2c 20 28 4c 50 41 SIL_NORMAL, (LPA
2160: 52 41 4d 29 4c 61 72 67 65 20 29 3b 0d 0a 09 09 RAM)Large );....
2170: 09 3a 3a 53 65 6e 64 4d 65 73 73 61 67 65 28 20 .::SendMessage(
2180: 6d 5f 68 57 6e 64 2c 20 4c 56 4d 5f 53 45 54 49 m_hWnd, LVM_SETI
2190: 4d 41 47 45 4c 49 53 54 2c 20 4c 56 53 49 4c 5f MAGELIST, LVSIL_
21a0: 53 4d 41 4c 4c 2c 20 20 28 4c 50 41 52 41 4d 29 SMALL, (LPARAM)
21b0: 53 6d 61 6c 6c 20 29 3b 0d 0a 09 09 7d 0d 0a 0d Small );....}...
21c0: 0a 70 72 69 76 61 74 65 3a 0d 0a 09 48 57 4e 44 .private:...HWND
21d0: 20 6d 5f 68 57 6e 64 3b 0d 0a 7d 3b 0d 0a 0d 0a m_hWnd;..};....
21e0: 23 65 6e 64 69 66 0d 0a #endif..