Hex Artifact Content

Not logged in

Artifact 983218cb4853f610d7b6de3ba62d7a8cc76c1436:


0000: ef bb bf 70 72 69 76 61 74 65 20 69 6d 70 6f 72  ...private impor
0010: 74 20 73 74 64 2e 73 74 72 69 6e 67 3b 0a 70 72  t std.string;.pr
0020: 69 76 61 74 65 20 69 6d 70 6f 72 74 20 77 69 6e  ivate import win
0030: 33 32 2e 61 6e 73 69 2e 77 69 6e 64 6f 77 73 3b  32.ansi.windows;
0040: 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20  .private import 
0050: 77 69 6e 33 32 2e 61 6e 73 69 2e 63 6f 6d 6d 63  win32.ansi.commc
0060: 74 72 6c 3b 0a 70 72 69 76 61 74 65 20 69 6d 70  trl;.private imp
0070: 6f 72 74 20 71 62 67 61 33 32 3b 0a 0a 76 6f 69  ort qbga32;..voi
0080: 64 20 70 72 6f 63 65 73 73 5f 6d 65 73 73 61 67  d process_messag
0090: 65 73 28 29 0a 7b 0a 09 66 6f 72 28 20 4d 53 47  es().{..for( MSG
00a0: 20 6d 73 67 3b 20 50 65 65 6b 4d 65 73 73 61 67   msg; PeekMessag
00b0: 65 28 20 26 6d 73 67 2c 20 4e 55 4c 4c 2c 20 30  e( &msg, NULL, 0
00c0: 2c 20 30 2c 20 50 4d 5f 52 45 4d 4f 56 45 20 29  , 0, PM_REMOVE )
00d0: 3b 20 29 0a 09 7b 0a 09 09 54 72 61 6e 73 6c 61  ; )..{...Transla
00e0: 74 65 4d 65 73 73 61 67 65 28 20 26 6d 73 67 20  teMessage( &msg 
00f0: 29 3b 0a 09 09 44 69 73 70 61 74 63 68 4d 65 73  );...DispatchMes
0100: 73 61 67 65 28 20 26 6d 73 67 20 29 3b 0a 09 7d  sage( &msg );..}
0110: 0a 7d 0a 0a 2f 2f 20 e5 ae 9f e8 a3 85 e7 b6 99  .}..// .........
0120: e6 89 bf 28 77 0a 0a 63 6c 61 73 73 20 44 69 61  ...(w..class Dia
0130: 6c 6f 67 0a 7b 0a 70 75 62 6c 69 63 3a 0a 09 48  log.{.public:..H
0140: 57 4e 44 20 68 77 6e 64 28 29 0a 09 7b 0a 09 09  WND hwnd()..{...
0150: 72 65 74 75 72 6e 20 68 61 6e 64 6c 65 3b 0a 09  return handle;..
0160: 7d 0a 0a 70 72 6f 74 65 63 74 65 64 3a 0a 09 76  }..protected:..v
0170: 6f 69 64 20 6f 6e 5f 69 6e 69 74 28 29 20 20 20  oid on_init()   
0180: 7b 20 4d 65 73 73 61 67 65 42 6f 78 28 6e 75 6c  { MessageBox(nul
0190: 6c 2c 22 78 78 78 22 2c 6e 75 6c 6c 2c 4d 42 5f  l,"xxx",null,MB_
01a0: 4f 4b 29 3b 20 7d 0a 09 62 6f 6f 6c 20 6f 6e 5f  OK); }..bool on_
01b0: 6f 6b 28 29 20 20 20 20 20 7b 20 72 65 74 75 72  ok()     { retur
01c0: 6e 20 66 61 6c 73 65 3b 20 7d 0a 09 62 6f 6f 6c  n false; }..bool
01d0: 20 6f 6e 5f 63 61 6e 63 65 6c 28 29 20 7b 20 72   on_cancel() { r
01e0: 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 09  eturn false; }..
01f0: 62 6f 6f 6c 20 6f 6e 5f 63 6f 6d 6d 61 6e 64 28  bool on_command(
0200: 20 55 49 4e 54 20 63 6d 64 20 29 20 7b 20 72 65   UINT cmd ) { re
0210: 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 09 62  turn false; }..b
0220: 6f 6f 6c 20 6f 6e 5f 6d 65 73 73 61 67 65 28 20  ool on_message( 
0230: 55 49 4e 54 20 6d 73 67 2c 20 57 50 41 52 41 4d  UINT msg, WPARAM
0240: 20 77 70 2c 20 4c 50 41 52 41 4d 20 6c 70 20 29   wp, LPARAM lp )
0250: 20 7b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b   { return false;
0260: 20 7d 0a 0a 09 65 78 74 65 72 6e 28 57 69 6e 64   }...extern(Wind
0270: 6f 77 73 29 20 70 72 69 76 61 74 65 20 73 74 61  ows) private sta
0280: 74 69 63 20 42 4f 4f 4c 0a 09 09 73 74 61 74 69  tic BOOL...stati
0290: 63 5f 64 6c 67 5f 70 72 6f 63 28 20 48 57 4e 44  c_dlg_proc( HWND
02a0: 20 64 6c 67 2c 20 55 49 4e 54 20 6d 73 67 2c 20   dlg, UINT msg, 
02b0: 57 50 41 52 41 4d 20 77 70 2c 20 4c 50 41 52 41  WPARAM wp, LPARA
02c0: 4d 20 6c 70 20 29 0a 09 7b 0a 09 09 69 66 28 20  M lp )..{...if( 
02d0: 6d 73 67 20 3d 3d 20 57 4d 5f 49 4e 49 54 44 49  msg == WM_INITDI
02e0: 41 4c 4f 47 20 29 0a 09 09 7b 0a 09 09 09 53 65  ALOG )...{....Se
02f0: 74 57 69 6e 64 6f 77 4c 6f 6e 67 28 20 64 6c 67  tWindowLong( dlg
0300: 2c 20 47 57 4c 5f 55 53 45 52 44 41 54 41 2c 20  , GWL_USERDATA, 
0310: 6c 70 20 29 3b 0a 0a 09 09 09 44 69 61 6c 6f 67  lp );.....Dialog
0320: 20 70 74 72 20 3d 20 63 61 73 74 28 44 69 61 6c   ptr = cast(Dial
0330: 6f 67 29 20 63 61 73 74 28 44 69 61 6c 6f 67 2a  og) cast(Dialog*
0340: 29 20 6c 70 3b 0a 09 09 09 70 74 72 2e 68 61 6e  ) lp;....ptr.han
0350: 64 6c 65 20 3d 20 64 6c 67 3b 0a 09 09 09 70 74  dle = dlg;....pt
0360: 72 2e 6f 6e 5f 69 6e 69 74 28 29 3b 0a 09 09 09  r.on_init();....
0370: 72 65 74 75 72 6e 20 46 41 4c 53 45 3b 0a 09 09  return FALSE;...
0380: 7d 0a 0a 09 09 44 69 61 6c 6f 67 20 70 74 72 20  }....Dialog ptr 
0390: 3d 20 63 61 73 74 28 44 69 61 6c 6f 67 29 20 63  = cast(Dialog) c
03a0: 61 73 74 28 44 69 61 6c 6f 67 2a 29 20 47 65 74  ast(Dialog*) Get
03b0: 57 69 6e 64 6f 77 4c 6f 6e 67 28 64 6c 67 2c 47  WindowLong(dlg,G
03c0: 57 4c 5f 55 53 45 52 44 41 54 41 29 3b 0a 09 09  WL_USERDATA);...
03d0: 69 66 28 20 70 74 72 20 69 73 20 6e 75 6c 6c 20  if( ptr is null 
03e0: 29 0a 09 09 09 72 65 74 75 72 6e 20 46 41 4c 53  )....return FALS
03f0: 45 3b 0a 0a 09 09 69 66 28 20 6d 73 67 20 3d 3d  E;....if( msg ==
0400: 20 57 4d 5f 43 4f 4d 4d 41 4e 44 20 29 0a 09 09   WM_COMMAND )...
0410: 09 69 66 28 20 4c 4f 57 4f 52 44 28 77 70 29 20  .if( LOWORD(wp) 
0420: 3d 3d 20 49 44 4f 4b 20 29 0a 09 09 09 09 72 65  == IDOK ).....re
0430: 74 75 72 6e 20 70 74 72 2e 6f 6e 5f 6f 6b 28 29  turn ptr.on_ok()
0440: 3b 0a 09 09 09 65 6c 73 65 20 69 66 28 20 4c 4f  ;....else if( LO
0450: 57 4f 52 44 28 77 70 29 20 3d 3d 20 49 44 43 41  WORD(wp) == IDCA
0460: 4e 43 45 4c 20 29 0a 09 09 09 09 72 65 74 75 72  NCEL ).....retur
0470: 6e 20 70 74 72 2e 6f 6e 5f 63 61 6e 63 65 6c 28  n ptr.on_cancel(
0480: 29 3b 0a 09 09 09 65 6c 73 65 0a 09 09 09 09 72  );....else.....r
0490: 65 74 75 72 6e 20 70 74 72 2e 6f 6e 5f 63 6f 6d  eturn ptr.on_com
04a0: 6d 61 6e 64 28 20 4c 4f 57 4f 52 44 28 77 70 29  mand( LOWORD(wp)
04b0: 20 29 3b 0a 09 09 72 65 74 75 72 6e 20 70 74 72   );...return ptr
04c0: 2e 6f 6e 5f 6d 65 73 73 61 67 65 28 6d 73 67 2c  .on_message(msg,
04d0: 77 70 2c 6c 70 29 3b 0a 09 7d 0a 0a 70 72 6f 74  wp,lp);..}..prot
04e0: 65 63 74 65 64 3a 0a 09 48 57 4e 44 20 68 61 6e  ected:..HWND han
04f0: 64 6c 65 3b 0a 09 76 6f 69 64 20 42 65 67 69 6e  dle;..void Begin
0500: 4d 6f 64 65 6c 65 73 73 28 20 44 4c 47 54 45 4d  Modeless( DLGTEM
0510: 50 4c 41 54 45 2a 20 64 6c 67 5f 74 65 6d 70 6c  PLATE* dlg_templ
0520: 61 74 65 2c 20 48 57 4e 44 20 70 61 72 65 6e 74  ate, HWND parent
0530: 20 29 0a 09 7b 0a 09 09 43 72 65 61 74 65 44 69   )..{...CreateDi
0540: 61 6c 6f 67 49 6e 64 69 72 65 63 74 50 61 72 61  alogIndirectPara
0550: 6d 28 0a 09 09 09 67 5f 68 69 6e 73 74 2c 0a 09  m(....g_hinst,..
0560: 09 09 64 6c 67 5f 74 65 6d 70 6c 61 74 65 2c 0a  ..dlg_template,.
0570: 09 09 09 70 61 72 65 6e 74 2c 0a 09 09 09 26 73  ...parent,....&s
0580: 74 61 74 69 63 5f 64 6c 67 5f 70 72 6f 63 2c 0a  tatic_dlg_proc,.
0590: 09 09 09 63 61 73 74 28 4c 50 41 52 41 4d 29 20  ...cast(LPARAM) 
05a0: 63 61 73 74 28 44 69 61 6c 6f 67 2a 29 20 74 68  cast(Dialog*) th
05b0: 69 73 0a 09 09 29 3b 0a 09 7d 0a 0a 09 69 6e 74  is...);..}...int
05c0: 20 42 65 67 69 6e 4d 6f 64 61 6c 28 20 44 4c 47   BeginModal( DLG
05d0: 54 45 4d 50 4c 41 54 45 2a 20 64 6c 67 5f 74 65  TEMPLATE* dlg_te
05e0: 6d 70 6c 61 74 65 2c 20 48 57 4e 44 20 70 61 72  mplate, HWND par
05f0: 65 6e 74 20 29 0a 09 7b 0a 09 09 72 65 74 75 72  ent )..{...retur
0600: 6e 20 44 69 61 6c 6f 67 42 6f 78 49 6e 64 69 72  n DialogBoxIndir
0610: 65 63 74 50 61 72 61 6d 28 0a 09 09 09 67 5f 68  ectParam(....g_h
0620: 69 6e 73 74 2c 0a 09 09 09 64 6c 67 5f 74 65 6d  inst,....dlg_tem
0630: 70 6c 61 74 65 2c 0a 09 09 09 70 61 72 65 6e 74  plate,....parent
0640: 2c 0a 09 09 09 26 73 74 61 74 69 63 5f 64 6c 67  ,....&static_dlg
0650: 5f 70 72 6f 63 2c 0a 09 09 09 63 61 73 74 28 4c  _proc,....cast(L
0660: 50 41 52 41 4d 29 20 63 61 73 74 28 44 69 61 6c  PARAM) cast(Dial
0670: 6f 67 2a 29 20 74 68 69 73 0a 09 09 29 3b 0a 09  og*) this...);..
0680: 7d 0a 0a 09 76 6f 69 64 20 73 65 74 5f 69 74 65  }...void set_ite
0690: 6d 5f 74 65 78 74 28 20 69 6e 74 20 49 44 2c 20  m_text( int ID, 
06a0: 63 68 61 72 5b 5d 20 73 74 72 20 29 0a 09 7b 0a  char[] str )..{.
06b0: 09 09 53 65 74 44 6c 67 49 74 65 6d 54 65 78 74  ..SetDlgItemText
06c0: 28 20 68 61 6e 64 6c 65 2c 20 49 44 2c 20 74 6f  ( handle, ID, to
06d0: 53 74 72 69 6e 67 7a 28 73 74 72 29 20 29 3b 0a  Stringz(str) );.
06e0: 09 7d 0a 0a 09 69 6e 74 20 73 65 6e 64 5f 69 74  .}...int send_it
06f0: 65 6d 5f 6d 73 67 28 20 69 6e 74 20 49 44 2c 20  em_msg( int ID, 
0700: 55 49 4e 54 20 6d 73 67 2c 20 57 50 41 52 41 4d  UINT msg, WPARAM
0710: 20 77 70 3d 30 2c 20 4c 50 41 52 41 4d 20 6c 70   wp=0, LPARAM lp
0720: 3d 30 20 29 0a 09 7b 0a 09 09 72 65 74 75 72 6e  =0 )..{...return
0730: 20 53 65 6e 64 44 6c 67 49 74 65 6d 4d 65 73 73   SendDlgItemMess
0740: 61 67 65 28 20 68 61 6e 64 6c 65 2c 20 49 44 2c  age( handle, ID,
0750: 20 6d 73 67 2c 20 77 70 2c 20 6c 70 20 29 3b 0a   msg, wp, lp );.
0760: 09 7d 0a 7d 0a 0a 2f 2f 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 2d 2d  ----------------
07a0: 2d 2d 2d 2d 0a 2f 2f 20 23 32 30 32 35 20 5b e3  ----.// #2025 [.
07b0: 83 95 e3 82 a1 e3 82 a4 e3 83 ab e3 82 92 e6 93  ................
07c0: 8d e4 bd 9c e4 b8 ad 5d 0a 2f 2f 20 20 20 32 30  .......].//   20
07d0: 30 36 20 3a 20 e6 9b b8 e5 ba ab e5 90 8d 0a 2f  06 : ........../
07e0: 2f 20 20 20 32 30 30 37 20 3a 20 e3 83 95 e3 82  /   2007 : .....
07f0: a1 e3 82 a4 e3 83 ab e5 90 8d ef bc 88 e3 83 91  ................
0800: e3 82 b9 e7 84 a1 e3 81 97 ef bc 89 0a 2f 2f 20  .............// 
0810: 20 20 32 30 32 34 20 3a 20 e3 83 97 e3 83 ad e3    2024 : .......
0820: 82 b0 e3 83 ac e3 82 b9 e3 83 90 e3 83 bc 0a 2f  .............../
0830: 2f 20 20 20 20 20 20 32 20 3a 20 e3 82 ad e3 83  /      2 : .....
0840: a3 e3 83 b3 e3 82 bb e3 83 ab e3 83 9c e3 82 bf  ................
0850: e3 83 b3 0a 2f 2f 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 2d 2d 2d 2d  ----------------
0890: 2d 2d 0a 0a 63 6c 61 73 73 20 50 72 6f 67 72 65  --..class Progre
08a0: 73 73 44 6c 67 20 3a 20 44 69 61 6c 6f 67 0a 7b  ssDlg : Dialog.{
08b0: 0a 09 74 68 69 73 28 20 44 4c 47 54 45 4d 50 4c  ..this( DLGTEMPL
08c0: 41 54 45 2a 20 64 6c 67 5f 74 65 6d 70 6c 61 74  ATE* dlg_templat
08d0: 65 2c 20 48 57 4e 44 20 70 61 72 65 6e 74 20 29  e, HWND parent )
08e0: 0a 09 7b 0a 09 09 42 65 67 69 6e 4d 6f 64 65 6c  ..{...BeginModel
08f0: 65 73 73 28 20 64 6c 67 5f 74 65 6d 70 6c 61 74  ess( dlg_templat
0900: 65 2c 20 70 61 72 65 6e 74 20 29 3b 0a 09 7d 0a  e, parent );..}.
0910: 0a 09 76 6f 69 64 20 73 65 74 5f 61 72 63 6e 61  ..void set_arcna
0920: 6d 65 20 28 20 63 68 61 72 5b 5d 20 73 74 72 20  me ( char[] str 
0930: 29 7b 20 73 65 74 5f 69 74 65 6d 5f 74 65 78 74  ){ set_item_text
0940: 28 20 32 30 30 36 2c 20 73 74 72 20 29 3b 20 7d  ( 2006, str ); }
0950: 0a 09 76 6f 69 64 20 73 65 74 5f 66 69 6c 65 6e  ..void set_filen
0960: 61 6d 65 28 20 63 68 61 72 5b 5d 20 73 74 72 20  ame( char[] str 
0970: 29 7b 20 73 65 74 5f 69 74 65 6d 5f 74 65 78 74  ){ set_item_text
0980: 28 20 32 30 30 37 2c 20 73 74 72 20 29 3b 20 7d  ( 2007, str ); }
0990: 0a 09 76 6f 69 64 20 73 65 74 5f 6d 61 78 28 20  ..void set_max( 
09a0: 72 65 61 6c 20 6d 20 29 20 7b 20 6d 61 78 20 3d  real m ) { max =
09b0: 20 6d 3b 20 7d 0a 09 76 6f 69 64 20 73 65 74 5f   m; }..void set_
09c0: 70 6f 73 28 20 72 65 61 6c 20 70 20 29 20 7b 20  pos( real p ) { 
09d0: 73 65 6e 64 5f 69 74 65 6d 5f 6d 73 67 28 32 30  send_item_msg(20
09e0: 32 34 2c 50 42 4d 5f 53 45 54 50 4f 53 2c 63 61  24,PBM_SETPOS,ca
09f0: 73 74 28 69 6e 74 29 28 70 2f 6d 61 78 2a 36 35  st(int)(p/max*65
0a00: 35 33 35 29 2c 30 29 3b 20 7d 0a 0a 09 62 6f 6f  535),0); }...boo
0a10: 6c 20 63 6c 6f 73 65 64 28 29 0a 09 7b 0a 09 09  l closed()..{...
0a20: 72 65 74 75 72 6e 20 21 61 6c 69 76 65 3b 0a 09  return !alive;..
0a30: 7d 0a 0a 09 76 6f 69 64 20 63 6c 6f 73 65 28 29  }...void close()
0a40: 0a 09 7b 0a 09 09 69 66 28 20 21 63 6c 6f 73 65  ..{...if( !close
0a50: 64 20 29 0a 09 09 09 6f 6e 5f 63 61 6e 63 65 6c  d )....on_cancel
0a60: 28 29 3b 0a 09 7d 0a 0a 70 72 6f 74 65 63 74 65  ();..}..protecte
0a70: 64 3a 0a 09 62 6f 6f 6c 20 61 6c 69 76 65 20 3d  d:..bool alive =
0a80: 20 66 61 6c 73 65 3b 0a 09 72 65 61 6c 20 6d 61   false;..real ma
0a90: 78 20 3d 20 31 2e 30 3b 0a 0a 09 6f 76 65 72 72  x = 1.0;...overr
0aa0: 69 64 65 20 76 6f 69 64 20 6f 6e 5f 69 6e 69 74  ide void on_init
0ab0: 28 29 0a 09 7b 0a 09 09 61 6c 69 76 65 20 3d 20  ()..{...alive = 
0ac0: 74 72 75 65 3b 0a 09 09 73 65 6e 64 5f 69 74 65  true;...send_ite
0ad0: 6d 5f 6d 73 67 28 20 32 30 32 34 2c 20 50 42 4d  m_msg( 2024, PBM
0ae0: 5f 53 45 54 52 41 4e 47 45 2c 20 30 2c 20 4d 41  _SETRANGE, 0, MA
0af0: 4b 45 4c 50 41 52 41 4d 28 30 2c 36 35 35 33 35  KELPARAM(0,65535
0b00: 29 20 29 3b 0a 0a 09 09 2f 2f 20 e3 82 bb e3 83  ) );....// .....
0b10: b3 e3 82 bf e3 83 aa e3 83 b3 e3 82 b0 0a 09 09  ................
0b20: 52 45 43 54 20 72 63 2c 70 72 3b 0a 09 09 47 65  RECT rc,pr;...Ge
0b30: 74 57 69 6e 64 6f 77 52 65 63 74 28 20 68 61 6e  tWindowRect( han
0b40: 64 6c 65 2c 20 26 72 63 20 29 3b 0a 09 09 48 57  dle, &rc );...HW
0b50: 4e 44 20 70 61 72 20 3d 20 47 65 74 50 61 72 65  ND par = GetPare
0b60: 6e 74 28 68 61 6e 64 6c 65 29 3b 0a 09 09 69 66  nt(handle);...if
0b70: 28 20 70 61 72 20 29 0a 09 09 09 47 65 74 57 69  ( par )....GetWi
0b80: 6e 64 6f 77 52 65 63 74 28 20 70 61 72 2c 20 26  ndowRect( par, &
0b90: 70 72 20 29 3b 0a 09 09 65 6c 73 65 0a 09 09 09  pr );...else....
0ba0: 53 79 73 74 65 6d 50 61 72 61 6d 65 74 65 72 73  SystemParameters
0bb0: 49 6e 66 6f 28 20 53 50 49 5f 47 45 54 57 4f 52  Info( SPI_GETWOR
0bc0: 4b 41 52 45 41 2c 20 30 2c 20 26 70 72 2c 20 30  KAREA, 0, &pr, 0
0bd0: 20 29 3b 0a 09 09 53 65 74 57 69 6e 64 6f 77 50   );...SetWindowP
0be0: 6f 73 28 20 68 61 6e 64 6c 65 2c 20 6e 75 6c 6c  os( handle, null
0bf0: 2c 0a 09 09 09 70 72 2e 6c 65 66 74 20 2b 20 28  ,....pr.left + (
0c00: 20 28 70 72 2e 72 69 67 68 74 2d 70 72 2e 6c 65   (pr.right-pr.le
0c10: 66 74 29 2d 28 72 63 2e 72 69 67 68 74 2d 72 63  ft)-(rc.right-rc
0c20: 2e 6c 65 66 74 29 20 29 2f 32 2c 0a 09 09 09 70  .left) )/2,....p
0c30: 72 2e 74 6f 70 20 20 2b 20 28 20 28 70 72 2e 62  r.top  + ( (pr.b
0c40: 6f 74 74 6f 6d 2d 70 72 2e 74 6f 70 29 2d 28 72  ottom-pr.top)-(r
0c50: 63 2e 62 6f 74 74 6f 6d 2d 72 63 2e 74 6f 70 29  c.bottom-rc.top)
0c60: 20 29 2f 32 2c 0a 09 09 09 30 2c 20 30 2c 20 53   )/2,....0, 0, S
0c70: 57 50 5f 4e 4f 53 49 5a 45 7c 53 57 50 5f 4e 4f  WP_NOSIZE|SWP_NO
0c80: 5a 4f 52 44 45 52 20 29 3b 0a 0a 09 09 2f 2f 20  ZORDER );....// 
0c90: e8 a1 a8 e7 a4 ba 0a 09 09 53 68 6f 77 57 69 6e  .........ShowWin
0ca0: 64 6f 77 28 68 61 6e 64 6c 65 2c 53 57 5f 53 48  dow(handle,SW_SH
0cb0: 4f 57 29 3b 0a 09 09 55 70 64 61 74 65 57 69 6e  OW);...UpdateWin
0cc0: 64 6f 77 28 68 61 6e 64 6c 65 29 3b 0a 09 7d 0a  dow(handle);..}.
0cd0: 0a 09 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20  ..override bool 
0ce0: 6f 6e 5f 63 61 6e 63 65 6c 28 29 0a 09 7b 0a 09  on_cancel()..{..
0cf0: 09 61 6c 69 76 65 20 3d 20 66 61 6c 73 65 3b 0a  .alive = false;.
0d00: 09 09 44 65 73 74 72 6f 79 57 69 6e 64 6f 77 28  ..DestroyWindow(
0d10: 68 61 6e 64 6c 65 29 3b 0a 09 09 72 65 74 75 72  handle);...retur
0d20: 6e 20 74 72 75 65 3b 0a 09 7d 0a 7d 0a 0a 2f 2f  n true;..}.}..//
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 2d 2d 2d 2d 2d 2d 0a 2f 2f 20  ------------.// 
0d70: 23 32 30 30 30 20 20 5b e3 83 95 e3 82 a1 e3 82  #2000  [........
0d80: a4 e3 83 ab e3 81 ae e4 b8 8a e6 9b b8 e3 81 8d  ................
0d90: e7 a2 ba e8 aa 8d 5d 0a 2f 2f 20 20 20 32 30 30  ......].//   200
0da0: 36 20 e6 9b b8 e5 ba ab e5 86 85 e3 83 95 e3 82  6 ..............
0db0: a1 e3 82 a4 e3 83 ab e5 90 8d 0a 2f 2f 20 20 20  ...........//   
0dc0: 32 30 30 39 20 e3 83 95 e3 82 a1 e3 82 a4 e3 83  2009 ...........
0dd0: ab e3 82 b5 e3 82 a4 e3 82 ba 20 20 20 35 36 34  ..........   564
0de0: 2c 35 39 30 20 42 79 74 65 0a 2f 2f 20 20 20 32  ,590 Byte.//   2
0df0: 30 31 30 20 e6 9b b4 e6 96 b0 e6 97 a5 e6 99 82  010 ............
0e00: 20 20 20 20 20 20 20 20 20 32 30 30 34 5c 30 38           2004\08
0e10: 5c 32 37 20 30 33 3a 35 37 3a 31 38 0a 2f 2f 20  \27 03:57:18.// 
0e20: 20 20 32 30 30 37 20 e5 a4 96 e9 83 a8 e3 83 95    2007 .........
0e30: e3 82 a1 e3 82 a4 e3 83 ab e5 90 8d 0a 2f 2f 20  .............// 
0e40: 20 20 32 30 31 31 20 e3 83 95 e3 82 a1 e3 82 a4    2011 .........
0e50: e3 83 ab e3 82 b5 e3 82 a4 e3 82 ba 0a 2f 2f 20  .............// 
0e60: 20 20 32 30 31 32 20 e6 9b b4 e6 96 b0 e6 97 a5    2012 .........
0e70: e6 99 82 0a 2f 2f 0a 2f 2f 20 20 20 32 30 30 32  ....//.//   2002
0e80: 3a e4 b8 8a e6 9b b8 e3 81 8d 20 20 32 30 30 34  :.........  2004
0e90: 3a e6 97 a5 e4 bb 98 e3 81 8c e6 96 b0 e3 81 97  :...............
0ea0: e3 81 91 e3 82 8c e3 81 b0 e4 b8 8a e6 9b b8 e3  ................
0eb0: 81 8d 20 32 30 30 33 3a e4 b8 8a e6 9b b8 e3 81  .. 2003:........
0ec0: 8d e3 81 97 e3 81 aa e3 81 84 0a 2f 2f 0a 2f 2f  ...........//.//
0ed0: 20 20 20 20 20 20 31 3a 20 4f 4b e3 83 9c e3 82        1: OK.....
0ee0: bf e3 83 b3 0a 2f 2f 20 20 20 32 30 30 35 3a 20  .....//   2005: 
0ef0: e4 bb a5 e9 99 8d e5 85 a8 e3 81 a6 e3 81 ab e9  ................
0f00: 81 a9 e7 94 a8 e3 83 9c e3 82 bf e3 83 b3 0a 2f  .............../
0f10: 2f 20 20 20 20 20 20 32 3a 20 e3 82 ad e3 83 a3  /      2: ......
0f20: e3 83 b3 e3 82 bb e3 83 ab e3 83 9c e3 82 bf e3  ................
0f30: 83 b3 0a 2f 2f 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 2d 2d 2d 2d 2d  ----------------
0f70: 2d 0a 0a                                         -..