Problema al diseñar una ventana ($ES_READONLY)

Tus preguntas. Algoritmos o Grupos de Comandos formando Programas Escripts.
Responder
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Consulta de $ES_READONLY

Mensaje por Jonny »

Hola

He consultado en una lista de correo de personas que programan software accesible con el revisor de pantalla que menciono en el post anterior.

Esta es la respuesta. La pego para ver si alguien puede ayudarme, porque me respondnen en referencia a Visual Basic, del cual no tengo ni idea, pero sí he leído que autoit es muy parecido a ese lenguaje ¿Verdad?
Algo de código que he visto de Visual Basic (ha sido muy poco) sí se parecía en las estructuras de los if, y alguna cosa más:

En visual basic o .net, está la propiedad TabStop, que si está a true,
significa que el foco puede entrar ahí. Comprueba si al poner el
Readonly a true, el TabStop no se pone automáticamente a false, que no
debería.

¿Como compruebo esto con autoit?
Gracias de antemano,

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

Re: Problema al diseñar una ventana ($ES_READONLY)

Mensaje por Chefito »

Como puedes ver te he unido los dos post ya que veo que practicamente van del mismo tema.
Me ha gustado que hayas investigado hasta ese punto, pero te has quedado un poquito corto :smt016 .
Para hacer lo tu quieres tienes que añadir a los estilos (argumento style) de la función GUICtrlCreateEdit la variable $WS_TABSTOP.
Además, en la ayuda de la función GUICtrlCreateEdit, en el argumento style, al final, te pone algo al respecto:
forced styles : $ES_MULTILINE, $WS_TABSTOP only if not $ES_READONLY
Más o menos dice que los estilos multiline y tabstop los fuerza solamente si no has puesto el estilo readonly. Si lo pones, tienes que añadirlos tú.
Te voy a poner un pequeño ejemplo:

Código: Seleccionar todo

#include <GUIConstantsEx.au3>

#include <WindowsConstants.au3>

#include <EditConstants.au3>

Local $myedit, $msg, $texto

$texto="Vamos a hacer una prueba con el control edit. Se supone que con la variable $WS_TABSTOP puedes darle el foco al control. Pues sí colega, si se puede. No ha estado mal la investigación, pero te ha faltado un poquito ;)"

GUICreate("My GUI edit")  ; will create a dialog box that when displayed is centered

$AboutC = GUICtrlCreateButton('About', 105, 177, 70, 20)

$PrefsC = GUICtrlCreateButton('FontSize', 175, 177, 70, 20)

$StatC = GUICtrlCreateButton('Plain Style', 245, 177, 70, 20)

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

GUISetState()

While 1

    $msg = GUIGetMsg()

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop

WEnd

GUIDelete()

 
El texto es un poco cachondo. Es broma :smt005 . No te molestes :smt020 .

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 ;).
Jonny
Profesional del Autoit
Mensajes: 1042
Registrado: 30 Jun 2008, 20:08

Re: Problema al diseñar una ventana ($ES_READONLY)

Mensaje por Jonny »

Hola

Que va, No me molesto , ni mucho menos, jejejejejeje.

Muuchiisiimaaas graaciiiaaas!

En realidad, sí miré la ayuda de la función e incluso el ejemplo tanto en la ayuda como en C:\Archivos de programas\Autoit3\examples\help files\, que creo que es el mismo...

El problema es que Programar me entra, pero de inglés ni papa! jejeje y algunas cosas las entiendo, otras las intuyo pero la mayoría , como si me contara un cuento!.

También busqué en éste foro y en el inglés, pero no sabía como buscar, y noencontré nada, por eso el consultar en ésta lista de correo...
Por cierto, Hice dos post, porque en el segundo, creí que aunque fuera practicamente lo mismo e incluso iba relacionado con él primero, era algo más concreto lo que preguntaba y por ello podríais ayudarme mejor... Leyendo lo que puse en éste post, cabía la posibilidad qde queno respondierais (jejeje) porque no era muy específico de autoit y alomejor no teniais ni idea tampoco.

Salu2!
Responder