![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
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... Última edición por dec fecha: 06-05-2005 a las 09:10:01. Razón: (corrección del texto) |
|
#2
|
|||
|
|||
|
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 |
|
#3
|
|||
|
|||
|
Un ejemplo de extender un opendialog standar esta en el programa mirc (DCC send)..
|
|
#4
|
|||
|
|||
|
Donde esta "programa mirc (DCC send)..", esta en los demos de Delphi?, yo tengo Delphi 5
|
|
#5
|
|||
|
|||
|
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..
|
|
#6
|
|||
|
|||
|
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 |
|
#7
|
||||
|
||||
|
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'
}
DLGTEMPLATE DIALOG 0, 0, 316, 76 es donde se indican las dimensiones del cuadro. // Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|