From e9439f04aaa4fed0cd5ecb408900d69fec45156b Mon Sep 17 00:00:00 2001 From: Riccardo Elitropi Date: Fri, 19 Jun 2026 10:45:31 +0200 Subject: [PATCH] EgtExecutor (ModeLessDialog) : - prima versione di dialogo non modale. --- EgtExecutor.rc | Bin 19652 -> 26486 bytes LUA_General.cpp | 28 ++++++++++++++-------------- resource.h | 21 ++++++++++----------- 3 files changed, 24 insertions(+), 25 deletions(-) diff --git a/EgtExecutor.rc b/EgtExecutor.rc index 2091984143131fae29b68207b42954263a259443..dafe5c633997435c2161ec4dafa8728db39cf937 100644 GIT binary patch delta 2295 zcmb7Gzi-n}5WcjcG*N?)(i9a07*$Q0(l&PN#7+PeClo{#T0uZ!i#o6&1|+63vLkU5 z15zg#Sbz*nFtJjJjfJB830;^Nxby4zM{#RMPkD)w@B8lEcXu!T_B!)tH}j#iihG?? zsC6bz^x+P4FAytu5Ry z7mI>4z>HvLGhKA6v#+ufs8w?KaA9UyLHi`fl1kX2&kfLNcOVZrI)z#xvgQ*Ng?E!k ziNqZKtprg`BB-c!u+ors7XvaA6j?cvaO52BTn@10xh ztZyy{bUQ?^C7X77MY|-CIhI7W!j|Dn{n~j!aWSP!RDJ58<51u75&W$}m|pq@wObUy z1}TK&#rYq>{)_XkM(p1$<+lD`@bXn!N*U=s}-en{W@m*tc+}vEpmQdN-m*tTQ8O#QHy?Mr@VS zY0QhKN7Qgcl_RP=qRJ6{kf^eqm23EhqFSshIb|K{m!!lmzcku;@@llgH<*JT%k@Mi*Fc!!bvh!tIVS delta 32 ocmex%j`7G$#tmxrleJVgZT=C#!!+4ORBW?Dj33kHUvV`Y0OorQ1^@s6 diff --git a/LUA_General.cpp b/LUA_General.cpp index facb251..5f48984 100644 --- a/LUA_General.cpp +++ b/LUA_General.cpp @@ -1605,7 +1605,7 @@ CALLBACK DialogBoxModelessProc( HWND hwndDlg, UINT message, WPARAM wParam, LPARA CheckDlgButton( hwndDlg, IDC_CHECK_ML_1 + i, ( bChecked ? BST_CHECKED : BST_UNCHECKED)) ; ShowWindow( GetDlgItem( hwndDlg, IDC_EDIT_ML_1 + i), SW_HIDE) ; // nascondo Edit ShowWindow( GetDlgItem( hwndDlg, IDC_COMBO_ML_1 + i), SW_HIDE) ; // nascondo Combo - ShowWindow( GetDlgItem( hwndDlg, IDC_BUTTON_ML_1 + i), SW_HIDE) ; // nascondo Button di selezione + ShowWindow( GetDlgItem( hwndDlg, IDC_BUTTON_SEL_ML_1 + i), SW_HIDE) ; // nascondo Button di selezione s_nType_ML[i] = CTRL_CHECK ; } @@ -1635,7 +1635,7 @@ CALLBACK DialogBoxModelessProc( HWND hwndDlg, UINT message, WPARAM wParam, LPARA SetWindowPos( hwndCBox, NULL, rc.left, rc.top, rc.right - rc.left, nTotalHeight, SWP_NOZORDER) ; ShowWindow( GetDlgItem( hwndDlg, IDC_EDIT_ML_1 + i), SW_HIDE) ; // nascondo Edit ShowWindow( GetDlgItem( hwndDlg, IDC_CHECK_ML_1 + i), SW_HIDE) ; // nascondo CheckBox - ShowWindow( GetDlgItem( hwndDlg, IDC_BUTTON_ML_1 + i), SW_HIDE) ; // nascondo Button di selezione + ShowWindow( GetDlgItem( hwndDlg, IDC_BUTTON_SEL_ML_1 + i), SW_HIDE) ; // nascondo Button di selezione s_nType_ML[i] = CTRL_COMBO ; } @@ -1672,7 +1672,7 @@ CALLBACK DialogBoxModelessProc( HWND hwndDlg, UINT message, WPARAM wParam, LPARA ShowWindow( GetDlgItem( hwndDlg, IDC_EDIT_ML_1 + i), SW_HIDE) ; // nascondo Edit ShowWindow( GetDlgItem( hwndDlg, IDC_COMBO_ML_1 + i), SW_HIDE) ; // nascondo Combo ShowWindow( GetDlgItem( hwndDlg, IDC_CHECK_ML_1 + i), SW_HIDE) ; // nascondo Check - ShowWindow( GetDlgItem( hwndDlg, IDC_BUTTON_ML_1 + i), SW_HIDE) ; // nascondo Button di selezione + ShowWindow( GetDlgItem( hwndDlg, IDC_BUTTON_SEL_ML_1 + i), SW_HIDE) ; // nascondo Button di selezione // margini per dimensione del rettangolo preview pickColor const int MARGIN_RIGHT = 8 ; // spazio tra preview e bordo destro dialog @@ -1709,10 +1709,10 @@ CALLBACK DialogBoxModelessProc( HWND hwndDlg, UINT message, WPARAM wParam, LPARA } // --- se Button di selezione - else if ( s_sEdit_ML[i].find( "BT:") == 0) { - ShowWindow( GetDlgItem( hwndDlg, IDC_COMBO_ML_1 + i), SW_HIDE) ; // nascondo la Combo - ShowWindow( GetDlgItem( hwndDlg, IDC_CHECK_ML_1 + i), SW_HIDE) ; // nascondo la Check - SetDlgItemText( hwndDlg, IDC_BUTTON_ML_1 + i, stringtoW( string{ "N"})) ; // modalità non Selezione + else if ( s_sEdit_ML[i].find( "BS:") == 0) { + ShowWindow( GetDlgItem( hwndDlg, IDC_COMBO_ML_1 + i), SW_HIDE) ; // nascondo la Combo + ShowWindow( GetDlgItem( hwndDlg, IDC_CHECK_ML_1 + i), SW_HIDE) ; // nascondo la Check + SetDlgItemText( hwndDlg, IDC_BUTTON_SEL_ML_1 + i, stringtoW( string{ "-"})) ; // modalità non Selezione // associo alla casella di testo la funzione di KeyPress su Enter HWND hEdit = GetDlgItem( hwndDlg, IDC_EDIT_ML_1 + i) ; if ( hEdit != nullptr) @@ -1725,7 +1725,7 @@ CALLBACK DialogBoxModelessProc( HWND hwndDlg, UINT message, WPARAM wParam, LPARA SetDlgItemText( hwndDlg, IDC_EDIT_ML_1 + i, stringtoW( s_sEdit_ML[i])) ; ShowWindow( GetDlgItem( hwndDlg, IDC_COMBO_ML_1 + i), SW_HIDE) ; // nascondo Combo ShowWindow( GetDlgItem( hwndDlg, IDC_CHECK_ML_1 + i), SW_HIDE) ; // nascondo Check - ShowWindow( GetDlgItem( hwndDlg, IDC_BUTTON_ML_1 + i), SW_HIDE) ; // nascondo Button di selezione + ShowWindow( GetDlgItem( hwndDlg, IDC_BUTTON_SEL_ML_1 + i), SW_HIDE) ; // nascondo Button di selezione s_nType_ML[i] = CTRL_EDIT ; } } @@ -1736,7 +1736,7 @@ CALLBACK DialogBoxModelessProc( HWND hwndDlg, UINT message, WPARAM wParam, LPARA ShowWindow( GetDlgItem( hwndDlg, IDC_EDIT_ML_1 + i), SW_HIDE) ; ShowWindow( GetDlgItem( hwndDlg, IDC_COMBO_ML_1 + i), SW_HIDE) ; ShowWindow( GetDlgItem( hwndDlg, IDC_CHECK_ML_1 + i), SW_HIDE) ; - ShowWindow( GetDlgItem( hwndDlg, IDC_BUTTON_ML_1 + i), SW_HIDE) ; + ShowWindow( GetDlgItem( hwndDlg, IDC_BUTTON_SEL_ML_1 + i), SW_HIDE) ; s_nType[i] = CTRL_NONE ; } } @@ -1763,12 +1763,12 @@ CALLBACK DialogBoxModelessProc( HWND hwndDlg, UINT message, WPARAM wParam, LPARA int code = HIWORD( wParam) ; // --- se click di un Button di selezione - if ( id >= IDC_BUTTON_ML_1 && id < IDC_BUTTON_ML_1 + MAX_CTRLS_ML) { + if ( id >= IDC_BUTTON_SEL_ML_1 && id < IDC_BUTTON_SEL_ML_1 + MAX_CTRLS_ML) { int nBtnId = id ; - int nEditId = IDC_EDIT_ML_1 + ( id - IDC_BUTTON_ML_1) ; + int nEditId = IDC_EDIT_ML_1 + ( id - IDC_BUTTON_SEL_ML_1) ; // se il bottone premuto è lo stesso, allora termina le selezione degli Ids if ( nDlgModelessItem == nEditId) { - SetDlgItemText( hwndDlg, nBtnId, stringtoW( string{ "N"})) ; + SetDlgItemText( hwndDlg, nBtnId, stringtoW( string{ "-"})) ; nDlgModelessItem = -1 ; } // se nuovo buttone premuto @@ -1776,8 +1776,8 @@ CALLBACK DialogBoxModelessProc( HWND hwndDlg, UINT message, WPARAM wParam, LPARA // se esisteva una selezione precedente, questa viene annullata if ( nDlgModelessItem != -1) { // recupero il Button di selezione precedente e modifico il suo testo - int nPrevBtnId = IDC_BUTTON_ML_1 + ( nDlgModelessItem - IDC_EDIT_ML_1) ; - SetDlgItemText( hwndDlg, nPrevBtnId, stringtoW( string{ "N"})) ; + int nPrevBtnId = IDC_BUTTON_SEL_ML_1 + ( nDlgModelessItem - IDC_EDIT_ML_1) ; + SetDlgItemText( hwndDlg, nPrevBtnId, stringtoW( string{ "-"})) ; } // la selezione passa al comando corrente nDlgModelessItem = nEditId ; diff --git a/resource.h b/resource.h index 3cb9bcb..e010631 100644 --- a/resource.h +++ b/resource.h @@ -3,7 +3,6 @@ // Utilizzato da EgtExecutor.rc // #define VS_VERSION_INFO 1 - #define IDD_LUADLG 101 #define IDD_LUASCENE 102 #define IDD_LUADLG_ML 103 @@ -91,14 +90,14 @@ #define IDC_CHECK_ML_7 2037 #define IDC_CHECK_ML_8 2038 -#define IDC_BUTTON_ML_1 2041 -#define IDC_BUTTON_ML_2 2042 -#define IDC_BUTTON_ML_3 2043 -#define IDC_BUTTON_ML_4 2044 -#define IDC_BUTTON_ML_5 2045 -#define IDC_BUTTON_ML_6 2046 -#define IDC_BUTTON_ML_7 2047 -#define IDC_BUTTON_ML_8 2048 +#define IDC_BUTTON_SEL_ML_1 2041 +#define IDC_BUTTON_SEL_ML_2 2042 +#define IDC_BUTTON_SEL_ML_3 2043 +#define IDC_BUTTON_SEL_ML_4 2044 +#define IDC_BUTTON_SEL_ML_5 2045 +#define IDC_BUTTON_SEL_ML_6 2046 +#define IDC_BUTTON_SEL_ML_7 2047 +#define IDC_BUTTON_SEL_ML_8 2048 #define IDOK_ML 2051 #define IDCANCEL_ML 2052 @@ -107,9 +106,9 @@ // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 105 +#define _APS_NEXT_RESOURCE_VALUE 109 #define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1072 +#define _APS_NEXT_CONTROL_VALUE 1073 #define _APS_NEXT_SYMED_VALUE 115 #endif #endif