Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-08-2011
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Windows y Diálogos (un par de ejemplos)

Hola,

¿Alguna vez has necesitado mostrar un diálogo desde tu aplicación creándolo tú mismo, utilizando el API de Windows? Estamos hablando, sobre todo, de cuando nos hemos visto en la necesidad de reducir el tamaño de nuestra aplicación, concretamente, del archivo ejecutable de nuestra aplicación.

Últimamente he estado pegándome un tanto con estos asuntos, y, he descubierto (mira que soy nuevo) una función maravillosa en el API de Windows: la función "DialogBox". Esta función es maravillosa porque nos permite trabajar "visualmente" con nuestro diálogo, ocupando este mucho menos que si utilizáramos otras funciones conque Delphi cuenta.

En efecto, mostrar una ventana creándola desde cero es un asunto complejo. Claro está que puede hacerse, y, con tiempo y una caña, como suele decirse, podemos obtener los resultados esperados. Sin embargo, en algunas circunstancias, crear una ventana no nos serviría de mucho. Al menos, en cierto proyecto que traigo entre manos, no me servía en absoluto, puesto que la aplicación "host" se negaba a mostrar la ventana creada de todas las maneras.

Pero, hete aquí que descubro que con la función "DialogBox" y el programa XN Resource Editor, por ejemplo, podemos diseñar nuestro diálogo de forma visual, y, además, resulta más sencillo de integrar en nuestros proyectos, puesto que no se requiere el uso de un "bucle de mensajes" que tal vez termine bloqueando una posible aplicación "host" en que se ejecutara la nuestra. La complejidad se reduce al usar "DialogBox", pero, no así la potencia, puesto que a veces menos es más y este parece ser otro caso.

Como no quiero enrrollarme más, simplemente, os dejo un enlace a ciertos ejemplos que he subido al Directorio del ClubDelphi, de manera que vosotros mismos podéis echarles un vistazo, jugar con ellos, y, por supuesto, hacer uso de su código fuente de la mejor forma que consideréis.

Descargar: Ejemplos Windows and Dialogs.zip

Espero que a alguien le pueda resultar de cierta utilidad, aunque, ciertamente, yo he basado buena parte de mi trabajo en información obtenida de Internet, vamos, que, no invento nada con estos ejemplos, y, más de uno de vosotros ya habréis tenido que lidiar con "Windows y Diálogos" de este tipo antes. Pero bueno.

¡Hasta pronto!
Responder Con Cita
  #2  
Antiguo 21-08-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Muy interesante, hasta ahora estoy usando la socorrida InputBox para este tipo de peticiones simples, aunque tiene la limitación de que sólo devuelve un valor, claro.
Responder Con Cita
  #3  
Antiguo 21-08-2011
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No sólo eso, Casimiro, sino que la función "InputBox" se implementa a través de la clase "TForm", de manera que el tamaño del ejecutable crece en consecuencia. Sin embargo, la función "DialogBox" pertenece al API de Windows y su uso (junto con las "plantillas para diálogos") no se nota en el ejecutable, como puedes ver en los ejemplos que he subido, que, apenas pesan unos cuantos KB.

Y de esto es, precisamente, de lo que se trata, si el tamaño es un problema o pretende uno reducirlo cuanto pueda.
Responder Con Cita
  #4  
Antiguo 21-08-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Tienes razón, se ahorra mucho haciéndolo de esa forma.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Dialogos en Fast Report lbidi Impresión 2 28-10-2008 12:14:35
Ventanas de dialogos en PHP enecumene PHP 5 09-02-2007 11:37:47
Dialogos en español dtomeysoto Varios 13 17-07-2006 05:54:57
Dialogos de Delphi coulthard Varios 1 29-12-2004 20:03:27
pierdo los dialogos con DLL Erik_Magnus Varios 6 07-05-2003 09:56:03


La franja horaria es GMT +2. Ahora son las 07:39:13.


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
Copyright 1996-2007 Club Delphi