Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-05-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.144
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Habría entonces más que decir...

Hola,

Después de lo indicado por roman acerca de la existencia de TOpenPictureDialog, que hereda de TOpenDialog, la verdad es que ya no estoy tan seguro de que para hacer lo que se persigue (vistas previas de archivos de vídeo, por ejemplo) tuvieran que necesitarse "nuevos formularios" que, de algún modo, implementasen todo desde un principio, prácticamente, como dejo entrever arriba que se hace (probablemente no del todo) en los diálogos de los componentes Raize.

Quiero decir que he echado un vistazo al componente TOpenPictureDialog y este no se anda creando nuevos formularios ni mucho menos, sino que, a partir del TOpenDialog consigue ampliar las capacidades de este último justamente hasta conseguir lo que se trata de conseguir.

A ver si me explico: quiero decir que se me ha escapado por completo la capacidad de heredar no pocas características de componentes ya preparados, y hacer esto hasta límites que no podía sospechar, sin duda, porque no he heredado nada en mi vida y claro está, esto se nota...
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 06-05-2005 a las 09:10:01. Razón: (corrección del texto)
Responder Con Cita
  #2  
Antiguo 06-05-2005
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 238
Poder: 24
ebeltete Va por buen camino
A partir del "openpicturedialog" he logrado crear muchas cosas, pero realmente no las tengo muy claras..
En el openpicturedialog hay un TPanel, el cual es el "contenedor" de los botones y todo lo que yo le he agregado, pero no se como modifico el tamaño del opendialog, siempre me queda con el tamaño del topenpicturedialog, puedo modificar en el lugar donde poner el tpanel pero siempre en un topenpicturedialog con el mismo tamaño, no logro darme cuenta donde es que modifica el tamaño del opendialog, se entiende?
Un abrazo y muchas gracias por sus respuestas
Responder Con Cita
  #3  
Antiguo 07-05-2005
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 24
Delfino Va por buen camino
Un ejemplo de extender un opendialog standar esta en el programa mirc (DCC send)..
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #4  
Antiguo 08-05-2005
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 238
Poder: 24
ebeltete Va por buen camino
Donde esta "programa mirc (DCC send)..", esta en los demos de Delphi?, yo tengo Delphi 5
Responder Con Cita
  #5  
Antiguo 09-05-2005
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 24
Delfino Va por buen camino
Losiento no me explique bien; el mirc es un cliente de servidores escrito en C++ por un egipcio. Si lo descargas y instalas veras pinchando en esa opcion un opendialog pero con cosas añadidas. Ahora el codigo como se hizo es otra historia. Solo queria decir q el opendialog es "customized" mediante API windows..
__________________
¿Microsoft? No, gracias..
Responder Con Cita
  #6  
Antiguo 11-05-2005
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 238
Poder: 24
ebeltete Va por buen camino
A partir de openpicturedialog estoy creando un openaudiodialog, el tema es que no logro decifrar como modifica el tamaño del opendialog, está en estas lineas
function TOpenaudioDialog.Execute;
begin
if NewStyleControls and not (ofOldStyleDialog in Options) then
Template := 'DLGTEMPLATE'
else
Template := nil;
Result :=inherited Execute;
end;

Particularmente es Template := 'DLGTEMPLATE'
Con Template := nil el opendialog queda con el tamaño normal, y si es Template := 'DLGTEMPLATE' el opendialog aparece mas grande, el tema es que en definitiva no se que es TEMPLATE
Responder Con Cita
  #7  
Antiguo 11-05-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
En lo poco que entiendo del tema te puedo comentar que en

Template := 'DLGTEMPLATE'

'DLGTEMPLATE' se refiere a un recurso que se compila junto con la aplicación en donde se define justamente la plantilla del cuadro de diálogo que vas a usar.

Aunque la VCL de Delphi generalmente nos evita meternos en estos detalles, tras bambalinas todos los cuadros de diálogo en Windows se definen mediante estas plantillas en las que uno especifica las dimensiones y los controles que contienen.

En el caso del OpenPictureDialog, el recurso se incluye en la línea:

{$R ExtDlgs.res}

que está justo antes del constructor de la clase, y hace referencia al archivo ExtDlgs.rc que se encuentra en la misma carpeta donde está ExtDlgs.pas y cuyo contenido es:

Código:
DLGTEMPLATE DIALOG 0, 0, 316, 76
STYLE 0x404L | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS
FONT 8, "MS Sans Serif"
LANGUAGE LANG_NEUTRAL , SUBLANG_NEUTRAL
{
 LTEXT "", 1119, 0, 0, 204, 76, SS_LEFT | WS_CHILD | NOT WS_VISIBLE | WS_GROUP
}

PREVIEWGLYPH BITMAP
{
 '42 4D F6 00 00 00 00 00 00 00 76 00 00 00 28 00'
 '00 00 10 00 00 00 10 00 00 00 01 00 04 00 00 00'
 '00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00'
 '00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80'
 '00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
 '00 00 80 80 80 00 C0 C0 C0 00 00 00 FF 00 00 FF'
 '00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
 '00 00 FF FF FF 00 33 33 33 33 33 33 33 33 00 00'
 '00 00 00 00 33 00 0F FF FF FF FF F0 30 00 0F FF'
 'FF FF 00 00 00 03 0F FF FF F0 78 87 00 33 0F FF'
 'FF 07 88 E7 F0 33 0F FF FF 08 88 87 80 33 0F FF'
 'FF 08 E8 87 80 33 0F FF FF 07 EE 87 F0 33 0F FF'
 'FF F0 78 87 03 33 0F FF FF FF 00 00 33 33 0F FF'
 'FF FF FF F0 33 33 0F FF FF FF 00 00 33 33 0F FF'
 'FF FF 08 03 33 33 0F FF FF FF 00 33 33 33 00 00'
 '00 00 03 33 33 33'
}
Me parece que la primera línea:

DLGTEMPLATE DIALOG 0, 0, 316, 76

es donde se indican las dimensiones del cuadro.

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


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


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi