Mostrar texto en tabCotrol tras pulsar boton

Moderador: ivancp

Preguntas y respuestas sobre programacion en Windows con Visual C++

Mostrar texto en tabCotrol tras pulsar boton

Notapor a343 » Sab Sep 24, 2011 11:34 am

Hola,

Tras crear la aplicacion con TabControl, en la cual añadi en una de las pestañas un Edit control, me gustaría mostrar texto en el control de edición tras pulsar un botón.
Al principio, mostré el texto siempre al ejecutar, y lo hice añadiendo un metodo mostrar en el archivo TabOne, y llamando a este metodo en OnInitDialog de dicho archivo.

Para mostrarlo despues de pulsar un boton, pensé hacer una variable global que guarde un valor, por ejemplo 1, y en el método, hacer un if para que muestra texto sólo si la variable tiene valor 1.
Pero mi problema es después de pulsar el botón, no se producen nada, ya que este archivo ya no se vuelve a ejecutar.
Creo que tengo que actualizar la vista con la funcion onUpdate o algo así .. pero no sé cómo.

¿Qué piensa usted?

Esta es mi aplicacion:

http://i54.tinypic.com/1e9qtx.png

Este es el codigo:
http://www.megaupload.com/?d=1QT43LOQ
a343
Usuario Muy Activo
Usuario Muy Activo
 
Mensajes: 93
Registrado: Lun Mar 07, 2011 7:35 am


Re: Mostrar texto en tabCotrol tras pulsar boton

Notapor ivancp » Sab Sep 24, 2011 3:03 pm

Recuerda que hay dos formas de asignar un valor te texto a un CEdit:

Código: Seleccionar todo
  1. GetDlgItem(IDC_EDIT1)->SetWindowText("El texto que quieras");



Pero si tienes enlazado el control a una variable, entonces:

Código: Seleccionar todo
  1. UpdateData(FALSE);

  2. m_sTexto = "El texto que quieras";

  3. UpdateData(TRUE);



Puedes ejecutar eso desde cualquier parte de la clase que contiene el control.
Imagen @latindev | Mi Blog
Por favor lee las reglas del foro
Avatar de Usuario
ivancp
Colaborador
Colaborador
 
Mensajes: 680
Registrado: Jue Sep 06, 2007 12:58 pm


Re: Mostrar texto en tabCotrol tras pulsar boton

Notapor a343 » Dom Sep 25, 2011 3:21 am

Si, ya hice al funcion de mostrar el texto y funciona, pero claro, funciona sin la restriccion del boton.
Lo que me gustaria ahora es que al pulsar el boton, mostrara el texto.

MyTabExampleView.cpp :

Código: Seleccionar todo
  1.  

  2. void CMyTabExampleView::OnButton2()

  3. {

  4.         aux=1; //Variable global que permitira mostrar el texto SOLO cuando este activa

  5.  

  6.         CMyTabExampleDoc* pDoc = GetDocument();

  7.         ASSERT_VALID(pDoc);

  8.         pDoc->UpdateAllViews (NULL);

  9. }

  10.  



TabOne.cpp :

Código: Seleccionar todo
  1.  

  2. void CTabOne::Mostrar()

  3. {

  4.         CEjemplo a;

  5.         CString cadena=_T("");

  6.  

  7.         if(aux==1)

  8.         cadena =_T("Hola soy Antonio\r\n\r\n\r");

  9.         if(aux==2)

  10.         cadena = a.Mostrar();

  11.        

  12.        

  13.  

  14.         m_EDIT.SetWindowText(cadena);

  15.  

  16. }

  17.  

  18. BOOL CTabOne::OnInitDialog()

  19. {

  20.         CDialogEx::OnInitDialog();

  21.  

  22.         // TODO:  Agregue aquí la inicialización adicional

  23.         //if(boton se ha pulsado)

  24.         Mostrar();

  25.  

  26.         return TRUE;  // return TRUE unless you set the focus to a control

  27.         // EXCEPCIÓN: las páginas de propiedades OCX deben devolver FALSE

  28. }

  29.  



El problema que yo veo es que TabOne, solo se ejecuta al principio cuando se crea la aplicacion , pero no despues de pulsar el boton, de ahí que quiera hacer la actualizacion de la vista, y que si no me equivoco debe de ser asi, ya que esas lineas que hay en la funcion del boton, llamarian a la funcion OnUpdate. El problema es que no se que poner en la funcion OnUpdate para que de alguna manera vuelva a ejecutar TabOne y muestre el texto. Espero que me entiendas
a343
Usuario Muy Activo
Usuario Muy Activo
 
Mensajes: 93
Registrado: Lun Mar 07, 2011 7:35 am

Re: Mostrar texto en tabCotrol tras pulsar boton

Notapor ivancp » Dom Sep 25, 2011 9:55 am

No veo una función parecida a:

Código: Seleccionar todo
  1. void CTabOne::OnBtnClickOnTuboton()

  2. {

  3.      Mostrar();

  4. }



Donde esta ubicado tu boton?
Imagen @latindev | Mi Blog
Por favor lee las reglas del foro
Avatar de Usuario
ivancp
Colaborador
Colaborador
 
Mensajes: 680
Registrado: Jue Sep 06, 2007 12:58 pm

Re: Mostrar texto en tabCotrol tras pulsar boton

Notapor a343 » Dom Sep 25, 2011 11:24 am

Es la primera funcion que te puse, esta ubicado en MyTabExampleView.cpp , por que si lo ubico en TabOne, no puedo clikar en el, puesto que aparece desactivado :S
a343
Usuario Muy Activo
Usuario Muy Activo
 
Mensajes: 93
Registrado: Lun Mar 07, 2011 7:35 am

Re: Mostrar texto en tabCotrol tras pulsar boton

Notapor a343 » Mar Sep 27, 2011 4:45 am

alguna idea???
a343
Usuario Muy Activo
Usuario Muy Activo
 
Mensajes: 93
Registrado: Lun Mar 07, 2011 7:35 am


    

Volver a Visual C++

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado