duda con gui, mostrar texto en un edit, función de ayuda

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
taoru
Hacker del Foro
Mensajes: 72
Registrado: 31 Mar 2010, 07:53
Ubicación: buenos aires
Contactar:

duda con gui, mostrar texto en un edit, función de ayuda

Mensaje por taoru »

hola!, estoy intentando mostrar una ayuda en mi software, para ello generé una función que cree el gui con el texto...no creo que es la forma correcta, asi que consulto..
lo que hice es cargar un edit con los datos de la ayuda...en este caso puse solo un texto de 3 lineas para provar haber como se ve...

mi consultas son:
cual es la mejor forma de mostrar estos tipos de ayuda?.
como hacer para que el edit muestre el texto pero no permita editarlo?.
como se visualiza?, esta es la mejor forma gráfica de hacer esto, o cual me recomienda?.


pego a continuación mi código:

Código: Seleccionar todo

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>

Opt('MustDeclareVars', 1)
Local $titulo,$texto

$titulo="ayuda"
$texto="Primera línea" & @CRLF &"2a línea" & @CRLF &"3ra línea"

visor($titulo,$texto)

Func visor($title,$texto)
    Local $myedit, $msg
    GUICreate($title)

    $myedit = GUICtrlCreateEdit($texto, 176, 32, 121, 97, $ES_AUTOVSCROLL + $WS_VSCROLL)

    GUISetState()

    While 1
        $msg = GUIGetMsg()
        
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    GUIDelete()
EndFunc   ;==> cuadro de ayuda del soft
nota: esta función se convocará al precionar en el menú ayuda, y mostrará un texto con la ayuda de como utilizar el software.
gracias a todos!.
Avatar de Usuario
Rupert.25
Hacker del Foro
Mensajes: 247
Registrado: 17 Jul 2007, 18:27

Re: duda con gui, mostrar texto en un edit, función de ayuda

Mensaje por Rupert.25 »

Que tal!

he mirado tu código y me parece bien la idea de poner ayuda.

personalmente no creo que la ayuda se ponga en "Edit's". Para ello puedes usar "label's" o "Tip's"

He modificado tu código. Tu dime cual se ve mejor.

Código: Seleccionar todo

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>

    Opt('MustDeclareVars', 1)
    Local $titulo,$texto, $Boton

    $titulo="ayuda"
    $texto="Primera línea" & @CRLF &"2a línea" & @CRLF &"3ra línea"

    visor($titulo,$texto)

    Func visor($title,$texto)
        Local $myedit, $msg
        GUICreate($title)
		GUICtrlCreateLabel("Esta es una etiqueta de texto que puedes usar para poner ayuda también",10,10)
        $myedit = GUICtrlCreateEdit($texto, 176, 32, 121, 97, $ES_AUTOVSCROLL + $WS_VSCROLL)
		GUICtrlSetTip(-1,"Este $myedit no es necesario","Ayuda")

		$Boton = GUICtrlCreateButton("Coloca el mouse aquí encima",10,50,150)
		GUICtrlSetTip(-1,"hola, este es el mensaje que debe aparecer en la ayuda." & @CRLF & "Sola dá clic en este boton y ya","Ayuda")

        GUISetState()

        While 1
            $msg = GUIGetMsg()

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
        WEnd
        GUIDelete()
    EndFunc   ;==> cuadro de ayuda del soft

Espero haberte ayudado!
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: duda con gui, mostrar texto en un edit, función de ayuda

Mensaje por Chefito »

Hombre, yo pienso que lo mejor es hacer la ayuda en un archivo de ayuda (.chm) :smt005 . Hay muchos programas que te ofrecen esta posibilidad.
También me gustan las ayudas creadas como página web mostradas en el explorador. Incluso puede que esta sea la mejor forma.

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Avatar de Usuario
Rupert.25
Hacker del Foro
Mensajes: 247
Registrado: 17 Jul 2007, 18:27

Re: duda con gui, mostrar texto en un edit, función de ayuda

Mensaje por Rupert.25 »

Claro! Estoy de acuerdo contigo Chefito.

Sin embargo para "Ayuda rápida" no creo que sea buena idea hacerlo así. Aunque para una ayuda extendida, la verdad es que no hay mejor form que ayudas CHM o tipo HTMl como dices :D
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: duda con gui, mostrar texto en un edit, función de ayuda

Mensaje por Chefito »

Sí. Jejeje, yo también estoy deacuerdo contigo en que ese tipo de métodos son para ayudas grandes.

Lo del label está bien, pero tiene sus limitaciones. El texto que pongas es fijo, y si necesitas poner un poco más de texto y poderlo desplazar en el propio control con las barras de desplazamiento, lo más recomendable es un edit de solo lectura (estilo $ES_READONLY), para que el usuario no pueda cambiar el texto.

Luego puedes tu ponerle los estilos (propiedades) que tu quieras al edit además de la anterior.

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: duda con gui, mostrar texto en un edit, función de ayuda

Mensaje por Ximorro »

Si quieres un ejemplo yo usé el truco de meter un objeto Shell.Explorer en un formulario de AutoIT para poner una ayuda simple. Está en este programa:
http://www.emesn.com/autoitforum/viewto ... 04&start=0

Es parecido a poner un editbox no editable (esa idea también me gusta) pero para darle algo de formato (negritas, cursiva, colores, títulos, etc...) se me ocurrió lo del html. Si quieres estilos, html es muy últil.

Para verlo en acción ejecútalo y dale al botoncito del interrogante, como verás queda mucho mejor que lo que puedas hacer con un simple editbox. El código que te interesa está condensado en las dos últimas funciones. Realmente la última sólo devuelve la cadena, así que eso podrías tenerlo en un string o cargarlo de un archivo a parte.

Nota que me tocó poner estilos a la página para que no me cambiara el tamaño de texto según tenga el usuario el tamaño de fuente en el navegador...

En el post se discute el tema de la ayuda, Chefito ofrece otra sugerencia usando controles Richedit. Es otra alternativa aunque también tiene sus inconvenientes, si te interesa sigue aquél hilo que hay enlaces.
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Responder