Activar botones

October 11th, 2006 Leave a comment Go to comments

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);
style = GetWindowLong(hWndBtn, GWL_STYLE);
Ahora jugaremos con la máscara de estilo. Para activarlo
style &= ~WS_DISABLED; Y para desactivarlo

style |= WS_DISABLED;Y para repintar
SetWindowLong(hWndBtn, GWL_STYLE, style);
InvalidateRect(hDlg, NULL, TRUE);

Categories: General, WinAPI Tags: , , , ,

  1. No comments yet.
  1. No trackbacks yet.
*