Hola:
Te explico un poco para ke puedas entender algo mas acerca de las apis de Windows ok:
GetDlgItem: es un api que te permite obtener el manipulador o handle (
HWND ) de cualquier ventana; ojo que todo lo que controla una aplicacion son objetos de tipo de Ventana, editbox, button, list, treeview, etc, pero que al usar
MFC estan ya encapsulados y previamente Abstraidos en las clases definidas, ahora cuando especificas el
ID esta api se encargara de buscar en los recursos el ID correspondiente a su control y te devolvera el manipularo si esque existe en caso contrario retorna
NULL, pero este no es el valor de la ventana principal si no mas bien esta indicando ke hubo un error en el
ID o no existe.
Ahora bien como
GetDlgItem te devuelve un
HWND, este es del tipo
CWnd * si estas usando
MFC, por eso es que se puede acceder a la funcion
SetWindowText() a traves del puntero, porque es una funcion miembro de la clase
CWnd y entre otras cosas mas complicadas ok.
SetWindowText: es una api que se utiliza para cambiar el texto de una ventana definida, en el caso anterior el manipulador ke devuelve el
GetDlgItem, que ya te ha devuelto el manipulador de acuerdo al
ID del Objeto que estas utilizando, si tan solo utilizas la funcion
SetWindowText sin utilizar un Puntero este asumira por defecto que es llamado por
CWnd y cambiara el texto de tu Aplicación princial, puesto que el
HWND seria igual a
NULL, y como todos sabes NULL es el manipulador de la ventana principal que asu vez es hija de
HWND to
DESK, o un manipulador del escritorio de Windows el cual es padre de todos los
HWND ke se puedan krear, es por esta razon que cuando haces un Process Viewer utilizas el
HWND to
DESK y te listara todos los hijos que esta contenga, claro utilizando apis como CreateProcess y etc...
Ejemplo:
- Código: Seleccionar todo
CWnd *pEdit;
// Declaras una variable que de vuelve un Puntero a CWnd
pEdit = ( CWnd * ) GetDlgItem( IDC_EDIT_CONTROL );
// Obtenemos el HWND del EditBox cuyo ID = IDC_EDIT_CONTROL
pEdit->SetWindowText("Edit Control");
// Agregamos el texto "Edit Control" en el control
Bueno para mayor información refierete a el SDK de windows ok.
Saludos