EgtExecutor (ModeLessDialog) :
- prima versione di dialogo non modale.
This commit is contained in:
+14
-14
@@ -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 ;
|
||||
|
||||
Reference in New Issue
Block a user