Tenho aqui uma rotina para caixa de diálogo, ao clicar fora da caixa, a caixa fecha voltando para rotina anterior,
nessa rotina, foi criado um botão OK, como faço para essa caixa ser fechada, apenas se clicar nesse botão OK ?
Harbour 3.2.0dev - GTWVG
Obrigado.
FUNCTION DynWinDialog()
LOCAL hDlg, aDlg, nStyle, cDlgIcon, cDlgProc, lOnTop, hMenu
aDlg := Wvt_MakeDlgTemplate( 1, 16, 18, 40, { 4, 5, 5, 4 }, VERSION() + " " + hb_gtInfo( HB_GTI_VERSION ) + HB_EOL() )
nStyle := WS_CHILD + WS_VISIBLE + WS_TABSTOP + ES_AUTOVSCROLL + ES_MULTILINE + ES_WANTRETURN + WS_BORDER + WS_VSCROLL
aDlg := Wvt_AddDlgItem( aDlg, 1, 2, 15, 35, {}, ID_MLE , "EDIT" , nStyle, /* cText, nHelpId, nExStyle */ )
nStyle := WS_CHILD + WS_VISIBLE + SS_ICON //+ SS_CENTERIMAGE
aDlg := Wvt_AddDlgItem( aDlg, 18, 2, 2, 6, {}, ID_ICO_VOUCH , "STATIC" , nStyle, "" )
// BOTAO OK
nStyle := WS_VISIBLE + WS_TABSTOP + BS_PUSHBUTTON
aDlg := Wvt_AddDlgItem( aDlg, 17, 20, 1, 8, { 2, 1, 1 , 0 }, ID_BTN_OK, "BUTTON" , nStyle, "OK" )
cDlgProc := "DynDlgProc"
// Modeless Dialog
hDlg := Wvt_CreateDialog( aDlg, lOnTop, cDlgProc, cDlgIcon, /*nTimerTicks*/, hMenu )
FUNCTION DynDlgProc( hDlg, nMsg, wParam, lParam )
SWITCH nMsg
// COR DA FONTE
CASE WM_CTLCOLOREDIT
IF Wvg_GetDlgItem( hDlg, ID_MLE ) == lParam
Wvg_SetTextColor( wParam, RGB(0 ,0 , 0 ) ) // COR DA FONTE
Wvg_SetBkColor ( wParam, RGB( 255 ,178, 102 ) ) // COR DE FUNDO
RETURN 1
ENDIF
CASE WM_INITDIALOG
Wvg_SetDlgItemText( hDlg, ID_MLE, GetEditText() )
CASE WM_DESTROY
Wvg_GetDlgItemText( hDlg, ID_MLE )
ENDSWITCH