determinar ancho de formulario en funcion a espacio de caracteres
buenas tardes
estoy tratando de generar un formulario multi proposito, es decir que por intermedio de parametros pueda mostrar informacion de cualquier tabla, los campos a mostrar los definiria en los parametros ya tengo en la cabeza la forma de hacerlo (ya lo hice en foxpro) el tema es que aun no sé como determinar el ancho del form (dentro habrá una grilla) en funcion a la cantidad de campos que muestre no se si me dejo entender |
Una forma sería usar un tipo letra no proporcional y hacer el cálculo en función de la longitud de los campos+separaciones. Si usas un tipo de letra proporcional la verdad es que no se me ocurre cómo podrías hacer eso.
Saludos Edito: Estoy pensando en que si usas un tipo de letra no proporcional puedes intentar averiguar el ancho de cada campo en función de su número de caracteres y cuanto mediría rellenándolo con la letra más ancha que encuentres, siempre te sobraría espacio pero sería una forma. |
Tienes a tu disposición TCanvas.TextWidth(const Text: string) : integer;
Devuelve el largo en pixels de un texto en el tipo de letra del Canvas. Podrías recorrer los campos y obtener el ancho de cada uno según la cantidad de caracteres que permita contener.
Supongo que para un largo aproximado podrías hacer algo como lo siguiente:
|
La franja horaria es GMT +2. Ahora son las 04:12:48. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi