Activar botones
El caso es el siguiente, creamos un botoncito y lo seteamos como enabled=false claro que queremos activarlo en determinados casos.
El primer paso es bucar y buscar que mensaje me lo va a activar y nos topamos con WM_ENABLE que tiene un buen nombre, pero que no sirve para nada, salvo para refresacar el ventanuco.
Solución sencilla:
EnableWindow(GetDlgItem(hDlg, IDC_BUTTON), TRUE);Solución mas rebuscada:
Declaramaos un manejador de vetantas
HWND hWndBtn Le asociamos el objeto y obtenemos su estilo
hWndBtn = GetDlgItem(hDlg, IDC_BUTTON);Ahora jugaremos con la máscara de estilo. Para activarlo
style = GetWindowLong(hWndBtn, GWL_STYLE);
style &= ~WS_DISABLED; Y para desactivarlo
style |= WS_DISABLED;Y para repintar
SetWindowLong(hWndBtn, GWL_STYLE, style);
InvalidateRect(hDlg, NULL, TRUE);