Artifact 6f13d2b44d31dee8be4e249abe2479a24e875a66:
0000: 23 69 66 6e 64 65 66 20 5f 4b 49 4c 49 42 5f 41 #ifndef _KILIB_A
0010: 50 50 5f 48 5f 0d 0a 23 64 65 66 69 6e 65 20 5f PP_H_..#define _
0020: 4b 49 4c 49 42 5f 41 50 50 5f 48 5f 0d 0a 23 69 KILIB_APP_H_..#i
0030: 6e 63 6c 75 64 65 20 22 74 79 70 65 73 2e 68 22 nclude "types.h"
0040: 0d 0a 23 69 6e 63 6c 75 64 65 20 22 6c 6f 67 2e ..#include "log.
0050: 68 22 0d 0a 23 69 66 6e 64 65 66 20 5f 5f 63 63 h"..#ifndef __cc
0060: 64 6f 63 5f 5f 0d 0a 6e 61 6d 65 73 70 61 63 65 doc__..namespace
0070: 20 6b 69 20 7b 0d 0a 23 65 6e 64 69 66 0d 0a 0d ki {..#endif...
0080: 0a 0d 0a 0d 0a 2f 2f 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 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00d0: 0d 0a 2f 2f 40 7b 20 40 70 6b 67 20 6b 69 2e 43 ..//@{ @pkg ki.C
00e0: 6f 72 65 20 2f 2f 40 7d 0d 0a 2f 2f 40 7b 0d 0a ore //@}..//@{..
00f0: 2f 2f 09 83 41 83 76 83 8a 83 50 81 5b 83 56 83 //..A.v...P.[.V.
0100: 87 83 93 91 53 91 cc 82 cc 93 9d 8a 87 0d 0a 2f ....S........../
0110: 2f 0d 0a 2f 2f 09 83 41 83 76 83 8a 8b 4e 93 ae /..//..A.v...N..
0120: 2f 8f 49 97 b9 97 70 8f 88 97 9d 82 f0 92 53 93 /.I...p.......S.
0130: 96 82 b5 82 dc 82 b7 81 42 0d 0a 2f 2f 09 8b 8c ........B..//...
0140: 6b 69 6c 69 62 82 c6 88 e1 82 c1 82 c4 81 41 83 kilib.........A.
0150: 86 81 5b 83 55 81 5b 91 a4 82 cc 83 41 83 76 83 ..[.U.[.....A.v.
0160: 8a 83 50 81 5b 83 56 83 87 83 93 83 4e 83 89 83 ..P.[.V.....N...
0170: 58 82 f0 0d 0a 2f 2f 09 82 b1 82 b1 82 a9 82 e7 X....//.........
0180: 94 68 90 b6 82 b3 82 b9 82 e9 82 b1 82 c6 82 cd .h..............
0190: 8f 6f 97 88 82 dc 82 b9 82 f1 81 42 83 86 81 5b .o.........B...[
01a0: 83 55 81 5b 82 cc 83 52 81 5b 83 68 82 cd 81 41 .U.[...R.[.h...A
01b0: 0d 0a 2f 2f 09 95 4b 82 b8 20 6b 6d 61 69 6e 28 ..//..K.. kmain(
01c0: 29 20 82 c6 82 a2 82 a4 83 4f 83 8d 81 5b 83 6f ) .......O...[.o
01d0: 83 8b 8a d6 90 94 82 a9 82 e7 8e c0 8d 73 8a 4a .............s.J
01e0: 8e 6e 82 b3 82 ea 82 dc 82 b7 81 42 0d 0a 2f 2f .n.........B..//
01f0: 09 82 b1 82 cc 41 70 70 83 4e 83 89 83 58 8e a9 .....App.N...X..
0200: 91 cc 82 cd 81 41 8e e5 82 c9 48 49 4e 53 54 41 .....A....HINSTA
0210: 4e 43 45 82 cc 8a c7 97 9d 82 f0 8d 73 82 a4 82 NCE.........s...
0220: be 82 af 81 42 0d 0a 2f 2f 40 7d 0d 0a 2f 2f 3d ....B..//@}..//=
0230: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0240: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0250: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0260: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0270: 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a 63 6c 61 73 ========....clas
0280: 73 20 41 70 70 0d 0a 7b 0d 0a 70 75 62 6c 69 63 s App..{..public
0290: 3a 0d 0a 0d 0a 09 65 6e 75 6d 20 69 6d 66 6c 61 :.....enum imfla
02a0: 67 20 7b 20 43 54 4c 3d 31 2c 20 43 4f 4d 3d 32 g { CTL=1, COM=2
02b0: 2c 20 4f 4c 45 3d 34 20 7d 3b 0d 0a 0d 0a 09 2f , OLE=4 };...../
02c0: 2f 40 7b 0d 0a 09 2f 2f 09 8e ed 81 58 82 cc 83 /@{...//....X...
02d0: 82 83 57 83 85 81 5b 83 8b 82 f0 8f 89 8a fa 89 ..W...[.........
02e0: bb 82 b7 82 e9 0d 0a 09 2f 2f 0d 0a 09 2f 2f 09 ........//...//.
02f0: 82 b1 82 ea 82 c5 8f 89 8a fa 89 bb 82 b5 82 c4 ................
0300: 82 a8 82 ad 82 c6 81 41 41 70 70 8f 49 97 b9 8e .......AApp.I...
0310: 9e 82 c9 8e a9 93 ae 82 c5 0d 0a 09 2f 2f 09 8f ............//..
0320: 49 97 b9 8f 88 97 9d 82 aa 8d 73 82 ed 82 ea 82 I.........s.....
0330: e9 82 cc 82 c5 8a c8 92 50 95 d6 97 98 82 c5 82 ........P.......
0340: b2 82 b4 82 a2 82 dc 82 b7 81 42 0d 0a 09 2f 2f ..........B...//
0350: 09 40 70 61 72 61 6d 20 77 68 61 74 20 43 54 4c .@param what CTL
0360: 28 83 52 83 82 83 93 83 52 83 93 83 67 83 8d 81 (.R.....R...g...
0370: 5b 83 8b 29 81 41 43 4f 4d 81 41 4f 4c 45 0d 0a [..).ACOM.AOLE..
0380: 09 2f 2f 40 7d 0d 0a 09 76 6f 69 64 20 49 6e 69 .//@}...void Ini
0390: 74 4d 6f 64 75 6c 65 28 20 69 6d 66 6c 61 67 20 tModule( imflag
03a0: 77 68 61 74 20 29 3b 0d 0a 0d 0a 09 2f 2f 40 7b what );.....//@{
03b0: 20 83 76 83 8d 83 5a 83 58 8b ad 90 a7 8f 49 97 .v...Z.X.....I.
03c0: b9 20 2f 2f 40 7d 0d 0a 09 76 6f 69 64 20 45 78 . //@}...void Ex
03d0: 69 74 28 20 69 6e 74 20 63 6f 64 65 20 29 3b 0d it( int code );.
03e0: 0a 0d 0a 09 2f 2f 40 7b 20 83 8a 83 5c 81 5b 83 ....//@{ ...\.[.
03f0: 58 20 2f 2f 40 7d 0d 0a 09 48 41 43 43 45 4c 20 X //@}...HACCEL
0400: 4c 6f 61 64 41 63 63 65 6c 28 20 4c 50 43 54 53 LoadAccel( LPCTS
0410: 54 52 20 6e 61 6d 65 20 29 3b 0d 0a 0d 0a 09 2f TR name );...../
0420: 2f 40 7b 20 83 8a 83 5c 81 5b 83 58 20 2f 2f 40 /@{ ...\.[.X //@
0430: 7d 0d 0a 09 48 41 43 43 45 4c 20 4c 6f 61 64 41 }...HACCEL LoadA
0440: 63 63 65 6c 28 20 55 49 4e 54 20 69 64 20 29 3b ccel( UINT id );
0450: 0d 0a 0d 0a 09 2f 2f 40 7b 20 83 8a 83 5c 81 5b .....//@{ ...\.[
0460: 83 58 20 2f 2f 40 7d 0d 0a 09 48 42 49 54 4d 41 .X //@}...HBITMA
0470: 50 20 4c 6f 61 64 42 69 74 6d 61 70 28 20 4c 50 P LoadBitmap( LP
0480: 43 54 53 54 52 20 6e 61 6d 65 20 29 3b 0d 0a 0d CTSTR name );...
0490: 0a 09 2f 2f 40 7b 20 83 8a 83 5c 81 5b 83 58 20 ..//@{ ...\.[.X
04a0: 2f 2f 40 7d 0d 0a 09 48 42 49 54 4d 41 50 20 4c //@}...HBITMAP L
04b0: 6f 61 64 42 69 74 6d 61 70 28 20 55 49 4e 54 20 oadBitmap( UINT
04c0: 69 64 20 29 3b 0d 0a 0d 0a 09 2f 2f 40 7b 20 83 id );.....//@{ .
04d0: 8a 83 5c 81 5b 83 58 28 4f 42 4d 5f 58 58 58 58 ..\.[.X(OBM_XXXX
04e0: 29 20 2f 2f 40 7d 0d 0a 09 48 42 49 54 4d 41 50 ) //@}...HBITMAP
04f0: 20 4c 6f 61 64 4f 65 6d 42 69 74 6d 61 70 28 20 LoadOemBitmap(
0500: 4c 50 43 54 53 54 52 20 6f 62 6d 20 29 3b 0d 0a LPCTSTR obm );..
0510: 0d 0a 09 2f 2f 40 7b 20 83 8a 83 5c 81 5b 83 58 ...//@{ ...\.[.X
0520: 20 2f 2f 40 7d 0d 0a 09 48 43 55 52 53 4f 52 20 //@}...HCURSOR
0530: 4c 6f 61 64 43 75 72 73 6f 72 28 20 4c 50 43 54 LoadCursor( LPCT
0540: 53 54 52 20 6e 61 6d 65 20 29 3b 0d 0a 0d 0a 09 STR name );.....
0550: 2f 2f 40 7b 20 83 8a 83 5c 81 5b 83 58 20 2f 2f //@{ ...\.[.X //
0560: 40 7d 0d 0a 09 48 43 55 52 53 4f 52 20 4c 6f 61 @}...HCURSOR Loa
0570: 64 43 75 72 73 6f 72 28 20 55 49 4e 54 20 69 64 dCursor( UINT id
0580: 20 29 3b 0d 0a 0d 0a 09 2f 2f 40 7b 20 83 8a 83 );.....//@{ ...
0590: 5c 81 5b 83 58 28 49 44 43 5f 58 58 58 58 29 20 \.[.X(IDC_XXXX)
05a0: 2f 2f 40 7d 0d 0a 09 48 43 55 52 53 4f 52 20 4c //@}...HCURSOR L
05b0: 6f 61 64 4f 65 6d 43 75 72 73 6f 72 28 20 4c 50 oadOemCursor( LP
05c0: 43 54 53 54 52 20 69 64 63 20 29 3b 0d 0a 0d 0a CTSTR idc );....
05d0: 09 2f 2f 40 7b 20 83 8a 83 5c 81 5b 83 58 20 2f .//@{ ...\.[.X /
05e0: 2f 40 7d 0d 0a 09 48 49 43 4f 4e 20 4c 6f 61 64 /@}...HICON Load
05f0: 49 63 6f 6e 28 20 4c 50 43 54 53 54 52 20 6e 61 Icon( LPCTSTR na
0600: 6d 65 20 29 3b 0d 0a 0d 0a 09 2f 2f 40 7b 20 83 me );.....//@{ .
0610: 8a 83 5c 81 5b 83 58 20 2f 2f 40 7d 0d 0a 09 48 ..\.[.X //@}...H
0620: 49 43 4f 4e 20 4c 6f 61 64 49 63 6f 6e 28 20 55 ICON LoadIcon( U
0630: 49 4e 54 20 69 64 20 29 3b 0d 0a 0d 0a 09 2f 2f INT id );.....//
0640: 40 7b 20 83 8a 83 5c 81 5b 83 58 28 49 44 49 5f @{ ...\.[.X(IDI_
0650: 58 58 58 58 29 20 2f 2f 40 7d 0d 0a 09 48 49 43 XXXX) //@}...HIC
0660: 4f 4e 20 4c 6f 61 64 4f 65 6d 49 63 6f 6e 28 20 ON LoadOemIcon(
0670: 4c 50 43 54 53 54 52 20 69 64 69 20 29 3b 0d 0a LPCTSTR idi );..
0680: 0d 0a 09 2f 2f 40 7b 20 83 8a 83 5c 81 5b 83 58 ...//@{ ...\.[.X
0690: 20 2f 2f 40 7d 0d 0a 09 48 4d 45 4e 55 20 4c 6f //@}...HMENU Lo
06a0: 61 64 4d 65 6e 75 28 20 4c 50 43 54 53 54 52 20 adMenu( LPCTSTR
06b0: 6e 61 6d 65 20 29 3b 0d 0a 0d 0a 09 2f 2f 40 7b name );.....//@{
06c0: 20 83 8a 83 5c 81 5b 83 58 20 2f 2f 40 7d 0d 0a ...\.[.X //@}..
06d0: 09 48 4d 45 4e 55 20 4c 6f 61 64 4d 65 6e 75 28 .HMENU LoadMenu(
06e0: 20 55 49 4e 54 20 69 64 20 29 3b 0d 0a 0d 0a 09 UINT id );.....
06f0: 2f 2f 40 7b 20 83 8a 83 5c 81 5b 83 58 20 2f 2f //@{ ...\.[.X //
0700: 40 7d 0d 0a 09 69 6e 74 20 4c 6f 61 64 53 74 72 @}...int LoadStr
0710: 69 6e 67 28 20 55 49 4e 54 20 69 64 2c 20 4c 50 ing( UINT id, LP
0720: 54 53 54 52 20 62 75 66 2c 20 69 6e 74 20 73 69 TSTR buf, int si
0730: 7a 20 29 3b 0d 0a 0d 0a 70 75 62 6c 69 63 3a 0d z );....public:.
0740: 0a 0d 0a 09 2f 2f 40 7b 20 83 43 83 93 83 58 83 ....//@{ .C...X.
0750: 5e 83 93 83 58 83 6e 83 93 83 68 83 8b 20 2f 2f ^...X.n...h.. //
0760: 40 7d 0d 0a 09 48 49 4e 53 54 41 4e 43 45 20 68 @}...HINSTANCE h
0770: 69 6e 73 74 28 29 20 63 6f 6e 73 74 3b 0d 0a 0d inst() const;...
0780: 0a 09 2f 2f 40 7b 20 57 69 6e 64 6f 77 73 82 cc ..//@{ Windows..
0790: 83 6f 81 5b 83 57 83 87 83 93 20 2f 2f 40 7d 0d .o.[.W.... //@}.
07a0: 0a 09 73 74 61 74 69 63 20 63 6f 6e 73 74 20 4f ..static const O
07b0: 53 56 45 52 53 49 4f 4e 49 4e 46 4f 26 20 6f 73 SVERSIONINFO& os
07c0: 76 65 72 28 29 3b 0d 0a 09 73 74 61 74 69 63 20 ver();...static
07d0: 62 6f 6f 6c 20 69 73 57 69 6e 39 35 28 29 3b 0d bool isWin95();.
07e0: 0a 09 73 74 61 74 69 63 20 62 6f 6f 6c 20 69 73 ..static bool is
07f0: 4e 54 28 29 3b 0d 0a 09 73 74 61 74 69 63 20 62 NT();...static b
0800: 6f 6f 6c 20 69 73 4e 65 77 54 79 70 65 57 69 6e ool isNewTypeWin
0810: 64 6f 77 73 28 29 3b 0d 0a 0d 0a 70 72 69 76 61 dows();....priva
0820: 74 65 3a 0d 0a 0d 0a 09 41 70 70 28 29 3b 0d 0a te:.....App();..
0830: 09 7e 41 70 70 28 29 3b 0d 0a 09 76 6f 69 64 20 .~App();...void
0840: 53 65 74 45 78 69 74 43 6f 64 65 28 20 69 6e 74 SetExitCode( int
0850: 20 63 6f 64 65 20 29 3b 0d 0a 0d 0a 70 72 69 76 code );....priv
0860: 61 74 65 3a 0d 0a 0d 0a 09 69 6e 74 20 20 20 20 ate:.....int
0870: 20 20 20 20 20 20 20 20 20 65 78 69 74 63 6f 64 exitcod
0880: 65 5f 3b 0d 0a 09 75 6c 6f 6e 67 20 20 20 20 20 e_;...ulong
0890: 20 20 20 20 20 20 6c 6f 61 64 65 64 4d 6f 64 75 loadedModu
08a0: 6c 65 5f 3b 0d 0a 09 63 6f 6e 73 74 20 48 49 4e le_;...const HIN
08b0: 53 54 41 4e 43 45 20 68 49 6e 73 74 5f 3b 0d 0a STANCE hInst_;..
08c0: 09 73 74 61 74 69 63 20 41 70 70 2a 20 20 20 20 .static App*
08d0: 20 70 55 6e 69 71 75 65 49 6e 73 74 61 6e 63 65 pUniqueInstance
08e0: 5f 3b 0d 0a 0d 0a 70 72 69 76 61 74 65 3a 0d 0a _;....private:..
08f0: 0d 0a 09 66 72 69 65 6e 64 20 76 6f 69 64 20 41 ...friend void A
0900: 50 49 45 4e 54 52 59 20 53 74 61 72 74 75 70 28 PIENTRY Startup(
0910: 29 3b 0d 0a 09 66 72 69 65 6e 64 20 69 6e 6c 69 );...friend inli
0920: 6e 65 20 41 70 70 26 20 61 70 70 28 29 3b 0d 0a ne App& app();..
0930: 09 4e 4f 43 4f 50 59 28 41 70 70 29 3b 0d 0a 7d .NOCOPY(App);..}
0940: 3b 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f 2d 2d 2d 2d 2d ;........//-----
0950: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0960: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0970: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0980: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0990: 2d 2d 2d 2d 0d 0a 0d 0a 2f 2f 40 7b 20 97 42 88 ----....//@{ .B.
09a0: ea 82 cc 83 41 83 76 83 8a 8f ee 95 f1 83 49 83 ....A.v.......I.
09b0: 75 83 57 83 46 83 4e 83 67 82 f0 95 d4 82 b7 20 u.W.F.N.g......
09c0: 2f 2f 40 7d 0d 0a 69 6e 6c 69 6e 65 20 41 70 70 //@}..inline App
09d0: 26 20 61 70 70 28 29 0d 0a 09 7b 20 72 65 74 75 & app()...{ retu
09e0: 72 6e 20 2a 41 70 70 3a 3a 70 55 6e 69 71 75 65 rn *App::pUnique
09f0: 49 6e 73 74 61 6e 63 65 5f 3b 20 7d 0d 0a 0d 0a Instance_; }....
0a00: 69 6e 6c 69 6e 65 20 48 41 43 43 45 4c 20 41 70 inline HACCEL Ap
0a10: 70 3a 3a 4c 6f 61 64 41 63 63 65 6c 28 20 4c 50 p::LoadAccel( LP
0a20: 43 54 53 54 52 20 6e 61 6d 65 20 29 0d 0a 09 7b CTSTR name )...{
0a30: 20 72 65 74 75 72 6e 20 3a 3a 4c 6f 61 64 41 63 return ::LoadAc
0a40: 63 65 6c 65 72 61 74 6f 72 73 28 20 68 49 6e 73 celerators( hIns
0a50: 74 5f 2c 20 6e 61 6d 65 20 29 3b 20 7d 0d 0a 0d t_, name ); }...
0a60: 0a 69 6e 6c 69 6e 65 20 48 41 43 43 45 4c 20 41 .inline HACCEL A
0a70: 70 70 3a 3a 4c 6f 61 64 41 63 63 65 6c 28 20 55 pp::LoadAccel( U
0a80: 49 4e 54 20 69 64 20 29 0d 0a 09 7b 20 72 65 74 INT id )...{ ret
0a90: 75 72 6e 20 3a 3a 4c 6f 61 64 41 63 63 65 6c 65 urn ::LoadAccele
0aa0: 72 61 74 6f 72 73 28 20 68 49 6e 73 74 5f 2c 20 rators( hInst_,
0ab0: 4d 41 4b 45 49 4e 54 52 45 53 4f 55 52 43 45 28 MAKEINTRESOURCE(
0ac0: 69 64 29 20 29 3b 20 7d 0d 0a 0d 0a 69 6e 6c 69 id) ); }....inli
0ad0: 6e 65 20 48 42 49 54 4d 41 50 20 41 70 70 3a 3a ne HBITMAP App::
0ae0: 4c 6f 61 64 42 69 74 6d 61 70 28 20 4c 50 43 54 LoadBitmap( LPCT
0af0: 53 54 52 20 6e 61 6d 65 20 29 0d 0a 09 7b 20 72 STR name )...{ r
0b00: 65 74 75 72 6e 20 3a 3a 4c 6f 61 64 42 69 74 6d eturn ::LoadBitm
0b10: 61 70 28 20 68 49 6e 73 74 5f 2c 20 6e 61 6d 65 ap( hInst_, name
0b20: 20 29 3b 20 7d 0d 0a 0d 0a 69 6e 6c 69 6e 65 20 ); }....inline
0b30: 48 42 49 54 4d 41 50 20 41 70 70 3a 3a 4c 6f 61 HBITMAP App::Loa
0b40: 64 42 69 74 6d 61 70 28 20 55 49 4e 54 20 69 64 dBitmap( UINT id
0b50: 20 29 0d 0a 09 7b 20 72 65 74 75 72 6e 20 3a 3a )...{ return ::
0b60: 4c 6f 61 64 42 69 74 6d 61 70 28 20 68 49 6e 73 LoadBitmap( hIns
0b70: 74 5f 2c 20 4d 41 4b 45 49 4e 54 52 45 53 4f 55 t_, MAKEINTRESOU
0b80: 52 43 45 28 69 64 29 20 29 3b 20 7d 0d 0a 0d 0a RCE(id) ); }....
0b90: 69 6e 6c 69 6e 65 20 48 42 49 54 4d 41 50 20 41 inline HBITMAP A
0ba0: 70 70 3a 3a 4c 6f 61 64 4f 65 6d 42 69 74 6d 61 pp::LoadOemBitma
0bb0: 70 28 20 4c 50 43 54 53 54 52 20 6f 62 6d 20 29 p( LPCTSTR obm )
0bc0: 0d 0a 09 7b 20 72 65 74 75 72 6e 20 3a 3a 4c 6f ...{ return ::Lo
0bd0: 61 64 42 69 74 6d 61 70 28 20 4e 55 4c 4c 2c 20 adBitmap( NULL,
0be0: 6f 62 6d 20 29 3b 20 7d 0d 0a 0d 0a 69 6e 6c 69 obm ); }....inli
0bf0: 6e 65 20 48 43 55 52 53 4f 52 20 41 70 70 3a 3a ne HCURSOR App::
0c00: 4c 6f 61 64 43 75 72 73 6f 72 28 20 4c 50 43 54 LoadCursor( LPCT
0c10: 53 54 52 20 6e 61 6d 65 20 29 0d 0a 09 7b 20 72 STR name )...{ r
0c20: 65 74 75 72 6e 20 3a 3a 4c 6f 61 64 43 75 72 73 eturn ::LoadCurs
0c30: 6f 72 28 20 68 49 6e 73 74 5f 2c 20 6e 61 6d 65 or( hInst_, name
0c40: 20 29 3b 20 7d 0d 0a 0d 0a 69 6e 6c 69 6e 65 20 ); }....inline
0c50: 48 43 55 52 53 4f 52 20 41 70 70 3a 3a 4c 6f 61 HCURSOR App::Loa
0c60: 64 43 75 72 73 6f 72 28 20 55 49 4e 54 20 69 64 dCursor( UINT id
0c70: 20 29 0d 0a 09 7b 20 72 65 74 75 72 6e 20 3a 3a )...{ return ::
0c80: 4c 6f 61 64 43 75 72 73 6f 72 28 20 68 49 6e 73 LoadCursor( hIns
0c90: 74 5f 2c 20 4d 41 4b 45 49 4e 54 52 45 53 4f 55 t_, MAKEINTRESOU
0ca0: 52 43 45 28 69 64 29 20 29 3b 20 7d 0d 0a 0d 0a RCE(id) ); }....
0cb0: 69 6e 6c 69 6e 65 20 48 43 55 52 53 4f 52 20 41 inline HCURSOR A
0cc0: 70 70 3a 3a 4c 6f 61 64 4f 65 6d 43 75 72 73 6f pp::LoadOemCurso
0cd0: 72 28 20 4c 50 43 54 53 54 52 20 69 64 63 20 29 r( LPCTSTR idc )
0ce0: 0d 0a 09 7b 20 72 65 74 75 72 6e 20 3a 3a 4c 6f ...{ return ::Lo
0cf0: 61 64 43 75 72 73 6f 72 28 20 4e 55 4c 4c 2c 20 adCursor( NULL,
0d00: 69 64 63 20 29 3b 20 7d 0d 0a 0d 0a 69 6e 6c 69 idc ); }....inli
0d10: 6e 65 20 48 49 43 4f 4e 20 41 70 70 3a 3a 4c 6f ne HICON App::Lo
0d20: 61 64 49 63 6f 6e 28 20 4c 50 43 54 53 54 52 20 adIcon( LPCTSTR
0d30: 6e 61 6d 65 20 29 0d 0a 09 7b 20 72 65 74 75 72 name )...{ retur
0d40: 6e 20 3a 3a 4c 6f 61 64 49 63 6f 6e 28 20 68 49 n ::LoadIcon( hI
0d50: 6e 73 74 5f 2c 20 6e 61 6d 65 20 29 3b 20 7d 0d nst_, name ); }.
0d60: 0a 0d 0a 69 6e 6c 69 6e 65 20 48 49 43 4f 4e 20 ...inline HICON
0d70: 41 70 70 3a 3a 4c 6f 61 64 49 63 6f 6e 28 20 55 App::LoadIcon( U
0d80: 49 4e 54 20 69 64 20 29 0d 0a 09 7b 20 72 65 74 INT id )...{ ret
0d90: 75 72 6e 20 3a 3a 4c 6f 61 64 49 63 6f 6e 28 20 urn ::LoadIcon(
0da0: 68 49 6e 73 74 5f 2c 20 4d 41 4b 45 49 4e 54 52 hInst_, MAKEINTR
0db0: 45 53 4f 55 52 43 45 28 69 64 29 20 29 3b 20 7d ESOURCE(id) ); }
0dc0: 0d 0a 0d 0a 69 6e 6c 69 6e 65 20 48 49 43 4f 4e ....inline HICON
0dd0: 20 41 70 70 3a 3a 4c 6f 61 64 4f 65 6d 49 63 6f App::LoadOemIco
0de0: 6e 28 20 4c 50 43 54 53 54 52 20 69 64 69 20 29 n( LPCTSTR idi )
0df0: 0d 0a 09 7b 20 72 65 74 75 72 6e 20 3a 3a 4c 6f ...{ return ::Lo
0e00: 61 64 49 63 6f 6e 28 20 4e 55 4c 4c 2c 20 69 64 adIcon( NULL, id
0e10: 69 20 29 3b 20 7d 0d 0a 0d 0a 69 6e 6c 69 6e 65 i ); }....inline
0e20: 20 48 4d 45 4e 55 20 41 70 70 3a 3a 4c 6f 61 64 HMENU App::Load
0e30: 4d 65 6e 75 28 20 4c 50 43 54 53 54 52 20 6e 61 Menu( LPCTSTR na
0e40: 6d 65 20 29 0d 0a 09 7b 20 72 65 74 75 72 6e 20 me )...{ return
0e50: 3a 3a 4c 6f 61 64 4d 65 6e 75 28 20 68 49 6e 73 ::LoadMenu( hIns
0e60: 74 5f 2c 20 6e 61 6d 65 20 29 3b 20 7d 0d 0a 0d t_, name ); }...
0e70: 0a 69 6e 6c 69 6e 65 20 48 4d 45 4e 55 20 41 70 .inline HMENU Ap
0e80: 70 3a 3a 4c 6f 61 64 4d 65 6e 75 28 20 55 49 4e p::LoadMenu( UIN
0e90: 54 20 69 64 20 29 0d 0a 09 7b 20 72 65 74 75 72 T id )...{ retur
0ea0: 6e 20 3a 3a 4c 6f 61 64 4d 65 6e 75 28 20 68 49 n ::LoadMenu( hI
0eb0: 6e 73 74 5f 2c 20 4d 41 4b 45 49 4e 54 52 45 53 nst_, MAKEINTRES
0ec0: 4f 55 52 43 45 28 69 64 29 20 29 3b 20 7d 0d 0a OURCE(id) ); }..
0ed0: 0d 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 41 70 70 ..inline int App
0ee0: 3a 3a 4c 6f 61 64 53 74 72 69 6e 67 28 20 55 49 ::LoadString( UI
0ef0: 4e 54 20 69 64 2c 20 4c 50 54 53 54 52 20 62 75 NT id, LPTSTR bu
0f00: 66 2c 20 69 6e 74 20 73 69 7a 20 29 0d 0a 09 7b f, int siz )...{
0f10: 20 72 65 74 75 72 6e 20 3a 3a 4c 6f 61 64 53 74 return ::LoadSt
0f20: 72 69 6e 67 28 20 68 49 6e 73 74 5f 2c 20 69 64 ring( hInst_, id
0f30: 2c 20 62 75 66 2c 20 73 69 7a 20 29 3b 20 7d 0d , buf, siz ); }.
0f40: 0a 0d 0a 69 6e 6c 69 6e 65 20 48 49 4e 53 54 41 ...inline HINSTA
0f50: 4e 43 45 20 41 70 70 3a 3a 68 69 6e 73 74 28 29 NCE App::hinst()
0f60: 20 63 6f 6e 73 74 0d 0a 09 7b 20 72 65 74 75 72 const...{ retur
0f70: 6e 20 68 49 6e 73 74 5f 3b 20 7d 0d 0a 0d 0a 0d n hInst_; }.....
0f80: 0a 0d 0a 2f 2f 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ...//===========
0f90: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0fa0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0fb0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0fc0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a ==============..
0fd0: 0d 0a 7d 20 20 20 20 20 20 2f 2f 20 6e 61 6d 65 ..} // name
0fe0: 73 70 61 63 65 20 6b 69 0d 0a 23 65 6e 64 69 66 space ki..#endif
0ff0: 20 2f 2f 20 5f 4b 49 4c 49 42 5f 41 50 50 5f 48 // _KILIB_APP_H
1000: 5f 0d 0a _..