Hex Artifact Content

Not logged in

Artifact 36c6085700197d43807900a1af3086a62dfc1175:


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           -----------..