[C con Clase] winapi, habilitar y deshabilitar controles

Steven Davidson steven en conclase.net
Mar Jul 24 21:32:38 CEST 2007


Hola Walter,

El pasado 2007-07-24 18:59:48, walter escribió:

w> Hola a todos.
w> Quisiera saver como puedo por medio de varios controles RadioButton
w> Habilitar al usuario para que pueda entrar datos en un determinado
w> controles edit.
w> Por ejemplo tengo dos RadioButton en una misma ventana junto a ellos tengo dos
w> controles edit, cada RadioButton habilita o deshabilita (pone en gris)
w> un control
w> edit.

Para hacer lo que quieres, invoca la función 'EnableWindow()'. Su prototipo es:

BOOL EnableWindow(
  HWND hVentana,     // manipulador de la ventana
  BOOL bHabilitado   // TRUE: habilita o FALSE: deshabilita la ventana
);

Para más información, puedes consultar la referencia en nuestro curso del API de MS-Windows. Específicamente, puedes ir a: http://winapi.conclase.net/curso/index.php?fun=EnableWindow

En cuanto al uso de esta función, necesitarás el manipulador de ventana. Como se trata de controles, es posible que necesites obtener este manipulador si sólo tienes su número de identificación. Para esto, invoca 'GetDlgItem()'. Para más información acerca de esta función, consulta este enlace: http://winapi.conclase.net/curso/index.php?fun=GetDlgItem  Por ejemplo,

// Habilita el control IDC_EDIT1 hijo de la ventana 'hPariente'
EnableWindow( GetDlgItem( hPariente, IDC_EDIT1 ), TRUE );

Otra forma es cambiar el estilo de la ventana para que contenga 'WS_DISABLED', pero sugiero usar la función anterior.


Creo que el resto de la lógica lo puedes averiguar tú mismo.

Espero que esto te ayude.

Steven


Más información sobre la lista de distribución Cconclase