Hex Artifact Content

Not logged in

Artifact 5518278e91d2e2fcf173517ec14ea7f1cae9fdfc:


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 0a 76 6f 69 64  td.string;..void
0060: 20 70 72 6f 63 65 73 73 5f 6d 65 73 73 61 67 65   process_message
0070: 73 28 29 0a 7b 0a 09 66 6f 72 28 20 4d 53 47 20  s().{..for( MSG 
0080: 6d 73 67 3b 20 50 65 65 6b 4d 65 73 73 61 67 65  msg; PeekMessage
0090: 41 28 20 26 6d 73 67 2c 20 6e 75 6c 6c 2c 20 30  A( &msg, null, 0
00a0: 2c 20 30 2c 20 50 4d 5f 52 45 4d 4f 56 45 20 29  , 0, PM_REMOVE )
00b0: 3b 20 29 0a 09 7b 0a 09 09 54 72 61 6e 73 6c 61  ; )..{...Transla
00c0: 74 65 4d 65 73 73 61 67 65 28 20 26 6d 73 67 20  teMessage( &msg 
00d0: 29 3b 0a 09 09 44 69 73 70 61 74 63 68 4d 65 73  );...DispatchMes
00e0: 73 61 67 65 41 28 20 26 6d 73 67 20 29 3b 0a 09  sageA( &msg );..
00f0: 7d 0a 7d 0a 0a 63 6c 61 73 73 20 44 69 61 6c 6f  }.}..class Dialo
0100: 67 0a 7b 0a 70 75 62 6c 69 63 3a 0a 09 48 57 4e  g.{.public:..HWN
0110: 44 20 68 77 6e 64 28 29 0a 09 7b 0a 09 09 72 65  D hwnd()..{...re
0120: 74 75 72 6e 20 68 61 6e 64 6c 65 3b 0a 09 7d 0a  turn handle;..}.
0130: 0a 70 72 6f 74 65 63 74 65 64 3a 0a 09 76 6f 69  .protected:..voi
0140: 64 20 6f 6e 5f 69 6e 69 74 28 29 20 20 20 7b 7d  d on_init()   {}
0150: 0a 09 62 6f 6f 6c 20 6f 6e 5f 6f 6b 28 29 20 20  ..bool on_ok()  
0160: 20 20 20 7b 20 72 65 74 75 72 6e 20 66 61 6c 73     { return fals
0170: 65 3b 20 7d 0a 09 62 6f 6f 6c 20 6f 6e 5f 63 61  e; }..bool on_ca
0180: 6e 63 65 6c 28 29 20 7b 20 72 65 74 75 72 6e 20  ncel() { return 
0190: 66 61 6c 73 65 3b 20 7d 0a 09 62 6f 6f 6c 20 6f  false; }..bool o
01a0: 6e 5f 63 6f 6d 6d 61 6e 64 28 20 55 49 4e 54 20  n_command( UINT 
01b0: 63 6d 64 20 29 20 7b 20 72 65 74 75 72 6e 20 66  cmd ) { return f
01c0: 61 6c 73 65 3b 20 7d 0a 09 62 6f 6f 6c 20 6f 6e  alse; }..bool on
01d0: 5f 6d 65 73 73 61 67 65 28 20 55 49 4e 54 20 6d  _message( UINT m
01e0: 73 67 2c 20 57 50 41 52 41 4d 20 77 70 2c 20 4c  sg, WPARAM wp, L
01f0: 50 41 52 41 4d 20 6c 70 20 29 20 7b 20 72 65 74  PARAM lp ) { ret
0200: 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 0a 09 65  urn false; }...e
0210: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 70  xtern(Windows) p
0220: 72 69 76 61 74 65 20 73 74 61 74 69 63 20 42 4f  rivate static BO
0230: 4f 4c 0a 09 09 73 74 61 74 69 63 5f 64 6c 67 5f  OL...static_dlg_
0240: 70 72 6f 63 28 20 48 57 4e 44 20 64 6c 67 2c 20  proc( HWND dlg, 
0250: 55 49 4e 54 20 6d 73 67 2c 20 57 50 41 52 41 4d  UINT msg, WPARAM
0260: 20 77 70 2c 20 4c 50 41 52 41 4d 20 6c 70 20 29   wp, LPARAM lp )
0270: 0a 09 7b 0a 09 09 69 66 28 20 6d 73 67 20 3d 3d  ..{...if( msg ==
0280: 20 57 4d 5f 49 4e 49 54 44 49 41 4c 4f 47 20 29   WM_INITDIALOG )
0290: 0a 09 09 7b 0a 09 09 09 53 65 74 57 69 6e 64 6f  ...{....SetWindo
02a0: 77 4c 6f 6e 67 28 20 64 6c 67 2c 20 47 57 4c 5f  wLong( dlg, GWL_
02b0: 55 53 45 52 44 41 54 41 2c 20 6c 70 20 29 3b 0a  USERDATA, lp );.
02c0: 0a 09 09 09 44 69 61 6c 6f 67 20 70 74 72 20 3d  ....Dialog ptr =
02d0: 20 63 61 73 74 28 44 69 61 6c 6f 67 29 20 63 61   cast(Dialog) ca
02e0: 73 74 28 44 69 61 6c 6f 67 2a 29 20 6c 70 3b 0a  st(Dialog*) lp;.
02f0: 09 09 09 70 74 72 2e 68 61 6e 64 6c 65 20 3d 20  ...ptr.handle = 
0300: 64 6c 67 3b 0a 09 09 09 70 74 72 2e 6f 6e 5f 69  dlg;....ptr.on_i
0310: 6e 69 74 28 29 3b 0a 09 09 09 72 65 74 75 72 6e  nit();....return
0320: 20 46 41 4c 53 45 3b 0a 09 09 7d 0a 0a 09 09 44   FALSE;...}....D
0330: 69 61 6c 6f 67 20 70 74 72 20 3d 20 63 61 73 74  ialog ptr = cast
0340: 28 44 69 61 6c 6f 67 29 20 63 61 73 74 28 44 69  (Dialog) cast(Di
0350: 61 6c 6f 67 2a 29 20 47 65 74 57 69 6e 64 6f 77  alog*) GetWindow
0360: 4c 6f 6e 67 28 64 6c 67 2c 47 57 4c 5f 55 53 45  Long(dlg,GWL_USE
0370: 52 44 41 54 41 29 3b 0a 09 09 69 66 28 20 70 74  RDATA);...if( pt
0380: 72 20 69 73 20 6e 75 6c 6c 20 29 0a 09 09 09 72  r is null )....r
0390: 65 74 75 72 6e 20 46 41 4c 53 45 3b 0a 0a 09 09  eturn FALSE;....
03a0: 69 66 28 20 6d 73 67 20 3d 3d 20 57 4d 5f 43 4f  if( msg == WM_CO
03b0: 4d 4d 41 4e 44 20 29 0a 09 09 09 69 66 28 20 4c  MMAND )....if( L
03c0: 4f 57 4f 52 44 28 77 70 29 20 3d 3d 20 49 44 4f  OWORD(wp) == IDO
03d0: 4b 20 29 0a 09 09 09 09 72 65 74 75 72 6e 20 70  K ).....return p
03e0: 74 72 2e 6f 6e 5f 6f 6b 28 29 3b 0a 09 09 09 65  tr.on_ok();....e
03f0: 6c 73 65 20 69 66 28 20 4c 4f 57 4f 52 44 28 77  lse if( LOWORD(w
0400: 70 29 20 3d 3d 20 49 44 43 41 4e 43 45 4c 20 29  p) == IDCANCEL )
0410: 0a 09 09 09 09 72 65 74 75 72 6e 20 70 74 72 2e  .....return ptr.
0420: 6f 6e 5f 63 61 6e 63 65 6c 28 29 3b 0a 09 09 09  on_cancel();....
0430: 65 6c 73 65 0a 09 09 09 09 72 65 74 75 72 6e 20  else.....return 
0440: 70 74 72 2e 6f 6e 5f 63 6f 6d 6d 61 6e 64 28 20  ptr.on_command( 
0450: 4c 4f 57 4f 52 44 28 77 70 29 20 29 3b 0a 09 09  LOWORD(wp) );...
0460: 72 65 74 75 72 6e 20 70 74 72 2e 6f 6e 5f 6d 65  return ptr.on_me
0470: 73 73 61 67 65 28 6d 73 67 2c 77 70 2c 6c 70 29  ssage(msg,wp,lp)
0480: 3b 0a 09 7d 0a 0a 70 72 6f 74 65 63 74 65 64 3a  ;..}..protected:
0490: 0a 09 48 57 4e 44 20 68 61 6e 64 6c 65 3b 0a 09  ..HWND handle;..
04a0: 76 6f 69 64 20 42 65 67 69 6e 4d 6f 64 65 6c 65  void BeginModele
04b0: 73 73 28 20 44 4c 47 54 45 4d 50 4c 41 54 45 2a  ss( DLGTEMPLATE*
04c0: 20 64 6c 67 5f 74 65 6d 70 6c 61 74 65 2c 20 48   dlg_template, H
04d0: 57 4e 44 20 70 61 72 65 6e 74 20 29 0a 09 7b 0a  WND parent )..{.
04e0: 09 09 43 72 65 61 74 65 44 69 61 6c 6f 67 49 6e  ..CreateDialogIn
04f0: 64 69 72 65 63 74 50 61 72 61 6d 28 0a 09 09 09  directParam(....
0500: 47 65 74 4d 6f 64 75 6c 65 48 61 6e 64 6c 65 28  GetModuleHandle(
0510: 6e 75 6c 6c 29 2c 0a 09 09 09 64 6c 67 5f 74 65  null),....dlg_te
0520: 6d 70 6c 61 74 65 2c 0a 09 09 09 70 61 72 65 6e  mplate,....paren
0530: 74 2c 0a 09 09 09 26 73 74 61 74 69 63 5f 64 6c  t,....&static_dl
0540: 67 5f 70 72 6f 63 2c 0a 09 09 09 63 61 73 74 28  g_proc,....cast(
0550: 4c 50 41 52 41 4d 29 20 63 61 73 74 28 44 69 61  LPARAM) cast(Dia
0560: 6c 6f 67 2a 29 20 74 68 69 73 0a 09 09 29 3b 0a  log*) this...);.
0570: 09 7d 0a 0a 09 69 6e 74 20 42 65 67 69 6e 4d 6f  .}...int BeginMo
0580: 64 61 6c 28 20 44 4c 47 54 45 4d 50 4c 41 54 45  dal( DLGTEMPLATE
0590: 2a 20 64 6c 67 5f 74 65 6d 70 6c 61 74 65 2c 20  * dlg_template, 
05a0: 48 57 4e 44 20 70 61 72 65 6e 74 20 29 0a 09 7b  HWND parent )..{
05b0: 0a 09 09 72 65 74 75 72 6e 20 44 69 61 6c 6f 67  ...return Dialog
05c0: 42 6f 78 49 6e 64 69 72 65 63 74 50 61 72 61 6d  BoxIndirectParam
05d0: 28 0a 09 09 09 47 65 74 4d 6f 64 75 6c 65 48 61  (....GetModuleHa
05e0: 6e 64 6c 65 28 6e 75 6c 6c 29 2c 0a 09 09 09 64  ndle(null),....d
05f0: 6c 67 5f 74 65 6d 70 6c 61 74 65 2c 0a 09 09 09  lg_template,....
0600: 70 61 72 65 6e 74 2c 0a 09 09 09 26 73 74 61 74  parent,....&stat
0610: 69 63 5f 64 6c 67 5f 70 72 6f 63 2c 0a 09 09 09  ic_dlg_proc,....
0620: 63 61 73 74 28 4c 50 41 52 41 4d 29 20 63 61 73  cast(LPARAM) cas
0630: 74 28 44 69 61 6c 6f 67 2a 29 20 74 68 69 73 0a  t(Dialog*) this.
0640: 09 09 29 3b 0a 09 7d 0a 0a 09 76 6f 69 64 20 73  ..);..}...void s
0650: 65 74 5f 69 74 65 6d 5f 74 65 78 74 28 20 69 6e  et_item_text( in
0660: 74 20 49 44 2c 20 73 74 72 69 6e 67 20 73 74 72  t ID, string str
0670: 20 29 0a 09 7b 0a 09 09 53 65 74 44 6c 67 49 74   )..{...SetDlgIt
0680: 65 6d 54 65 78 74 41 28 20 68 61 6e 64 6c 65 2c  emTextA( handle,
0690: 20 49 44 2c 20 74 6f 53 74 72 69 6e 67 7a 28 73   ID, toStringz(s
06a0: 74 72 29 20 29 3b 0a 09 7d 0a 0a 09 69 6e 74 20  tr) );..}...int 
06b0: 73 65 6e 64 5f 69 74 65 6d 5f 6d 73 67 28 20 69  send_item_msg( i
06c0: 6e 74 20 49 44 2c 20 55 49 4e 54 20 6d 73 67 2c  nt ID, UINT msg,
06d0: 20 57 50 41 52 41 4d 20 77 70 3d 30 2c 20 4c 50   WPARAM wp=0, LP
06e0: 41 52 41 4d 20 6c 70 3d 30 20 29 0a 09 7b 0a 09  ARAM lp=0 )..{..
06f0: 09 72 65 74 75 72 6e 20 53 65 6e 64 44 6c 67 49  .return SendDlgI
0700: 74 65 6d 4d 65 73 73 61 67 65 28 20 68 61 6e 64  temMessage( hand
0710: 6c 65 2c 20 49 44 2c 20 6d 73 67 2c 20 77 70 2c  le, ID, msg, wp,
0720: 20 6c 70 20 29 3b 0a 09 7d 0a 7d 0a 0a 2f 2f 2d   lp );..}.}..//-
0730: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0740: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0750: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0760: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 2f 2f 20 23  -----------.// #
0770: 32 30 32 35 20 5b e3 83 95 e3 82 a1 e3 82 a4 e3  2025 [..........
0780: 83 ab e3 82 92 e6 93 8d e4 bd 9c e4 b8 ad 5d 0a  ..............].
0790: 2f 2f 20 20 20 32 30 30 36 20 3a 20 e6 9b b8 e5  //   2006 : ....
07a0: ba ab e5 90 8d 0a 2f 2f 20 20 20 32 30 30 37 20  ......//   2007 
07b0: 3a 20 e3 83 95 e3 82 a1 e3 82 a4 e3 83 ab e5 90  : ..............
07c0: 8d ef bc 88 e3 83 91 e3 82 b9 e7 84 a1 e3 81 97  ................
07d0: ef bc 89 0a 2f 2f 20 20 20 32 30 32 34 20 3a 20  ....//   2024 : 
07e0: e3 83 97 e3 83 ad e3 82 b0 e3 83 ac e3 82 b9 e3  ................
07f0: 83 90 e3 83 bc 0a 2f 2f 20 20 20 20 20 20 32 20  ......//      2 
0800: 3a 20 e3 82 ad e3 83 a3 e3 83 b3 e3 82 bb e3 83  : ..............
0810: ab e3 83 9c e3 82 bf e3 83 b3 0a 2f 2f 2d 2d 2d  ...........//---
0820: 2d 2d 2d 2d 2d 2d 2d 2d 2d 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 2d 2d  ----------------
0850: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 63 6c 61 73 73  ---------..class
0860: 20 50 72 6f 67 72 65 73 73 44 6c 67 20 3a 20 44   ProgressDlg : D
0870: 69 61 6c 6f 67 0a 7b 0a 09 74 68 69 73 28 20 44  ialog.{..this( D
0880: 4c 47 54 45 4d 50 4c 41 54 45 2a 20 64 6c 67 5f  LGTEMPLATE* dlg_
0890: 74 65 6d 70 6c 61 74 65 2c 20 48 57 4e 44 20 70  template, HWND p
08a0: 61 72 65 6e 74 20 29 0a 09 7b 0a 09 09 42 65 67  arent )..{...Beg
08b0: 69 6e 4d 6f 64 65 6c 65 73 73 28 20 64 6c 67 5f  inModeless( dlg_
08c0: 74 65 6d 70 6c 61 74 65 2c 20 70 61 72 65 6e 74  template, parent
08d0: 20 29 3b 0a 09 7d 0a 0a 09 76 6f 69 64 20 73 65   );..}...void se
08e0: 74 5f 61 72 63 6e 61 6d 65 20 28 20 73 74 72 69  t_arcname ( stri
08f0: 6e 67 20 73 74 72 20 29 7b 20 73 65 74 5f 69 74  ng str ){ set_it
0900: 65 6d 5f 74 65 78 74 28 20 32 30 30 36 2c 20 73  em_text( 2006, s
0910: 74 72 20 29 3b 20 7d 0a 09 76 6f 69 64 20 73 65  tr ); }..void se
0920: 74 5f 66 69 6c 65 6e 61 6d 65 28 20 73 74 72 69  t_filename( stri
0930: 6e 67 20 73 74 72 20 29 7b 20 73 65 74 5f 69 74  ng str ){ set_it
0940: 65 6d 5f 74 65 78 74 28 20 32 30 30 37 2c 20 73  em_text( 2007, s
0950: 74 72 20 29 3b 20 7d 0a 09 76 6f 69 64 20 73 65  tr ); }..void se
0960: 74 5f 6d 61 78 28 20 72 65 61 6c 20 6d 20 29 20  t_max( real m ) 
0970: 7b 20 6d 61 78 20 3d 20 6d 3b 20 7d 0a 09 76 6f  { max = m; }..vo
0980: 69 64 20 73 65 74 5f 70 6f 73 28 20 72 65 61 6c  id set_pos( real
0990: 20 70 20 29 20 7b 20 73 65 6e 64 5f 69 74 65 6d   p ) { send_item
09a0: 5f 6d 73 67 28 32 30 32 34 2c 50 42 4d 5f 53 45  _msg(2024,PBM_SE
09b0: 54 50 4f 53 2c 63 61 73 74 28 69 6e 74 29 28 70  TPOS,cast(int)(p
09c0: 2f 6d 61 78 2a 36 35 35 33 35 29 2c 30 29 3b 20  /max*65535),0); 
09d0: 7d 0a 0a 09 62 6f 6f 6c 20 63 6c 6f 73 65 64 28  }...bool closed(
09e0: 29 0a 09 7b 0a 09 09 72 65 74 75 72 6e 20 21 61  )..{...return !a
09f0: 6c 69 76 65 3b 0a 09 7d 0a 0a 09 76 6f 69 64 20  live;..}...void 
0a00: 63 6c 6f 73 65 28 29 0a 09 7b 0a 09 09 69 66 28  close()..{...if(
0a10: 20 21 63 6c 6f 73 65 64 20 29 0a 09 09 09 6f 6e   !closed )....on
0a20: 5f 63 61 6e 63 65 6c 28 29 3b 0a 09 7d 0a 0a 70  _cancel();..}..p
0a30: 72 6f 74 65 63 74 65 64 3a 0a 09 62 6f 6f 6c 20  rotected:..bool 
0a40: 61 6c 69 76 65 20 3d 20 66 61 6c 73 65 3b 0a 09  alive = false;..
0a50: 72 65 61 6c 20 6d 61 78 20 3d 20 31 2e 30 3b 0a  real max = 1.0;.
0a60: 0a 09 6f 76 65 72 72 69 64 65 20 76 6f 69 64 20  ..override void 
0a70: 6f 6e 5f 69 6e 69 74 28 29 0a 09 7b 0a 09 09 61  on_init()..{...a
0a80: 6c 69 76 65 20 3d 20 74 72 75 65 3b 0a 09 09 73  live = true;...s
0a90: 65 6e 64 5f 69 74 65 6d 5f 6d 73 67 28 20 32 30  end_item_msg( 20
0aa0: 32 34 2c 20 50 42 4d 5f 53 45 54 52 41 4e 47 45  24, PBM_SETRANGE
0ab0: 2c 20 30 2c 20 4d 41 4b 45 4c 50 41 52 41 4d 28  , 0, MAKELPARAM(
0ac0: 30 2c 36 35 35 33 35 29 20 29 3b 0a 0a 09 09 2f  0,65535) );..../
0ad0: 2f 20 e3 82 bb e3 83 b3 e3 82 bf e3 83 aa e3 83  / ..............
0ae0: b3 e3 82 b0 0a 09 09 52 45 43 54 20 72 63 2c 70  .......RECT rc,p
0af0: 72 3b 0a 09 09 47 65 74 57 69 6e 64 6f 77 52 65  r;...GetWindowRe
0b00: 63 74 28 20 68 61 6e 64 6c 65 2c 20 26 72 63 20  ct( handle, &rc 
0b10: 29 3b 0a 09 09 48 57 4e 44 20 70 61 72 20 3d 20  );...HWND par = 
0b20: 47 65 74 50 61 72 65 6e 74 28 68 61 6e 64 6c 65  GetParent(handle
0b30: 29 3b 0a 09 09 69 66 28 20 70 61 72 20 29 0a 09  );...if( par )..
0b40: 09 09 47 65 74 57 69 6e 64 6f 77 52 65 63 74 28  ..GetWindowRect(
0b50: 20 70 61 72 2c 20 26 70 72 20 29 3b 0a 09 09 65   par, &pr );...e
0b60: 6c 73 65 0a 09 09 09 53 79 73 74 65 6d 50 61 72  lse....SystemPar
0b70: 61 6d 65 74 65 72 73 49 6e 66 6f 28 20 53 50 49  ametersInfo( SPI
0b80: 5f 47 45 54 57 4f 52 4b 41 52 45 41 2c 20 30 2c  _GETWORKAREA, 0,
0b90: 20 26 70 72 2c 20 30 20 29 3b 0a 09 09 53 65 74   &pr, 0 );...Set
0ba0: 57 69 6e 64 6f 77 50 6f 73 28 20 68 61 6e 64 6c  WindowPos( handl
0bb0: 65 2c 20 6e 75 6c 6c 2c 0a 09 09 09 70 72 2e 6c  e, null,....pr.l
0bc0: 65 66 74 20 2b 20 28 20 28 70 72 2e 72 69 67 68  eft + ( (pr.righ
0bd0: 74 2d 70 72 2e 6c 65 66 74 29 2d 28 72 63 2e 72  t-pr.left)-(rc.r
0be0: 69 67 68 74 2d 72 63 2e 6c 65 66 74 29 20 29 2f  ight-rc.left) )/
0bf0: 32 2c 0a 09 09 09 70 72 2e 74 6f 70 20 20 2b 20  2,....pr.top  + 
0c00: 28 20 28 70 72 2e 62 6f 74 74 6f 6d 2d 70 72 2e  ( (pr.bottom-pr.
0c10: 74 6f 70 29 2d 28 72 63 2e 62 6f 74 74 6f 6d 2d  top)-(rc.bottom-
0c20: 72 63 2e 74 6f 70 29 20 29 2f 32 2c 0a 09 09 09  rc.top) )/2,....
0c30: 30 2c 20 30 2c 20 53 57 50 5f 4e 4f 53 49 5a 45  0, 0, SWP_NOSIZE
0c40: 7c 53 57 50 5f 4e 4f 5a 4f 52 44 45 52 20 29 3b  |SWP_NOZORDER );
0c50: 0a 0a 09 09 2f 2f 20 e8 a1 a8 e7 a4 ba 0a 09 09  ....// .........
0c60: 53 68 6f 77 57 69 6e 64 6f 77 28 68 61 6e 64 6c  ShowWindow(handl
0c70: 65 2c 53 57 5f 53 48 4f 57 29 3b 0a 09 09 55 70  e,SW_SHOW);...Up
0c80: 64 61 74 65 57 69 6e 64 6f 77 28 68 61 6e 64 6c  dateWindow(handl
0c90: 65 29 3b 0a 09 7d 0a 0a 09 6f 76 65 72 72 69 64  e);..}...overrid
0ca0: 65 20 62 6f 6f 6c 20 6f 6e 5f 63 61 6e 63 65 6c  e bool on_cancel
0cb0: 28 29 0a 09 7b 0a 09 09 61 6c 69 76 65 20 3d 20  ()..{...alive = 
0cc0: 66 61 6c 73 65 3b 0a 09 09 44 65 73 74 72 6f 79  false;...Destroy
0cd0: 57 69 6e 64 6f 77 28 68 61 6e 64 6c 65 29 3b 0a  Window(handle);.
0ce0: 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 09  ..return true;..
0cf0: 7d 0a 7d 0a 0a 2f 2f 2d 2d 2d 2d 2d 2d 2d 2d 2d  }.}..//---------
0d00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0d10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0d20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0d30: 2d 2d 2d 0a 2f 2f 20 23 32 30 30 30 20 20 5b e3  ---.// #2000  [.
0d40: 83 95 e3 82 a1 e3 82 a4 e3 83 ab e3 81 ae e4 b8  ................
0d50: 8a e6 9b b8 e3 81 8d e7 a2 ba e8 aa 8d 5d 0a 2f  .............]./
0d60: 2f 20 20 20 32 30 30 36 20 e6 9b b8 e5 ba ab e5  /   2006 .......
0d70: 86 85 e3 83 95 e3 82 a1 e3 82 a4 e3 83 ab e5 90  ................
0d80: 8d 0a 2f 2f 20 20 20 32 30 30 39 20 e3 83 95 e3  ..//   2009 ....
0d90: 82 a1 e3 82 a4 e3 83 ab e3 82 b5 e3 82 a4 e3 82  ................
0da0: ba 20 20 20 35 36 34 2c 35 39 30 20 42 79 74 65  .   564,590 Byte
0db0: 0a 2f 2f 20 20 20 32 30 31 30 20 e6 9b b4 e6 96  .//   2010 .....
0dc0: b0 e6 97 a5 e6 99 82 20 20 20 20 20 20 20 20 20  .......         
0dd0: 32 30 30 34 5c 30 38 5c 32 37 20 30 33 3a 35 37  2004\08\27 03:57
0de0: 3a 31 38 0a 2f 2f 20 20 20 32 30 30 37 20 e5 a4  :18.//   2007 ..
0df0: 96 e9 83 a8 e3 83 95 e3 82 a1 e3 82 a4 e3 83 ab  ................
0e00: e5 90 8d 0a 2f 2f 20 20 20 32 30 31 31 20 e3 83  ....//   2011 ..
0e10: 95 e3 82 a1 e3 82 a4 e3 83 ab e3 82 b5 e3 82 a4  ................
0e20: e3 82 ba 0a 2f 2f 20 20 20 32 30 31 32 20 e6 9b  ....//   2012 ..
0e30: b4 e6 96 b0 e6 97 a5 e6 99 82 0a 2f 2f 0a 2f 2f  ...........//.//
0e40: 20 20 20 32 30 30 32 3a e4 b8 8a e6 9b b8 e3 81     2002:........
0e50: 8d 20 20 32 30 30 34 3a e6 97 a5 e4 bb 98 e3 81  .  2004:........
0e60: 8c e6 96 b0 e3 81 97 e3 81 91 e3 82 8c e3 81 b0  ................
0e70: e4 b8 8a e6 9b b8 e3 81 8d 20 32 30 30 33 3a e4  ......... 2003:.
0e80: b8 8a e6 9b b8 e3 81 8d e3 81 97 e3 81 aa e3 81  ................
0e90: 84 0a 2f 2f 0a 2f 2f 20 20 20 20 20 20 31 3a 20  ..//.//      1: 
0ea0: 4f 4b e3 83 9c e3 82 bf e3 83 b3 0a 2f 2f 20 20  OK..........//  
0eb0: 20 32 30 30 35 3a 20 e4 bb a5 e9 99 8d e5 85 a8   2005: .........
0ec0: e3 81 a6 e3 81 ab e9 81 a9 e7 94 a8 e3 83 9c e3  ................
0ed0: 82 bf e3 83 b3 0a 2f 2f 20 20 20 20 20 20 32 3a  ......//      2:
0ee0: 20 e3 82 ad e3 83 a3 e3 83 b3 e3 82 bb e3 83 ab   ...............
0ef0: e3 83 9c e3 82 bf e3 83 b3 0a 2f 2f 2d 2d 2d 2d  ..........//----
0f00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0f10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0f20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0f30: 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a                    --------..