0000: ef bb bf 70 72 69 76 61 74 65 20 69 6d 70 6f 72 ...private impor
0010: 74 20 77 69 6e 33 32 2e 77 69 6e 64 6f 77 73 3b t win32.windows;
0020: 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20 .private import
0030: 77 69 6e 33 32 2e 63 6f 6d 6d 63 74 72 6c 3b 0a win32.commctrl;.
0040: 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20 73 private import s
0050: 74 64 2e 73 74 72 69 6e 67 3b 0a 70 72 69 76 61 td.string;.priva
0060: 74 65 20 69 6d 70 6f 72 74 20 71 62 67 61 33 32 te import qbga32
0070: 3b 0a 0a 76 6f 69 64 20 70 72 6f 63 65 73 73 5f ;..void process_
0080: 6d 65 73 73 61 67 65 73 28 29 0a 7b 0a 09 66 6f messages().{..fo
0090: 72 28 20 4d 53 47 20 6d 73 67 3b 20 50 65 65 6b r( MSG msg; Peek
00a0: 4d 65 73 73 61 67 65 41 28 20 26 6d 73 67 2c 20 MessageA( &msg,
00b0: 6e 75 6c 6c 2c 20 30 2c 20 30 2c 20 50 4d 5f 52 null, 0, 0, PM_R
00c0: 45 4d 4f 56 45 20 29 3b 20 29 0a 09 7b 0a 09 09 EMOVE ); )..{...
00d0: 54 72 61 6e 73 6c 61 74 65 4d 65 73 73 61 67 65 TranslateMessage
00e0: 28 20 26 6d 73 67 20 29 3b 0a 09 09 44 69 73 70 ( &msg );...Disp
00f0: 61 74 63 68 4d 65 73 73 61 67 65 41 28 20 26 6d atchMessageA( &m
0100: 73 67 20 29 3b 0a 09 7d 0a 7d 0a 0a 2f 2f 20 e5 sg );..}.}..// .
0110: ae 9f e8 a3 85 e7 b6 99 e6 89 bf 28 77 0a 0a 63 ...........(w..c
0120: 6c 61 73 73 20 44 69 61 6c 6f 67 0a 7b 0a 70 75 lass Dialog.{.pu
0130: 62 6c 69 63 3a 0a 09 48 57 4e 44 20 68 77 6e 64 blic:..HWND hwnd
0140: 28 29 0a 09 7b 0a 09 09 72 65 74 75 72 6e 20 68 ()..{...return h
0150: 61 6e 64 6c 65 3b 0a 09 7d 0a 0a 70 72 6f 74 65 andle;..}..prote
0160: 63 74 65 64 3a 0a 09 76 6f 69 64 20 6f 6e 5f 69 cted:..void on_i
0170: 6e 69 74 28 29 20 20 20 7b 20 4d 65 73 73 61 67 nit() { Messag
0180: 65 42 6f 78 41 28 6e 75 6c 6c 2c 22 78 78 78 22 eBoxA(null,"xxx"
0190: 2c 6e 75 6c 6c 2c 4d 42 5f 4f 4b 29 3b 20 7d 0a ,null,MB_OK); }.
01a0: 09 62 6f 6f 6c 20 6f 6e 5f 6f 6b 28 29 20 20 20 .bool on_ok()
01b0: 20 20 7b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 { return false
01c0: 3b 20 7d 0a 09 62 6f 6f 6c 20 6f 6e 5f 63 61 6e ; }..bool on_can
01d0: 63 65 6c 28 29 20 7b 20 72 65 74 75 72 6e 20 66 cel() { return f
01e0: 61 6c 73 65 3b 20 7d 0a 09 62 6f 6f 6c 20 6f 6e alse; }..bool on
01f0: 5f 63 6f 6d 6d 61 6e 64 28 20 55 49 4e 54 20 63 _command( UINT c
0200: 6d 64 20 29 20 7b 20 72 65 74 75 72 6e 20 66 61 md ) { return fa
0210: 6c 73 65 3b 20 7d 0a 09 62 6f 6f 6c 20 6f 6e 5f lse; }..bool on_
0220: 6d 65 73 73 61 67 65 28 20 55 49 4e 54 20 6d 73 message( UINT ms
0230: 67 2c 20 57 50 41 52 41 4d 20 77 70 2c 20 4c 50 g, WPARAM wp, LP
0240: 41 52 41 4d 20 6c 70 20 29 20 7b 20 72 65 74 75 ARAM lp ) { retu
0250: 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 0a 09 65 78 rn false; }...ex
0260: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 70 72 tern(Windows) pr
0270: 69 76 61 74 65 20 73 74 61 74 69 63 20 42 4f 4f ivate static BOO
0280: 4c 0a 09 09 73 74 61 74 69 63 5f 64 6c 67 5f 70 L...static_dlg_p
0290: 72 6f 63 28 20 48 57 4e 44 20 64 6c 67 2c 20 55 roc( HWND dlg, U
02a0: 49 4e 54 20 6d 73 67 2c 20 57 50 41 52 41 4d 20 INT msg, WPARAM
02b0: 77 70 2c 20 4c 50 41 52 41 4d 20 6c 70 20 29 0a wp, LPARAM lp ).
02c0: 09 7b 0a 09 09 69 66 28 20 6d 73 67 20 3d 3d 20 .{...if( msg ==
02d0: 57 4d 5f 49 4e 49 54 44 49 41 4c 4f 47 20 29 0a WM_INITDIALOG ).
02e0: 09 09 7b 0a 09 09 09 53 65 74 57 69 6e 64 6f 77 ..{....SetWindow
02f0: 4c 6f 6e 67 28 20 64 6c 67 2c 20 47 57 4c 5f 55 Long( dlg, GWL_U
0300: 53 45 52 44 41 54 41 2c 20 6c 70 20 29 3b 0a 0a SERDATA, lp );..
0310: 09 09 09 44 69 61 6c 6f 67 20 70 74 72 20 3d 20 ...Dialog ptr =
0320: 63 61 73 74 28 44 69 61 6c 6f 67 29 20 63 61 73 cast(Dialog) cas
0330: 74 28 44 69 61 6c 6f 67 2a 29 20 6c 70 3b 0a 09 t(Dialog*) lp;..
0340: 09 09 70 74 72 2e 68 61 6e 64 6c 65 20 3d 20 64 ..ptr.handle = d
0350: 6c 67 3b 0a 09 09 09 70 74 72 2e 6f 6e 5f 69 6e lg;....ptr.on_in
0360: 69 74 28 29 3b 0a 09 09 09 72 65 74 75 72 6e 20 it();....return
0370: 46 41 4c 53 45 3b 0a 09 09 7d 0a 0a 09 09 44 69 FALSE;...}....Di
0380: 61 6c 6f 67 20 70 74 72 20 3d 20 63 61 73 74 28 alog ptr = cast(
0390: 44 69 61 6c 6f 67 29 20 63 61 73 74 28 44 69 61 Dialog) cast(Dia
03a0: 6c 6f 67 2a 29 20 47 65 74 57 69 6e 64 6f 77 4c log*) GetWindowL
03b0: 6f 6e 67 28 64 6c 67 2c 47 57 4c 5f 55 53 45 52 ong(dlg,GWL_USER
03c0: 44 41 54 41 29 3b 0a 09 09 69 66 28 20 70 74 72 DATA);...if( ptr
03d0: 20 69 73 20 6e 75 6c 6c 20 29 0a 09 09 09 72 65 is null )....re
03e0: 74 75 72 6e 20 46 41 4c 53 45 3b 0a 0a 09 09 69 turn FALSE;....i
03f0: 66 28 20 6d 73 67 20 3d 3d 20 57 4d 5f 43 4f 4d f( msg == WM_COM
0400: 4d 41 4e 44 20 29 0a 09 09 09 69 66 28 20 4c 4f MAND )....if( LO
0410: 57 4f 52 44 28 77 70 29 20 3d 3d 20 49 44 4f 4b WORD(wp) == IDOK
0420: 20 29 0a 09 09 09 09 72 65 74 75 72 6e 20 70 74 ).....return pt
0430: 72 2e 6f 6e 5f 6f 6b 28 29 3b 0a 09 09 09 65 6c r.on_ok();....el
0440: 73 65 20 69 66 28 20 4c 4f 57 4f 52 44 28 77 70 se if( LOWORD(wp
0450: 29 20 3d 3d 20 49 44 43 41 4e 43 45 4c 20 29 0a ) == IDCANCEL ).
0460: 09 09 09 09 72 65 74 75 72 6e 20 70 74 72 2e 6f ....return ptr.o
0470: 6e 5f 63 61 6e 63 65 6c 28 29 3b 0a 09 09 09 65 n_cancel();....e
0480: 6c 73 65 0a 09 09 09 09 72 65 74 75 72 6e 20 70 lse.....return p
0490: 74 72 2e 6f 6e 5f 63 6f 6d 6d 61 6e 64 28 20 4c tr.on_command( L
04a0: 4f 57 4f 52 44 28 77 70 29 20 29 3b 0a 09 09 72 OWORD(wp) );...r
04b0: 65 74 75 72 6e 20 70 74 72 2e 6f 6e 5f 6d 65 73 eturn ptr.on_mes
04c0: 73 61 67 65 28 6d 73 67 2c 77 70 2c 6c 70 29 3b sage(msg,wp,lp);
04d0: 0a 09 7d 0a 0a 70 72 6f 74 65 63 74 65 64 3a 0a ..}..protected:.
04e0: 09 48 57 4e 44 20 68 61 6e 64 6c 65 3b 0a 09 76 .HWND handle;..v
04f0: 6f 69 64 20 42 65 67 69 6e 4d 6f 64 65 6c 65 73 oid BeginModeles
0500: 73 28 20 44 4c 47 54 45 4d 50 4c 41 54 45 2a 20 s( DLGTEMPLATE*
0510: 64 6c 67 5f 74 65 6d 70 6c 61 74 65 2c 20 48 57 dlg_template, HW
0520: 4e 44 20 70 61 72 65 6e 74 20 29 0a 09 7b 0a 09 ND parent )..{..
0530: 09 43 72 65 61 74 65 44 69 61 6c 6f 67 49 6e 64 .CreateDialogInd
0540: 69 72 65 63 74 50 61 72 61 6d 28 0a 09 09 09 67 irectParam(....g
0550: 5f 68 69 6e 73 74 2c 0a 09 09 09 64 6c 67 5f 74 _hinst,....dlg_t
0560: 65 6d 70 6c 61 74 65 2c 0a 09 09 09 70 61 72 65 emplate,....pare
0570: 6e 74 2c 0a 09 09 09 26 73 74 61 74 69 63 5f 64 nt,....&static_d
0580: 6c 67 5f 70 72 6f 63 2c 0a 09 09 09 63 61 73 74 lg_proc,....cast
0590: 28 4c 50 41 52 41 4d 29 20 63 61 73 74 28 44 69 (LPARAM) cast(Di
05a0: 61 6c 6f 67 2a 29 20 74 68 69 73 0a 09 09 29 3b alog*) this...);
05b0: 0a 09 7d 0a 0a 09 69 6e 74 20 42 65 67 69 6e 4d ..}...int BeginM
05c0: 6f 64 61 6c 28 20 44 4c 47 54 45 4d 50 4c 41 54 odal( DLGTEMPLAT
05d0: 45 2a 20 64 6c 67 5f 74 65 6d 70 6c 61 74 65 2c E* dlg_template,
05e0: 20 48 57 4e 44 20 70 61 72 65 6e 74 20 29 0a 09 HWND parent )..
05f0: 7b 0a 09 09 72 65 74 75 72 6e 20 44 69 61 6c 6f {...return Dialo
0600: 67 42 6f 78 49 6e 64 69 72 65 63 74 50 61 72 61 gBoxIndirectPara
0610: 6d 28 0a 09 09 09 67 5f 68 69 6e 73 74 2c 0a 09 m(....g_hinst,..
0620: 09 09 64 6c 67 5f 74 65 6d 70 6c 61 74 65 2c 0a ..dlg_template,.
0630: 09 09 09 70 61 72 65 6e 74 2c 0a 09 09 09 26 73 ...parent,....&s
0640: 74 61 74 69 63 5f 64 6c 67 5f 70 72 6f 63 2c 0a tatic_dlg_proc,.
0650: 09 09 09 63 61 73 74 28 4c 50 41 52 41 4d 29 20 ...cast(LPARAM)
0660: 63 61 73 74 28 44 69 61 6c 6f 67 2a 29 20 74 68 cast(Dialog*) th
0670: 69 73 0a 09 09 29 3b 0a 09 7d 0a 0a 09 76 6f 69 is...);..}...voi
0680: 64 20 73 65 74 5f 69 74 65 6d 5f 74 65 78 74 28 d set_item_text(
0690: 20 69 6e 74 20 49 44 2c 20 73 74 72 69 6e 67 20 int ID, string
06a0: 73 74 72 20 29 0a 09 7b 0a 09 09 53 65 74 44 6c str )..{...SetDl
06b0: 67 49 74 65 6d 54 65 78 74 41 28 20 68 61 6e 64 gItemTextA( hand
06c0: 6c 65 2c 20 49 44 2c 20 74 6f 53 74 72 69 6e 67 le, ID, toString
06d0: 7a 28 73 74 72 29 20 29 3b 0a 09 7d 0a 0a 09 69 z(str) );..}...i
06e0: 6e 74 20 73 65 6e 64 5f 69 74 65 6d 5f 6d 73 67 nt send_item_msg
06f0: 28 20 69 6e 74 20 49 44 2c 20 55 49 4e 54 20 6d ( int ID, UINT m
0700: 73 67 2c 20 57 50 41 52 41 4d 20 77 70 3d 30 2c sg, WPARAM wp=0,
0710: 20 4c 50 41 52 41 4d 20 6c 70 3d 30 20 29 0a 09 LPARAM lp=0 )..
0720: 7b 0a 09 09 72 65 74 75 72 6e 20 53 65 6e 64 44 {...return SendD
0730: 6c 67 49 74 65 6d 4d 65 73 73 61 67 65 28 20 68 lgItemMessage( h
0740: 61 6e 64 6c 65 2c 20 49 44 2c 20 6d 73 67 2c 20 andle, ID, msg,
0750: 77 70 2c 20 6c 70 20 29 3b 0a 09 7d 0a 7d 0a 0a wp, lp );..}.}..
0760: 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d //--------------
0770: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0780: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0790: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 2f --------------./
07a0: 2f 20 23 32 30 32 35 20 5b e3 83 95 e3 82 a1 e3 / #2025 [.......
07b0: 82 a4 e3 83 ab e3 82 92 e6 93 8d e4 bd 9c e4 b8 ................
07c0: ad 5d 0a 2f 2f 20 20 20 32 30 30 36 20 3a 20 e6 .].// 2006 : .
07d0: 9b b8 e5 ba ab e5 90 8d 0a 2f 2f 20 20 20 32 30 .........// 20
07e0: 30 37 20 3a 20 e3 83 95 e3 82 a1 e3 82 a4 e3 83 07 : ...........
07f0: ab e5 90 8d ef bc 88 e3 83 91 e3 82 b9 e7 84 a1 ................
0800: e3 81 97 ef bc 89 0a 2f 2f 20 20 20 32 30 32 34 .......// 2024
0810: 20 3a 20 e3 83 97 e3 83 ad e3 82 b0 e3 83 ac e3 : .............
0820: 82 b9 e3 83 90 e3 83 bc 0a 2f 2f 20 20 20 20 20 .........//
0830: 20 32 20 3a 20 e3 82 ad e3 83 a3 e3 83 b3 e3 82 2 : ...........
0840: bb e3 83 ab e3 83 9c e3 82 bf e3 83 b3 0a 2f 2f ..............//
0850: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0860: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0870: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0880: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 63 6c ------------..cl
0890: 61 73 73 20 50 72 6f 67 72 65 73 73 44 6c 67 20 ass ProgressDlg
08a0: 3a 20 44 69 61 6c 6f 67 0a 7b 0a 09 74 68 69 73 : Dialog.{..this
08b0: 28 20 44 4c 47 54 45 4d 50 4c 41 54 45 2a 20 64 ( DLGTEMPLATE* d
08c0: 6c 67 5f 74 65 6d 70 6c 61 74 65 2c 20 48 57 4e lg_template, HWN
08d0: 44 20 70 61 72 65 6e 74 20 29 0a 09 7b 0a 09 09 D parent )..{...
08e0: 42 65 67 69 6e 4d 6f 64 65 6c 65 73 73 28 20 64 BeginModeless( d
08f0: 6c 67 5f 74 65 6d 70 6c 61 74 65 2c 20 70 61 72 lg_template, par
0900: 65 6e 74 20 29 3b 0a 09 7d 0a 0a 09 76 6f 69 64 ent );..}...void
0910: 20 73 65 74 5f 61 72 63 6e 61 6d 65 20 28 20 73 set_arcname ( s
0920: 74 72 69 6e 67 20 73 74 72 20 29 7b 20 73 65 74 tring str ){ set
0930: 5f 69 74 65 6d 5f 74 65 78 74 28 20 32 30 30 36 _item_text( 2006
0940: 2c 20 73 74 72 20 29 3b 20 7d 0a 09 76 6f 69 64 , str ); }..void
0950: 20 73 65 74 5f 66 69 6c 65 6e 61 6d 65 28 20 73 set_filename( s
0960: 74 72 69 6e 67 20 73 74 72 20 29 7b 20 73 65 74 tring str ){ set
0970: 5f 69 74 65 6d 5f 74 65 78 74 28 20 32 30 30 37 _item_text( 2007
0980: 2c 20 73 74 72 20 29 3b 20 7d 0a 09 76 6f 69 64 , str ); }..void
0990: 20 73 65 74 5f 6d 61 78 28 20 72 65 61 6c 20 6d set_max( real m
09a0: 20 29 20 7b 20 6d 61 78 20 3d 20 6d 3b 20 7d 0a ) { max = m; }.
09b0: 09 76 6f 69 64 20 73 65 74 5f 70 6f 73 28 20 72 .void set_pos( r
09c0: 65 61 6c 20 70 20 29 20 7b 20 73 65 6e 64 5f 69 eal p ) { send_i
09d0: 74 65 6d 5f 6d 73 67 28 32 30 32 34 2c 50 42 4d tem_msg(2024,PBM
09e0: 5f 53 45 54 50 4f 53 2c 63 61 73 74 28 69 6e 74 _SETPOS,cast(int
09f0: 29 28 70 2f 6d 61 78 2a 36 35 35 33 35 29 2c 30 )(p/max*65535),0
0a00: 29 3b 20 7d 0a 0a 09 62 6f 6f 6c 20 63 6c 6f 73 ); }...bool clos
0a10: 65 64 28 29 0a 09 7b 0a 09 09 72 65 74 75 72 6e ed()..{...return
0a20: 20 21 61 6c 69 76 65 3b 0a 09 7d 0a 0a 09 76 6f !alive;..}...vo
0a30: 69 64 20 63 6c 6f 73 65 28 29 0a 09 7b 0a 09 09 id close()..{...
0a40: 69 66 28 20 21 63 6c 6f 73 65 64 20 29 0a 09 09 if( !closed )...
0a50: 09 6f 6e 5f 63 61 6e 63 65 6c 28 29 3b 0a 09 7d .on_cancel();..}
0a60: 0a 0a 70 72 6f 74 65 63 74 65 64 3a 0a 09 62 6f ..protected:..bo
0a70: 6f 6c 20 61 6c 69 76 65 20 3d 20 66 61 6c 73 65 ol alive = false
0a80: 3b 0a 09 72 65 61 6c 20 6d 61 78 20 3d 20 31 2e ;..real max = 1.
0a90: 30 3b 0a 0a 09 6f 76 65 72 72 69 64 65 20 76 6f 0;...override vo
0aa0: 69 64 20 6f 6e 5f 69 6e 69 74 28 29 0a 09 7b 0a id on_init()..{.
0ab0: 09 09 61 6c 69 76 65 20 3d 20 74 72 75 65 3b 0a ..alive = true;.
0ac0: 09 09 73 65 6e 64 5f 69 74 65 6d 5f 6d 73 67 28 ..send_item_msg(
0ad0: 20 32 30 32 34 2c 20 50 42 4d 5f 53 45 54 52 41 2024, PBM_SETRA
0ae0: 4e 47 45 2c 20 30 2c 20 4d 41 4b 45 4c 50 41 52 NGE, 0, MAKELPAR
0af0: 41 4d 28 30 2c 36 35 35 33 35 29 20 29 3b 0a 0a AM(0,65535) );..
0b00: 09 09 2f 2f 20 e3 82 bb e3 83 b3 e3 82 bf e3 83 ..// ...........
0b10: aa e3 83 b3 e3 82 b0 0a 09 09 52 45 43 54 20 72 ..........RECT r
0b20: 63 2c 70 72 3b 0a 09 09 47 65 74 57 69 6e 64 6f c,pr;...GetWindo
0b30: 77 52 65 63 74 28 20 68 61 6e 64 6c 65 2c 20 26 wRect( handle, &
0b40: 72 63 20 29 3b 0a 09 09 48 57 4e 44 20 70 61 72 rc );...HWND par
0b50: 20 3d 20 47 65 74 50 61 72 65 6e 74 28 68 61 6e = GetParent(han
0b60: 64 6c 65 29 3b 0a 09 09 69 66 28 20 70 61 72 20 dle);...if( par
0b70: 29 0a 09 09 09 47 65 74 57 69 6e 64 6f 77 52 65 )....GetWindowRe
0b80: 63 74 28 20 70 61 72 2c 20 26 70 72 20 29 3b 0a ct( par, &pr );.
0b90: 09 09 65 6c 73 65 0a 09 09 09 53 79 73 74 65 6d ..else....System
0ba0: 50 61 72 61 6d 65 74 65 72 73 49 6e 66 6f 28 20 ParametersInfo(
0bb0: 53 50 49 5f 47 45 54 57 4f 52 4b 41 52 45 41 2c SPI_GETWORKAREA,
0bc0: 20 30 2c 20 26 70 72 2c 20 30 20 29 3b 0a 09 09 0, &pr, 0 );...
0bd0: 53 65 74 57 69 6e 64 6f 77 50 6f 73 28 20 68 61 SetWindowPos( ha
0be0: 6e 64 6c 65 2c 20 6e 75 6c 6c 2c 0a 09 09 09 70 ndle, null,....p
0bf0: 72 2e 6c 65 66 74 20 2b 20 28 20 28 70 72 2e 72 r.left + ( (pr.r
0c00: 69 67 68 74 2d 70 72 2e 6c 65 66 74 29 2d 28 72 ight-pr.left)-(r
0c10: 63 2e 72 69 67 68 74 2d 72 63 2e 6c 65 66 74 29 c.right-rc.left)
0c20: 20 29 2f 32 2c 0a 09 09 09 70 72 2e 74 6f 70 20 )/2,....pr.top
0c30: 20 2b 20 28 20 28 70 72 2e 62 6f 74 74 6f 6d 2d + ( (pr.bottom-
0c40: 70 72 2e 74 6f 70 29 2d 28 72 63 2e 62 6f 74 74 pr.top)-(rc.bott
0c50: 6f 6d 2d 72 63 2e 74 6f 70 29 20 29 2f 32 2c 0a om-rc.top) )/2,.
0c60: 09 09 09 30 2c 20 30 2c 20 53 57 50 5f 4e 4f 53 ...0, 0, SWP_NOS
0c70: 49 5a 45 7c 53 57 50 5f 4e 4f 5a 4f 52 44 45 52 IZE|SWP_NOZORDER
0c80: 20 29 3b 0a 0a 09 09 2f 2f 20 e8 a1 a8 e7 a4 ba );....// ......
0c90: 0a 09 09 53 68 6f 77 57 69 6e 64 6f 77 28 68 61 ...ShowWindow(ha
0ca0: 6e 64 6c 65 2c 53 57 5f 53 48 4f 57 29 3b 0a 09 ndle,SW_SHOW);..
0cb0: 09 55 70 64 61 74 65 57 69 6e 64 6f 77 28 68 61 .UpdateWindow(ha
0cc0: 6e 64 6c 65 29 3b 0a 09 7d 0a 0a 09 6f 76 65 72 ndle);..}...over
0cd0: 72 69 64 65 20 62 6f 6f 6c 20 6f 6e 5f 63 61 6e ride bool on_can
0ce0: 63 65 6c 28 29 0a 09 7b 0a 09 09 61 6c 69 76 65 cel()..{...alive
0cf0: 20 3d 20 66 61 6c 73 65 3b 0a 09 09 44 65 73 74 = false;...Dest
0d00: 72 6f 79 57 69 6e 64 6f 77 28 68 61 6e 64 6c 65 royWindow(handle
0d10: 29 3b 0a 09 09 72 65 74 75 72 6e 20 74 72 75 65 );...return true
0d20: 3b 0a 09 7d 0a 7d 0a 0a 2f 2f 2d 2d 2d 2d 2d 2d ;..}.}..//------
0d30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0d40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0d50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0d60: 2d 2d 2d 2d 2d 2d 0a 2f 2f 20 23 32 30 30 30 20 ------.// #2000
0d70: 20 5b e3 83 95 e3 82 a1 e3 82 a4 e3 83 ab e3 81 [..............
0d80: ae e4 b8 8a e6 9b b8 e3 81 8d e7 a2 ba e8 aa 8d ................
0d90: 5d 0a 2f 2f 20 20 20 32 30 30 36 20 e6 9b b8 e5 ].// 2006 ....
0da0: ba ab e5 86 85 e3 83 95 e3 82 a1 e3 82 a4 e3 83 ................
0db0: ab e5 90 8d 0a 2f 2f 20 20 20 32 30 30 39 20 e3 .....// 2009 .
0dc0: 83 95 e3 82 a1 e3 82 a4 e3 83 ab e3 82 b5 e3 82 ................
0dd0: a4 e3 82 ba 20 20 20 35 36 34 2c 35 39 30 20 42 .... 564,590 B
0de0: 79 74 65 0a 2f 2f 20 20 20 32 30 31 30 20 e6 9b yte.// 2010 ..
0df0: b4 e6 96 b0 e6 97 a5 e6 99 82 20 20 20 20 20 20 ..........
0e00: 20 20 20 32 30 30 34 5c 30 38 5c 32 37 20 30 33 2004\08\27 03
0e10: 3a 35 37 3a 31 38 0a 2f 2f 20 20 20 32 30 30 37 :57:18.// 2007
0e20: 20 e5 a4 96 e9 83 a8 e3 83 95 e3 82 a1 e3 82 a4 ...............
0e30: e3 83 ab e5 90 8d 0a 2f 2f 20 20 20 32 30 31 31 .......// 2011
0e40: 20 e3 83 95 e3 82 a1 e3 82 a4 e3 83 ab e3 82 b5 ...............
0e50: e3 82 a4 e3 82 ba 0a 2f 2f 20 20 20 32 30 31 32 .......// 2012
0e60: 20 e6 9b b4 e6 96 b0 e6 97 a5 e6 99 82 0a 2f 2f .............//
0e70: 0a 2f 2f 20 20 20 32 30 30 32 3a e4 b8 8a e6 9b .// 2002:.....
0e80: b8 e3 81 8d 20 20 32 30 30 34 3a e6 97 a5 e4 bb .... 2004:.....
0e90: 98 e3 81 8c e6 96 b0 e3 81 97 e3 81 91 e3 82 8c ................
0ea0: e3 81 b0 e4 b8 8a e6 9b b8 e3 81 8d 20 32 30 30 ............ 200
0eb0: 33 3a e4 b8 8a e6 9b b8 e3 81 8d e3 81 97 e3 81 3:..............
0ec0: aa e3 81 84 0a 2f 2f 0a 2f 2f 20 20 20 20 20 20 .....//.//
0ed0: 31 3a 20 4f 4b e3 83 9c e3 82 bf e3 83 b3 0a 2f 1: OK........../
0ee0: 2f 20 20 20 32 30 30 35 3a 20 e4 bb a5 e9 99 8d / 2005: ......
0ef0: e5 85 a8 e3 81 a6 e3 81 ab e9 81 a9 e7 94 a8 e3 ................
0f00: 83 9c e3 82 bf e3 83 b3 0a 2f 2f 20 20 20 20 20 .........//
0f10: 20 32 3a 20 e3 82 ad e3 83 a3 e3 83 b3 e3 82 bb 2: ............
0f20: e3 83 ab e3 83 9c e3 82 bf e3 83 b3 0a 2f 2f 2d .............//-
0f30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0f40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0f50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0f60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a -----------..