Diff

Not logged in

Differences From Artifact [983218cb4853f610]:

To Artifact [36c6085700197d43]:


1 private import std.string; | 1 private import win32.windows; 2 private import win32.ansi.windows; | 2 private import win32.commctrl; 3 private import win32.ansi.commctrl; | 3 private import std.string; 4 private import qbga32; 4 private import qbga32; 5 5 6 void process_messages() 6 void process_messages() 7 { 7 { 8 for( MSG msg; PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ); ) | 8 for( MSG msg; PeekMessageA( &msg, null, 0, 0, PM_REMOVE ); ) 9 { 9 { 10 TranslateMessage( &msg ); 10 TranslateMessage( &msg ); 11 DispatchMessage( &msg ); | 11 DispatchMessageA( &msg ); 12 } 12 } 13 } 13 } 14 14 15 // 実装継承(w 15 // 実装継承(w 16 16 17 class Dialog 17 class Dialog 18 { 18 { ................................................................................................................................................................................ 19 public: 19 public: 20 HWND hwnd() 20 HWND hwnd() 21 { 21 { 22 return handle; 22 return handle; 23 } 23 } 24 24 25 protected: 25 protected: 26 void on_init() { MessageBox(null,"xxx",null,MB_OK); } | 26 void on_init() { MessageBoxA(null,"xxx",null,MB_OK); } 27 bool on_ok() { return false; } 27 bool on_ok() { return false; } 28 bool on_cancel() { return false; } 28 bool on_cancel() { return false; } 29 bool on_command( UINT cmd ) { return false; } 29 bool on_command( UINT cmd ) { return false; } 30 bool on_message( UINT msg, WPARAM wp, LPARAM lp ) { return false; } 30 bool on_message( UINT msg, WPARAM wp, LPARAM lp ) { return false; } 31 31 32 extern(Windows) private static BOOL 32 extern(Windows) private static BOOL 33 static_dlg_proc( HWND dlg, UINT msg, WPARAM wp, LPARAM lp ) 33 static_dlg_proc( HWND dlg, UINT msg, WPARAM wp, LPARAM lp ) ................................................................................................................................................................................ 76 dlg_template, 76 dlg_template, 77 parent, 77 parent, 78 &static_dlg_proc, 78 &static_dlg_proc, 79 cast(LPARAM) cast(Dialog*) this 79 cast(LPARAM) cast(Dialog*) this 80 ); 80 ); 81 } 81 } 82 82 83 void set_item_text( int ID, char[] str ) | 83 void set_item_text( int ID, string str ) 84 { 84 { 85 SetDlgItemText( handle, ID, toStringz(str) ); | 85 SetDlgItemTextA( handle, ID, toStringz(str) ); 86 } 86 } 87 87 88 int send_item_msg( int ID, UINT msg, WPARAM wp=0, LPARAM lp=0 ) 88 int send_item_msg( int ID, UINT msg, WPARAM wp=0, LPARAM lp=0 ) 89 { 89 { 90 return SendDlgItemMessage( handle, ID, msg, wp, lp ); 90 return SendDlgItemMessage( handle, ID, msg, wp, lp ); 91 } 91 } 92 } 92 } ................................................................................................................................................................................ 102 class ProgressDlg : Dialog 102 class ProgressDlg : Dialog 103 { 103 { 104 this( DLGTEMPLATE* dlg_template, HWND parent ) 104 this( DLGTEMPLATE* dlg_template, HWND parent ) 105 { 105 { 106 BeginModeless( dlg_template, parent ); 106 BeginModeless( dlg_template, parent ); 107 } 107 } 108 108 109 void set_arcname ( char[] str ){ set_item_text( 2006, str ); } | 109 void set_arcname ( string str ){ set_item_text( 2006, str ); } 110 void set_filename( char[] str ){ set_item_text( 2007, str ); } | 110 void set_filename( string str ){ set_item_text( 2007, str ); } 111 void set_max( real m ) { max = m; } 111 void set_max( real m ) { max = m; } 112 void set_pos( real p ) { send_item_msg(2024,PBM_SETPOS,cast(int)(p/max*6 112 void set_pos( real p ) { send_item_msg(2024,PBM_SETPOS,cast(int)(p/max*6 113 113 114 bool closed() 114 bool closed() 115 { 115 { 116 return !alive; 116 return !alive; 117 } 117 }