| |  |  | Miembros: Mensajes: Temas: Online: Ultimo Miembro: | | | 
01-04-2005, 02:53:04
|  | Gran Participación en el Foro | | Registrado: feb 2005 Posts: 149
| | Propiedades en el registro Hola, estoy haciendo un control para acomodar automaticamente todos los controles del formulario cuando se maximize o se le cambie el tamaño de este, todo funciona perfecto, pero hay un detalle que no me deja en paz....y es que como el tamaño de la barra de titulo de la ventana y el tamaño de los bordes puede cambiar de acuerdo a cada computadora aveces no se ajusta correctamente.. y de alguna forma esto afrcta en el area de trabajo del formulario. estube buscando entre el registro de windows, pero no doy en el lugar exacto y no puedo encontrar donde se almacena esa propiedad...si alguin me puede facilitar ese dato se lo agradeceria muchisimo.
PD: Realmente he recibido mucha ayuda de ustedes, y me gustaria contribuir con algo tambien, asi que en cuanto lo termine....que no pasa de la proxima semana...lo subo para que lo puedan probar y usar claro. | 
01-04-2005, 12:06:02
| | Buena Participación en el Foro | | Registrado: ene 2005 Posts: 45
| | Para realizar tus cálculos estás utilizando las propiedades Width y Heigh del form ? o las propiedades ScaleWidth y ScaleHeigh ?
Porque las primeras se refieren a los bordes externos del form y las segundas a los bordes internos. No se si ese es tu problema o interpreté mal.
__________________
Marcelo .:: Rks ::.
| 
01-04-2005, 14:38:15
|  | Buena Participación en el Foro | | Registrado: mar 2005 Posts: 69
| | Olvidate de la barra de titulo para hacer los calculos, ya que el area de trabajo empieza a partir de la barra. La posición 0,0 se encuentra dentro de los bordes del forulario y por debajo de la barra, utiliza las propiedades scaleheight y scalewidth y ten cuidado en que modo tienes la escala (twips,pixels,...) | 
01-04-2005, 16:17:38
|  | Gran Participación en el Foro | | Registrado: feb 2005 Posts: 149
| | Gracias a los 2, por alguna razon nunca habia usado esas propiedades....pero funciona perfecto.
Aprovecho la ocasion para hacerles otra pregunta, en vez de usar matrices, se me hace mas facil y practico usar collecciones de objetos, osea, preparo una clase con sus propiedades y creo una coleccion de esa clase, mi problema empieza al momento de querer guardar los valores con PropBag.WriteProperty y ReadProperty, hay alguna forma de guardar una coleccion de forma simple o hay tengo que pasar por toooodos los objetos de la coleccion y guardarlos uno por uno?. En el caso de guardar uno por uno..alguien tiene un ejemplo? por que lo he intentado (no mucho) y no me ha salido bien, he optado por crear un archivo externo donde se lamacenas esas propiedades, pero no se me hace muy practico que el control ande dejando archivos por ahi.
Y una ultima cosa, hay alguna forma de guardar una referencia a un obejto? por ejemplo, si en el formulario hay un Text1 al que yo estoy controlando con mi control, hay forma de guardar con propbag una refenrencia a ese control?, y que cuando vuelva a leer esa variable de objeto guardada me de acceso inmediatamente el Text1?
Gracias otra vez. | 
02-04-2005, 09:34:04
|  | Buena Participación en el Foro | | Registrado: mar 2005 Posts: 69
| | Referente a tu cuestion sobre las colecciones, no se si esto lo sabes y ya lo estas usando, pero de todas formas te lo comento, en cada formulario ya hay definida una coleccion que contiene todos los controles que se han definido en el formulario, la "controls", con la que puedes acceder a cada control por su nombre (propiedad name) (respuesta a tu segunda pregunta)
Si no es esto lo que quieres saber, por favor, detalla un poco mas tu pregunta.
saludos | 
03-04-2005, 02:38:14
|  | Gran Participación en el Foro | | Registrado: feb 2005 Posts: 149
| | Gracias, hasta ahora si he usado la coleccion Controls junto con la propiedad Name, pero cuando es una matriz de controles, solo me da el nombre sin el (0) o (1) etc....he tratado de usar tmabien la propiedad Index, pero cuando es cun cotntrol que no pertenece a una matriz da error y cuando si pertenece me salta la linea y ni me hace nada. El codigo que estoy usando es el siguiente Código: 'Ctrl es una clase definida por mi, y Frm es el objeto del formulario.
On Error Resume Next
Ctrl.Nombre = Frm.Controls(n).Name
If Frm.Controls(n).Index > 0 then Ctrl.Nombre = Ctrl.Nombre & "(" & Frm.Controls(n).Index & ")"
etc...etc.... Griacas. | 
03-04-2005, 06:42:19
| | Moderador | | Registrado: dic 2002 Ubicación: Madrid Posts: 4.183
| | Para insertar en la colección crea una clave que contemple el índice del control en cuestion, pertenezca o no a una matriz. Código: Public function InsControl(ct as control)
dim key as string
on local error resume next
err.clear
key = ct.name + format(ct.index,"000")
micol.add ct, key
InsControl = err.number
end sub | 
03-04-2005, 08:08:16
|  | Gran Participación en el Foro | | Registrado: feb 2005 Posts: 149
| | Gracias Acalanto, Funciono bien!!!. Salu2 | | Herramientas | | | | Desplegado | Mode Lineal |
Normas de Publicación
| no Puedes crear nuevos temas no Puedes responder a temas no Puedes adjuntar archivos no Puedes editar tus mensajes Código [IMG] está habilitado Código HTML está deshabilitado | | | La franja horaria es GMT. Ahora son las 00:05:23.
Powered by vBulletin® Version 3.6.8 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design
|  |