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 21 21 3a 3a 49 73 44 69 61 eturn (!!::IsDia
1180: 6c 6f 67 4d 65 73 73 61 67 65 28 20 68 77 6e 64 logMessage( hwnd
1190: 28 29 2c 20 6d 73 67 20 29 29 3b 0d 0a 09 09 7d (), msg ));....}
11a0: 0d 0a 09 73 74 61 74 69 63 20 42 4f 4f 4c 20 43 ...static BOOL C
11b0: 41 4c 4c 42 41 43 4b 20 63 6f 6d 6d 6f 6e 44 6c ALLBACK commonDl
11c0: 67 28 20 48 57 4e 44 20 64 6c 67 2c 20 55 49 4e g( HWND dlg, UIN
11d0: 54 20 6d 73 67 2c 20 57 50 41 52 41 4d 20 77 70 T msg, WPARAM wp
11e0: 2c 20 4c 50 41 52 41 4d 20 6c 70 20 29 3b 0d 0a , LPARAM lp );..
11f0: 7d 3b 0d 0a 0d 0a 2f 2a 3d 2a 3d 2a 3d 2a 3d 2a };..../*=*=*=*=*
1200: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a =*=*=*=*=*=*=*=*
1210: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a =*=*=*=*=*=*=*=*
1220: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a =*=*=*=*=*=*=*=*
1230: 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 2f 0d =*=*=*=*=*=*=*/.
1240: 0a 2f 2f 20 6b 69 50 72 6f 70 53 68 65 65 74 20 .// kiPropSheet
1250: 3a 20 50 72 6f 70 65 72 74 79 53 68 65 65 74 82 : PropertySheet.
1260: f0 6b 69 57 69 6e 64 6f 77 82 c6 82 b5 82 c4 8a .kiWindow.......
1270: c7 97 9d 82 b7 82 e9 81 42 0d 0a 0d 0a 23 64 65 ........B....#de
1280: 66 69 6e 65 20 49 44 41 50 50 4c 59 20 20 20 20 fine IDAPPLY
1290: 20 20 28 30 78 33 30 32 31 29 0d 0a 23 64 65 66 (0x3021)..#def
12a0: 69 6e 65 20 49 44 5f 4b 49 50 53 5f 48 45 4c 50 ine ID_KIPS_HELP
12b0: 20 28 30 78 30 30 30 39 29 0d 0a 0d 0a 63 6c 61 (0x0009)....cla
12c0: 73 73 20 6b 69 50 72 6f 70 53 68 65 65 74 50 61 ss kiPropSheetPa
12d0: 67 65 20 3a 20 70 75 62 6c 69 63 20 6b 69 44 69 ge : public kiDi
12e0: 61 6c 6f 67 0d 0a 7b 0d 0a 66 72 69 65 6e 64 20 alog..{..friend
12f0: 63 6c 61 73 73 20 6b 69 50 72 6f 70 53 68 65 65 class kiPropShee
1300: 74 3b 0d 0a 0d 0a 70 72 6f 74 65 63 74 65 64 3a t;....protected:
1310: 20 2f 2f 2d 2d 20 94 68 90 b6 83 4e 83 89 83 58 //-- .h...N...X
1320: 8c fc 82 af 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .... -----------
1330: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1340: 2d 0d 0a 0d 0a 09 2f 2f 20 83 5f 83 43 83 41 83 -.....// ._.C.A.
1350: 8d 83 4f 82 e2 83 41 83 43 83 52 83 93 82 cc 49 ..O...A.C.R....I
1360: 44 82 c5 8f 89 8a fa 89 bb 0d 0a 09 6b 69 50 72 D...........kiPr
1370: 6f 70 53 68 65 65 74 50 61 67 65 28 20 55 49 4e opSheetPage( UIN
1380: 54 20 64 6c 67 69 64 20 29 0d 0a 09 09 3a 20 6b T dlgid )....: k
1390: 69 44 69 61 6c 6f 67 28 20 64 6c 67 69 64 20 29 iDialog( dlgid )
13a0: 2c 20 6d 5f 68 49 63 6f 6e 28 20 4e 55 4c 4c 20 , m_hIcon( NULL
13b0: 29 20 7b 7d 0d 0a 09 76 6f 69 64 20 73 65 74 49 ) {}...void setI
13c0: 63 6f 6e 28 20 48 49 43 4f 4e 20 68 20 29 0d 0a con( HICON h )..
13d0: 09 09 7b 20 6d 5f 68 49 63 6f 6e 20 3d 20 68 3b ..{ m_hIcon = h;
13e0: 20 7d 0d 0a 0d 0a 09 2f 2f 20 82 6e 82 6a 2f 93 }.....// .n.j/.
13f0: 4b 97 70 20 2d 3e 20 70 61 67 65 3a 3a 6f 6e 4f K.p -> page::onO
1400: 4b 20 2d 3e 20 73 68 65 65 74 3a 3a 6f 6e 4f 4b K -> sheet::onOK
1410: 20 2d 3e 20 28 69 66 20 6f 6b 20 8f 49 97 b9 29 -> (if ok .I..)
1420: 0d 0a 09 2f 2f 20 76 69 72 74 75 61 6c 20 62 6f ...// virtual bo
1430: 6f 6c 20 6f 6e 4f 4b 28 29 0d 0a 09 2f 2f 20 57 ol onOK()...// W
1440: 4d 5f 49 4e 49 54 44 49 41 4c 4f 47 0d 0a 09 2f M_INITDIALOG.../
1450: 2f 20 76 69 72 74 75 61 6c 20 42 4f 4f 4c 20 6f / virtual BOOL o
1460: 6e 49 6e 69 74 28 29 0d 0a 09 2f 2f 20 82 bb 82 nInit()...// ...
1470: cc 91 bc 0d 0a 09 2f 2f 20 76 69 72 74 75 61 6c ......// virtual
1480: 20 42 4f 4f 4c 20 43 41 4c 4c 42 41 43 4b 20 70 BOOL CALLBACK p
1490: 72 6f 63 28 20 55 49 4e 54 20 6d 73 67 2c 20 57 roc( UINT msg, W
14a0: 50 41 52 41 4d 20 77 70 2c 20 4c 50 41 52 41 4d PARAM wp, LPARAM
14b0: 20 6c 70 20 29 0d 0a 0d 0a 70 72 69 76 61 74 65 lp )....private
14c0: 3a 20 2f 2f 2d 2d 20 93 e0 95 94 8f 88 97 9d 20 : //-- ........
14d0: 2d 2d 2d 2d 2d 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 0d 0a 0d 0a 09 76 6f 69 64 20 65 -----.....void e
1500: 6e 64 28 20 55 49 4e 54 20 65 6e 64 63 6f 64 65 nd( UINT endcode
1510: 20 29 20 7b 7d 0d 0a 09 76 6f 69 64 20 73 65 74 ) {}...void set
1520: 49 6e 66 6f 28 20 50 52 4f 50 53 48 45 45 54 50 Info( PROPSHEETP
1530: 41 47 45 2a 20 70 20 29 3b 0d 0a 09 48 49 43 4f AGE* p );...HICO
1540: 4e 20 6d 5f 68 49 63 6f 6e 3b 0d 0a 7d 3b 0d 0a N m_hIcon;..};..
1550: 0d 0a 63 6c 61 73 73 20 6b 69 50 72 6f 70 53 68 ..class kiPropSh
1560: 65 65 74 20 3a 20 70 75 62 6c 69 63 20 6b 69 44 eet : public kiD
1570: 69 61 6c 6f 67 0d 0a 7b 0d 0a 66 72 69 65 6e 64 ialog..{..friend
1580: 20 63 6c 61 73 73 20 6b 69 50 72 6f 70 53 68 65 class kiPropShe
1590: 65 74 50 61 67 65 3b 0d 0a 0d 0a 70 75 62 6c 69 etPage;....publi
15a0: 63 3a 20 2f 2f 2d 2d 20 8a 4f 8c fc 82 ab 83 43 c: //-- .O.....C
15b0: 83 93 83 5e 81 5b 83 74 83 46 83 43 83 58 20 2d ...^.[.t.F.C.X -
15c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
15d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 09 2f 2f ---------.....//
15e0: 20 83 82 81 5b 83 5f 83 8b 83 5f 83 43 83 41 83 ...[._..._.C.A.
15f0: 8d 83 4f 82 c6 82 b5 82 c4 8e c0 8d 73 0d 0a 09 ..O.........s...
1600: 76 6f 69 64 20 64 6f 4d 6f 64 61 6c 28 20 48 57 void doModal( HW
1610: 4e 44 20 70 61 72 65 6e 74 20 29 3b 0d 0a 0d 0a ND parent );....
1620: 09 2f 2f 20 83 82 81 5b 83 68 83 8c 83 58 83 5f .// ...[.h...X._
1630: 83 43 83 41 83 8d 83 4f 82 c6 82 b5 82 c4 8d ec .C.A...O........
1640: 90 ac 0d 0a 09 76 6f 69 64 20 63 72 65 61 74 65 .....void create
1650: 4d 6f 64 65 6c 65 73 73 28 20 48 57 4e 44 20 70 Modeless( HWND p
1660: 61 72 65 6e 74 20 29 3b 0d 0a 0d 0a 70 72 6f 74 arent );....prot
1670: 65 63 74 65 64 3a 20 2f 2f 2d 2d 20 94 68 90 b6 ected: //-- .h..
1680: 83 4e 83 89 83 58 8c fc 82 af 20 2d 2d 2d 2d 2d .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 0d 0a 0d 0a 09 2f 2f 20 83 -------.....// .
16b0: 52 83 93 83 58 83 67 83 89 83 4e 83 5e 95 d3 82 R...X.g...N.^...
16c0: e8 82 c5 81 ab 82 b1 82 ea 82 f0 82 a2 82 b6 82 ................
16d0: e9 82 d7 82 b5 0d 0a 09 50 52 4f 50 53 48 45 45 ........PROPSHEE
16e0: 54 48 45 41 44 45 52 20 6d 5f 48 65 61 64 65 72 THEADER m_Header
16f0: 3b 0d 0a 09 6b 69 41 72 72 61 79 3c 6b 69 50 72 ;...kiArray<kiPr
1700: 6f 70 53 68 65 65 74 50 61 67 65 2a 3e 20 6d 5f opSheetPage*> m_
1710: 50 61 67 65 73 3b 0d 0a 0d 0a 09 2f 2f 20 8f 49 Pages;.....// .I
1720: 97 b9 0d 0a 09 76 6f 69 64 20 65 6e 64 28 20 55 .....void end( U
1730: 49 4e 54 20 65 6e 64 63 6f 64 65 20 29 3b 0d 0a INT endcode );..
1740: 09 2f 2f 20 0d 0a 09 76 6f 69 64 20 73 65 6e 64 .// ...void send
1750: 4f 4b 32 41 6c 6c 28 29 0d 0a 09 7b 0d 0a 09 09 OK2All()...{....
1760: 66 6f 72 28 20 75 6e 73 69 67 6e 65 64 20 69 6e for( unsigned in
1770: 74 20 69 3d 30 3b 69 21 3d 6d 5f 50 61 67 65 73 t i=0;i!=m_Pages
1780: 2e 6c 65 6e 28 29 3b 20 69 2b 2b 20 29 0d 0a 09 .len(); i++ )...
1790: 09 09 69 66 28 20 6d 5f 50 61 67 65 73 5b 69 5d ..if( m_Pages[i]
17a0: 2d 3e 69 73 41 6c 69 76 65 28 29 20 29 0d 0a 09 ->isAlive() )...
17b0: 09 09 09 6d 5f 50 61 67 65 73 5b 69 5d 2d 3e 6f ...m_Pages[i]->o
17c0: 6e 4f 4b 28 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 2f nOK();...}...../
17d0: 2f 20 82 6e 82 6a 2f 93 4b 97 70 20 2d 3e 20 70 / .n.j/.K.p -> p
17e0: 61 67 65 3a 3a 6f 6e 4f 4b 20 2d 3e 20 73 68 65 age::onOK -> she
17f0: 65 74 3a 3a 6f 6e 4f 4b 20 2d 3e 20 28 69 66 20 et::onOK -> (if
1800: 6f 6b 20 8f 49 97 b9 29 0d 0a 09 2f 2f 20 76 69 ok .I..)...// vi
1810: 72 74 75 61 6c 20 76 6f 69 64 20 6f 6e 4f 4b 28 rtual void onOK(
1820: 29 0d 0a 09 2f 2f 20 83 4c 83 83 83 93 83 5a 83 )...// .L.....Z.
1830: 8b 20 2d 3e 20 73 68 65 65 74 3a 3a 6f 6e 43 61 . -> sheet::onCa
1840: 6e 63 65 6c 20 2d 3e 20 8f 49 97 b9 0d 0a 09 2f ncel -> .I...../
1850: 2f 20 76 69 72 74 75 61 6c 20 76 6f 69 64 20 6f / virtual void o
1860: 6e 43 61 6e 63 65 6c 28 29 0d 0a 09 2f 2f 20 50 nCancel()...// P
1870: 53 43 42 5f 49 4e 49 54 49 41 4c 49 5a 45 44 0d SCB_INITIALIZED.
1880: 0a 09 2f 2f 20 76 69 72 74 75 61 6c 20 42 4f 4f ..// virtual BOO
1890: 4c 20 6f 6e 49 6e 69 74 28 29 0d 0a 09 2f 2f 20 L onInit()...//
18a0: 93 4b 97 70 0d 0a 09 76 69 72 74 75 61 6c 20 76 .K.p...virtual v
18b0: 6f 69 64 20 6f 6e 41 70 70 6c 79 28 29 20 7b 7d oid onApply() {}
18c0: 0d 0a 09 2f 2f 20 83 77 83 8b 83 76 0d 0a 09 76 ...// .w...v...v
18d0: 69 72 74 75 61 6c 20 76 6f 69 64 20 6f 6e 48 65 irtual void onHe
18e0: 6c 70 28 29 20 7b 7d 0d 0a 09 2f 2f 20 82 bb 82 lp() {}...// ...
18f0: cc 91 bc 83 52 83 7d 83 93 83 68 0d 0a 09 76 69 ....R.}...h...vi
1900: 72 74 75 61 6c 20 76 6f 69 64 20 6f 6e 43 6f 6d rtual void onCom
1910: 6d 61 6e 64 28 20 55 49 4e 54 20 69 64 20 29 20 mand( UINT id )
1920: 7b 7d 0d 0a 09 2f 2f 20 83 74 83 40 83 43 83 8b {}...// .t.@.C..
1930: 83 68 83 8d 83 62 83 76 0d 0a 09 76 69 72 74 75 .h...b.v...virtu
1940: 61 6c 20 76 6f 69 64 20 6f 6e 44 72 6f 70 28 20 al void onDrop(
1950: 48 44 52 4f 50 20 68 64 72 6f 70 20 29 20 7b 7d HDROP hdrop ) {}
1960: 0d 0a 0d 0a 70 72 69 76 61 74 65 3a 20 2f 2f 2d ....private: //-
1970: 2d 20 93 e0 95 94 8f 88 97 9d 20 2d 2d 2d 2d 2d - ........ -----
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 0d 0a 0d 0a 09 76 6f 69 64 20 62 65 67 69 --.....void begi
19b0: 6e 28 29 3b 0d 0a 09 62 6f 6f 6c 20 6d 5f 62 53 n();...bool m_bS
19c0: 74 61 74 65 4d 6f 64 61 6c 3b 0d 0a 0d 0a 09 73 tateModal;.....s
19d0: 74 61 74 69 63 20 6b 69 50 72 6f 70 53 68 65 65 tatic kiPropShee
19e0: 74 2a 20 73 74 5f 43 75 72 49 6e 69 74 50 53 3b t* st_CurInitPS;
19f0: 0d 0a 09 57 4e 44 50 52 4f 43 20 6d 5f 44 65 66 ...WNDPROC m_Def
1a00: 50 72 6f 63 3b 0d 0a 09 62 6f 6f 6c 20 69 73 44 Proc;...bool isD
1a10: 6c 67 4d 73 67 28 20 4d 53 47 2a 20 6d 73 67 20 lgMsg( MSG* msg
1a20: 29 0d 0a 09 09 7b 20 72 65 74 75 72 6e 20 21 21 )....{ return !!
1a30: 50 72 6f 70 53 68 65 65 74 5f 49 73 44 69 61 6c PropSheet_IsDial
1a40: 6f 67 4d 65 73 73 61 67 65 28 20 68 77 6e 64 28 ogMessage( hwnd(
1a50: 29 2c 6d 73 67 20 29 3b 20 7d 0d 0a 09 73 74 61 ),msg ); }...sta
1a60: 74 69 63 20 69 6e 74 20 43 41 4c 4c 42 41 43 4b tic int CALLBACK
1a70: 20 6d 61 69 6e 5f 69 6e 69 74 50 72 6f 63 28 20 main_initProc(
1a80: 48 57 4e 44 20 64 6c 67 2c 20 55 49 4e 54 20 6d HWND dlg, UINT m
1a90: 73 67 2c 20 4c 50 41 52 41 4d 20 6c 70 20 29 3b sg, LPARAM lp );
1aa0: 0d 0a 09 73 74 61 74 69 63 20 4c 52 45 53 55 4c ...static LRESUL
1ab0: 54 20 43 41 4c 4c 42 41 43 4b 20 6d 61 69 6e 5f T CALLBACK main_
1ac0: 63 6d 6d 6e 50 72 6f 63 28 20 48 57 4e 44 20 64 cmmnProc( HWND d
1ad0: 6c 67 2c 20 55 49 4e 54 20 6d 73 67 2c 20 57 50 lg, UINT msg, WP
1ae0: 41 52 41 4d 20 77 70 2c 20 4c 50 41 52 41 4d 20 ARAM wp, LPARAM
1af0: 6c 70 20 29 3b 0d 0a 09 73 74 61 74 69 63 20 42 lp );...static B
1b00: 4f 4f 4c 20 43 41 4c 4c 42 41 43 4b 20 70 61 67 OOL CALLBACK pag
1b10: 65 5f 63 6d 6d 6e 50 72 6f 63 28 20 48 57 4e 44 e_cmmnProc( HWND
1b20: 20 64 6c 67 2c 20 55 49 4e 54 20 6d 73 67 2c 20 dlg, UINT msg,
1b30: 57 50 41 52 41 4d 20 77 70 2c 20 4c 50 41 52 41 WPARAM wp, LPARA
1b40: 4d 20 6c 70 20 29 3b 0d 0a 09 73 74 61 74 69 63 M lp );...static
1b50: 20 55 49 4e 54 20 43 41 4c 4c 42 41 43 4b 20 70 UINT CALLBACK p
1b60: 61 67 65 5f 69 6e 69 74 50 72 6f 63 28 20 48 57 age_initProc( HW
1b70: 4e 44 20 64 6c 67 2c 20 55 49 4e 54 20 6d 73 67 ND dlg, UINT msg
1b80: 2c 20 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47 , LPPROPSHEETPAG
1b90: 45 20 70 70 73 70 20 29 3b 0d 0a 0d 0a 70 72 6f E ppsp );....pro
1ba0: 74 65 63 74 65 64 3a 0d 0a 09 6b 69 50 72 6f 70 tected:...kiProp
1bb0: 53 68 65 65 74 28 29 3b 0d 0a 70 75 62 6c 69 63 Sheet();..public
1bc0: 3a 0d 0a 09 7e 6b 69 50 72 6f 70 53 68 65 65 74 :...~kiPropSheet
1bd0: 28 29 0d 0a 09 09 7b 20 66 6f 72 28 20 75 6e 73 ()....{ for( uns
1be0: 69 67 6e 65 64 20 69 6e 74 20 69 3d 30 3b 20 69 igned int i=0; i
1bf0: 21 3d 6d 5f 50 61 67 65 73 2e 6c 65 6e 28 29 3b !=m_Pages.len();
1c00: 20 69 2b 2b 20 29 20 64 65 6c 65 74 65 20 6d 5f i++ ) delete m_
1c10: 50 61 67 65 73 5b 69 5d 3b 20 7d 0d 0a 7d 3b 0d Pages[i]; }..};.
1c20: 0a 0d 0a 2f 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d 2a 3d .../*=*=*=*=*=*=
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 2f 0d 0a 2f 2f *=*=*=*=*=*/..//
1c70: 20 6b 69 4c 69 73 74 56 69 65 77 20 3a 20 4c 69 kiListView : Li
1c80: 73 74 56 69 65 77 83 52 83 93 83 67 83 8d 81 5b stView.R...g...[
1c90: 83 8b 82 cc 8a c8 92 50 82 c8 83 89 83 62 83 70 .......P.....b.p
1ca0: 0d 0a 0d 0a 63 6c 61 73 73 20 6b 69 4c 69 73 74 ....class kiList
1cb0: 56 69 65 77 0d 0a 7b 0d 0a 70 75 62 6c 69 63 3a View..{..public:
1cc0: 0d 0a 09 6b 69 4c 69 73 74 56 69 65 77 28 20 6b ...kiListView( k
1cd0: 69 44 69 61 6c 6f 67 2a 20 64 6c 67 2c 20 55 49 iDialog* dlg, UI
1ce0: 4e 54 20 69 64 20 29 0d 0a 09 09 7b 0d 0a 09 09 NT id )....{....
1cf0: 09 6d 5f 68 57 6e 64 20 3d 20 3a 3a 47 65 74 44 .m_hWnd = ::GetD
1d00: 6c 67 49 74 65 6d 28 20 64 6c 67 2d 3e 68 77 6e lgItem( dlg->hwn
1d10: 64 28 29 2c 20 69 64 20 29 3b 0d 0a 09 09 7d 0d d(), id );....}.
1d20: 0a 0d 0a 09 76 6f 69 64 20 69 6e 73 65 72 74 43 ....void insertC
1d30: 6f 6c 75 6d 6e 28 20 69 6e 74 20 79 2c 20 63 6f olumn( int y, co
1d40: 6e 73 74 20 63 68 61 72 2a 20 74 69 74 6c 65 2c nst char* title,
1d50: 0d 0a 09 09 09 09 09 09 69 6e 74 20 77 69 64 74 ........int widt
1d60: 68 3d 31 30 30 2c 20 69 6e 74 20 66 6d 74 3d 4c h=100, int fmt=L
1d70: 56 43 46 4d 54 5f 4c 45 46 54 20 29 0d 0a 09 09 VCFMT_LEFT )....
1d80: 7b 0d 0a 09 09 09 4c 56 43 4f 4c 55 4d 4e 20 63 {.....LVCOLUMN c
1d90: 6f 6c 3b 0d 0a 09 09 09 63 6f 6c 2e 6d 61 73 6b ol;.....col.mask
1da0: 20 3d 20 4c 56 43 46 5f 54 45 58 54 20 7c 20 4c = LVCF_TEXT | L
1db0: 56 43 46 5f 46 4d 54 20 7c 20 4c 56 43 46 5f 57 VCF_FMT | LVCF_W
1dc0: 49 44 54 48 3b 0d 0a 09 09 09 63 6f 6c 2e 70 73 IDTH;.....col.ps
1dd0: 7a 54 65 78 74 20 3d 20 63 6f 6e 73 74 5f 63 61 zText = const_ca
1de0: 73 74 3c 63 68 61 72 2a 3e 28 74 69 74 6c 65 29 st<char*>(title)
1df0: 3b 0d 0a 09 09 09 63 6f 6c 2e 63 78 20 3d 20 77 ;.....col.cx = w
1e00: 69 64 74 68 3b 0d 0a 09 09 09 63 6f 6c 2e 66 6d idth;.....col.fm
1e10: 74 20 3d 20 66 6d 74 3b 0d 0a 09 09 09 3a 3a 53 t = fmt;.....::S
1e20: 65 6e 64 4d 65 73 73 61 67 65 28 20 6d 5f 68 57 endMessage( m_hW
1e30: 6e 64 2c 20 4c 56 4d 5f 49 4e 53 45 52 54 43 4f nd, LVM_INSERTCO
1e40: 4c 55 4d 4e 2c 20 79 2c 20 28 4c 50 41 52 41 4d LUMN, y, (LPARAM
1e50: 29 26 63 6f 6c 20 29 3b 0d 0a 09 09 7d 0d 0a 0d )&col );....}...
1e60: 0a 09 76 6f 69 64 20 69 6e 73 65 72 74 49 74 65 ..void insertIte
1e70: 6d 28 20 69 6e 74 20 78 2c 20 63 6f 6e 73 74 20 m( int x, const
1e80: 63 68 61 72 2a 20 73 74 72 2c 20 4c 50 41 52 41 char* str, LPARA
1e90: 4d 20 70 61 72 61 6d 3d 30 2c 20 69 6e 74 20 69 M param=0, int i
1ea0: 49 6d 61 67 65 3d 2d 31 20 29 0d 0a 09 09 7b 0d Image=-1 )....{.
1eb0: 0a 09 09 09 4c 56 49 54 45 4d 20 69 74 65 6d 3b ....LVITEM item;
1ec0: 0d 0a 09 09 09 69 74 65 6d 2e 6d 61 73 6b 20 3d .....item.mask =
1ed0: 20 4c 56 49 46 5f 54 45 58 54 20 7c 20 4c 56 49 LVIF_TEXT | LVI
1ee0: 46 5f 50 41 52 41 4d 20 7c 20 28 69 49 6d 61 67 F_PARAM | (iImag
1ef0: 65 21 3d 2d 31 20 3f 20 4c 56 49 46 5f 49 4d 41 e!=-1 ? LVIF_IMA
1f00: 47 45 20 3a 20 30 29 3b 0d 0a 09 09 09 69 74 65 GE : 0);.....ite
1f10: 6d 2e 70 73 7a 54 65 78 74 20 3d 20 63 6f 6e 73 m.pszText = cons
1f20: 74 5f 63 61 73 74 3c 63 68 61 72 2a 3e 28 73 74 t_cast<char*>(st
1f30: 72 29 3b 0d 0a 09 09 09 69 74 65 6d 2e 69 49 74 r);.....item.iIt
1f40: 65 6d 20 3d 20 78 3b 0d 0a 09 09 09 69 74 65 6d em = x;.....item
1f50: 2e 69 53 75 62 49 74 65 6d 20 3d 20 30 3b 0d 0a .iSubItem = 0;..
1f60: 09 09 09 69 74 65 6d 2e 69 49 6d 61 67 65 20 3d ...item.iImage =
1f70: 20 69 49 6d 61 67 65 3b 0d 0a 09 09 09 69 74 65 iImage;.....ite
1f80: 6d 2e 6c 50 61 72 61 6d 20 3d 20 70 61 72 61 6d m.lParam = param
1f90: 3b 20 0d 0a 09 09 09 3a 3a 53 65 6e 64 4d 65 73 ; .....::SendMes
1fa0: 73 61 67 65 28 20 6d 5f 68 57 6e 64 2c 20 4c 56 sage( m_hWnd, LV
1fb0: 4d 5f 49 4e 53 45 52 54 49 54 45 4d 2c 20 30 2c M_INSERTITEM, 0,
1fc0: 20 28 4c 50 41 52 41 4d 29 26 69 74 65 6d 20 29 (LPARAM)&item )
1fd0: 3b 0d 0a 09 09 7d 0d 0a 0d 0a 09 76 6f 69 64 20 ;....}.....void
1fe0: 73 65 74 53 75 62 49 74 65 6d 28 20 69 6e 74 20 setSubItem( int
1ff0: 78 2c 20 69 6e 74 20 79 2c 20 63 6f 6e 73 74 20 x, int y, const
2000: 63 68 61 72 2a 20 73 74 72 20 29 0d 0a 09 09 7b char* str )....{
2010: 0d 0a 09 09 09 4c 56 49 54 45 4d 20 69 74 65 6d .....LVITEM item
2020: 3b 0d 0a 09 09 09 69 74 65 6d 2e 6d 61 73 6b 20 ;.....item.mask
2030: 3d 20 4c 56 49 46 5f 54 45 58 54 3b 0d 0a 09 09 = LVIF_TEXT;....
2040: 09 69 74 65 6d 2e 70 73 7a 54 65 78 74 20 3d 20 .item.pszText =
2050: 63 6f 6e 73 74 5f 63 61 73 74 3c 63 68 61 72 2a const_cast<char*
2060: 3e 28 73 74 72 29 3b 0d 0a 09 09 09 69 74 65 6d >(str);.....item
2070: 2e 69 49 74 65 6d 20 3d 20 78 3b 0d 0a 09 09 09 .iItem = x;.....
2080: 69 74 65 6d 2e 69 53 75 62 49 74 65 6d 20 3d 20 item.iSubItem =
2090: 79 3b 0d 0a 09 09 09 3a 3a 53 65 6e 64 4d 65 73 y;.....::SendMes
20a0: 73 61 67 65 28 20 6d 5f 68 57 6e 64 2c 20 4c 56 sage( m_hWnd, LV
20b0: 4d 5f 53 45 54 49 54 45 4d 2c 20 30 2c 20 28 4c M_SETITEM, 0, (L
20c0: 50 41 52 41 4d 29 26 69 74 65 6d 20 29 3b 0d 0a PARAM)&item );..
20d0: 09 09 7d 0d 0a 0d 0a 09 76 6f 69 64 20 73 65 74 ..}.....void set
20e0: 49 6d 61 67 65 4c 69 73 74 28 20 48 49 4d 41 47 ImageList( HIMAG
20f0: 45 4c 49 53 54 20 4c 61 72 67 65 2c 20 48 49 4d ELIST Large, HIM
2100: 41 47 45 4c 49 53 54 20 53 6d 61 6c 6c 20 29 0d AGELIST Small ).
2110: 0a 09 09 7b 0d 0a 09 09 09 3a 3a 53 65 6e 64 4d ...{.....::SendM
2120: 65 73 73 61 67 65 28 20 6d 5f 68 57 6e 64 2c 20 essage( m_hWnd,
2130: 4c 56 4d 5f 53 45 54 49 4d 41 47 45 4c 49 53 54 LVM_SETIMAGELIST
2140: 2c 20 4c 56 53 49 4c 5f 4e 4f 52 4d 41 4c 2c 20 , LVSIL_NORMAL,
2150: 28 4c 50 41 52 41 4d 29 4c 61 72 67 65 20 29 3b (LPARAM)Large );
2160: 0d 0a 09 09 09 3a 3a 53 65 6e 64 4d 65 73 73 61 .....::SendMessa
2170: 67 65 28 20 6d 5f 68 57 6e 64 2c 20 4c 56 4d 5f ge( m_hWnd, LVM_
2180: 53 45 54 49 4d 41 47 45 4c 49 53 54 2c 20 4c 56 SETIMAGELIST, LV
2190: 53 49 4c 5f 53 4d 41 4c 4c 2c 20 20 28 4c 50 41 SIL_SMALL, (LPA
21a0: 52 41 4d 29 53 6d 61 6c 6c 20 29 3b 0d 0a 09 09 RAM)Small );....
21b0: 7d 0d 0a 0d 0a 70 72 69 76 61 74 65 3a 0d 0a 09 }....private:...
21c0: 48 57 4e 44 20 6d 5f 68 57 6e 64 3b 0d 0a 7d 3b HWND m_hWnd;..};
21d0: 0d 0a 0d 0a 23 65 6e 64 69 66 0d 0a ....#endif..