Visual Basic – Guía del
Estudiante Cap. 3
Controles (Continuación) El CommonDialog
El CommonDialog es un control del que
se libran muy pocas aplicaciones. Dada la importancia de este
control, se le
dedica un capitulo único en esta Guía del
Estudiante.
CUADRO DE DIALOGO
CommonDialog
Normalmente se encuentra en la caja de
herramientas
Este control no se
presenta en tiempo de
diseño
mas que con un simple icono :
El cuadro de diálogo, CommonDialog se
utiliza para varias funciones
:
Abrir Ficheros
Guardar Ficheros
Elegir colores
Seleccionar Impresora
- Seleccionar Fuentes
- Mostrar el fichero de Ayuda
En realidad el cuadro de diálogo permite conocer
datos con los
cuales, y mediante el código adecuado, abriremos o
guardaremos ficheros, elegiremos colores o
seleccionaremos fuentes. Es
decir, el CommonDialog NO realiza mas funciones que
mostrar ficheros existentes, fuentes
disponibles, colores, para
que, mediante código, abramos esos ficheros o usemos una
determinada fuente.
Dependiendo de la aplicación para la que vaya a
usarse se deberá activar de distintas formas. Si el
cuadro de diálogo se va a usar para seleccionar la
impresora y
para otras aplicaciones, es recomendable usar uno exclusivamente
para seleccionar la impresora.
Esta última recomendación se debe a que,
para el control de la
impresora, el
CommonDialog SI realiza las funciones de
selección de impresora
predeterminada. Esta diferencia operativa hace que si usamos el
mismo CommonDialog para seleccionar impresora y
abrir ficheros, por ejemplo, se "cuelgue" el
CommonDialog.
El control
CommonDialog es un control personalizado (Microsoft
CommonDialog Control COMDLG16.OCX / COMDLG32.OCX), y como casi
todos los controles personalizados presenta un asistente de
propiedades propio. Puede accederse a las propiedades mediante el
cuadro de propiedades típico de otros controles, o
mediante el asistente, pulsando el botón derecho del
ratón con el puntero colocado encima del icono del cuadro
de diálogo.
Analizando las propiedades, vemos que tiene gran
cantidad de ellas. Esto es porque agrupa todas las propiedades
correspondientes a la cinco funciones que
puede desarrollar. Se detalla a continuación la forma de
usar el CommonDialog para cada
aplicación.
Se entiende que el nombre – Name – que se ha
puesto para el cuadro de diálogo en todos los ejemplos es
CD1)
FUENTES
Para mostrar el cuadro de diálogo correspondiente
a Tipos de Letra ( Fonts ), debe ejecutarse la
instrucción:
CD1.ShowFont
y haber puesto, en la propiedad
Flags del cuadro de diálogo, el valor de 1, 2
ó 3, correspondiente respectivamente a los tipos de letra
de la pantalla, de la impresora o ambos. (Véase la
propiedad
Flags mas adelante) Si no pone uno de estos valores, le
dirá que no tiene fuentes
instaladas.
El cuadro de diálogo que se presenta es el
siguiente:
Los valores que se
pueden obtener de este cuadro de dialogo
son:
CD1.FontName Indica el nombre de la
fuente
CD1.FontSize Indica el tamaño de la
fuente
CD1.Color Indica el color de la
fuente (Abrir con Flags=256+1, 2 ó 3)
CD1.FontBold = (True / False) Si es True, se ha
elegido "Negrita"
CD1.FontItalic = (True / False) Si es True, se ha
elegido "Cursiva"
CD1.FontStrikethru = (True / False) Si es True,
se ha elegido "Tachada "
CD1.FontUnderline = (True / False) Si es True, se
ha elegido "Subrayada"
Si se elige una versión Negrita Cursiva
serían True las opciones FontBold y FontItalic
El objeto Font no puede aplicarse al CommonDialog. Es
decir, no podemos poner :
Variable = CD1.Font.Size sino Variable =
CD1.Fontsize
En el ejemplo que acompaña a este
capítulo, puede ver como se introducen las características de una determinada fuente
elegida en un cuadro de texto.
COLOR
Para mostrar el cuadro de diálogo correspondiente
al color, se
deberá ejecutar la instrucción:
CD1.ShowColor
El cuadro de diálogo presentado tiene esta
forma:
(La parte derecha del cuadro puede no salir. Depende del
valor de la
propiedad
Flags. Se saca haciendo click en Definir colores
personalizados, si está activado. También depende
de la propiedad
Flags)
El número correspondiente al color elegido se
puede conocer analizando la propiedad
color de cuadro
de diálogo. En nuestro ejemplo, lo obtendríamos
con
Variablecolor = CD1.Color
donde Variablecolor contendrá un
número correspondiente al color
elegido.
Nota acerca del número del
color.
Para establecer un color por medio de código, se
pondrá un valor de color
a la propiedad correspondiente de ese objeto. El valor del
color puede establecerse de tres formas que se comentan a
continuación.
Colores en Visual Basic.
Visual Basic acepta para especificar un color, tres
procedimientos: Mediante el número
de color, mediante la sentencia RGB ( rojo, verde, azul )
o mediante la función QBColor.
Por número
El número que representa el color en VB
está formado por la suma de la componente roja, la
componente verde y la componente azul. Podríamos verlo muy
bien en numeración Hexadecimal:
Color = Hex XX YY ZZ
Donde ZZ es un número Hexadecimal que representa
la cantidad del color rojo. El mínimo estaría en 0
(H00) y el máximo en 255 (HFF)
YY representaría la cantidad de color verde y XX
la de color azul, ambos con los mismos límites explicados
para el rojo.
Por ejemplo: el rojo puro sería: Hex(0000FF) =
255
el verde puro sería: Hex(00FF00) =
652280
el azul puro sería: Hex(FF0000) =
16711680
Una mezcla de un poco de rojo (HB1), otro poco de verde
(H56) y otro poco de azul (H1F) daría el siguiente
número:
Hex(1F56B1) = 2053809
El número de color puede estar comprendido entre
0 (correspondiente al negro) y el 16777215 (correspondiente al
blanco. Observe que esa cantidad, 16.777.215 (FFFFFF en
hexadecimal) corresponde a los famosos 16 millones de colores de las
tarjetas
gráficas.
Si queremos poner el color de fondo a un control Label,
usaremos la propiedad Backcolor. Si el Label se llama Label1,
pondríamos la instrucción
Label1.Backcolor = 12345678
Por la sentencia RGB
Se puede expresar el color, poniendo simplemente RGB
(rojo, verde, azul), donde rojo es un número entre 0 y 255
que indica la cantidad de color rojo que se aporta al color,
verde un número comprendido entre 0 y 255 indicando la
cantidad de verde, y lo mismo para azul.
Esta es la forma mas sencilla de poner la propiedad
color, y con la que mejor controlaremos el mismo.
Si queremos poner al Label anterior un color mediante la
sentencia RGB, ejecutaríamos la
sentencia :
Label1.Backcolor = RGB (128, 30, 100)
Mediante la Función QBColor
Esta función se ha puesto en Visual Basic para
compatibilidad con los colores que se
usan en Quick-Basic y Qbasic. Mediante esta función se
obtienen solamente 16 colores.
Sintaxis Objeto.QBColor(color)
El argumento color es un número entero entre 0 a
15, según la siguiente lista:
Número Color Número Color
0 Negro 8 Gris
1 Azul 9 Azul claro
2 Verde 10 Verde claro
3 Aguamarina 11 Aguamarina claro
4 Rojo 12 Rojo claro
5 Fucsia 13 Fucsia claro
6 Amarillo 14 Amarillo claro
7 Blanco 15 Blanco brillante
Para el mismo Label anterior, usaríamos la
sentencia :
Label1.Backcolor = QBColor (12)
Fin de la nota acerca del número del
color
IMPRESORAS
Nota: Si utiliza un CommonDialog para
impresoras y
otras aplicaciones, puede tener problemas.
Utilice un CommonDialog exclusivamente para
impresoras.
Para presentar el cuadro de elección de
impresora, ejecute la instrucción:
CD2.ShowPrinter
(A este cuadro de dialogo le hemos
llamado CD2 para evitar los problemas
referidos en la nota).
Aparecerá el siguiente cuadro de
diálogo:
La impresora elegida puede conocerla llamando a la
propiedad DeviceName de un objeto que aún no hemos
visto: el objeto Printer. Este objeto es el encargado de
pasar al Administrador de
Impresión todos los trabajos de impresión que
generen las aplicaciones Visual
Basic:
Nombredelaimpresora =
Printer.DeviceName
Para que la impresora quede como impresora por defecto
de Windows, debe
tener a True la propiedad PrinterDefault del cuadro
de diálogo.
En este cuadro puede observarse, que además de
los botones de ACEPTAR y CANCELAR, existe otro, INSTALAR.
Haciendo click en este, podemos cambiar la impresora por
cualquier otra que tenga instalada.
ABRIR Y GUARDAR ARCHIVOS
Posiblemente las opciones mas usadas del cuadro de
diálogo. Para presentar el cuadro de diálogo
correspondiente a Abrir Archivo, debe
ejecutar la instrucción:
CD1.ShowOpen
Si lo que necesita es abrir el cuadro de diálogo
para guardar un fichero, debe ejecutar la instrucción
:
CD1.ShowSave
pero antes deberá introducir el filtro o filtros
de archivos que
necesite. Ojo, ¡ ANTES !
Un filtro sirve para que en el cuadro de diálogo
se presenten solamente los ficheros de nuestro interés.
Se pueden seleccionar por el nombre, la extensión o las
dos cosas. La sintaxis para introducir un filtro es la
siguiente:
CD1.Filter = "Descripción del
fichero|nombre.extensión"
donde "nombre" puede ser un nombre o usar caracteres
comodín. Lo mismo para "extensión"
Por ejemplo, para buscar archivos
ejecutables, con cualquier nombre y extensión
.EXE
CD1.Filter = "Ficheros ejecutables
|*.exe"
Observe el carácter separador entre la
descripción de los ficheros (Ficheros ejecutables) y el
parámetro de busca (*.EXE). No ponga ningún espacio
entre el separador y los caracteres de busca. El separador es el
carácter ASCII
124.
Puede buscar varios tipos de ficheros, separando los
caracteres de busca por medio del carácter punto y coma
(;)
CD1.Filter = "Ficheros ejecutables
|*.EXE;*.COM;*.BAT"
Puede también introducir dos filtros, separados
por el separador | (En una línea solamente).
CD1.Filter="Ficheros de un tipo |*.EXE |Ficheros
de otro |*.COM |Otros ficheros |*.BAT"
Por ejemplo : CD1.Filter = "Ficheros
Word
|*.DOC|Ficheros Write |*.WRI"
¡ No se pueden poner dos líneas con
filtros, se quedaría solamente con la última
!
En este caso, cuando se presente el cuadro de
diálogo, solamente presentará uno de los filtros, y
deberá seleccionar manualmente el otro en un cuadro
situado en la parte inferior izquierda del cuadro de
diálogo. Para predeterminar cuál de los dos filtros
saldrá sin tener que seleccionarlo, deberá ejecutar
esta instrucción, ANTES de invocar el cuadro de
diálogo
CD1.FilterIndex = 2
En este caso, aparecerá por defecto el filtro
escrito en segundo lugar. El orden de los filtros comienza por
1.
El cuadro de diálogo deberá presentar un
directorio. Este directorio con el que, por defecto, aparece el
cuadro de diálogo, se puede introducir mediante la
propiedad InitDir, que deberá contener el nombre
del directorio y su path. Si no se especifica, comenzará
por el directorio actual.
Para conocer el nombre del fichero elegido, se emplea la
propiedad FileName :
Nombrefichero= CD1.filename
El nombre del fichero, Nombrefichero en la
sentencia anterior, viene con su path, es decir, nombre y
dirección completa, por lo que puede
emplearse directamente la salida del CommonDialog para
abrir un fichero.
El cuadro de diálogo de abrir o cerrar tiene esta
forma :
El cuadro de guardar es similar. Observe que en este
caso hemos desplegado la segunda opción de filtro de
ficheros :
Como ve ambos cuadros son prácticamente iguales.
Solamente se difieren en que uno pone Abrir y el otro
Guardar como en su barra de título. También
en que el cuadro Guardar como presenta los nombres de los
ficheros con un tono apagado. Funcionalmente difieren. Por
ejemplo, si quiere guardar un fichero con un nombre ya existente,
y dependiendo de la propiedad Flags que verá mas
adelante, le aparecerá la siguiente advertencia
:
Si desea otra leyenda en la barra de título,
puede cambiarla usando el asistente de propiedades, que lo
obtendrá colocando el cursor del ratón sobre el
icono del CommonDialog y pulsando el botón derecho.
Haga click sobre Propiedades en el popmenú que se
presenta. Aparecerá esto :
PRESENTAR AYUDAS
Mediante el CommonDialog se puede presentar un
fichero de ayuda. (Ficheros del tipo .HLP de Windows)
Pese a que se pueden presentar estos ficheros
basándonos en el CommonDialog, es preferible usar
directamente el programa
WinHelp.Exe, que puede ejecutarlo mediante la función
Shell :
VariableID = Shell ("WinHelp.Exe
FicheroAyuda.hlp",1)
Para mostrar el fichero de ayuda debe poner el nombre (y
Path) del fichero de ayuda en la propiedad HelpFile del
CommonDialog
CD1.HelpFile =
"C:MiCarpetaMiFicheroAyuda.HLP"
Puede mostrar el índice, o una página
concreta de ese fichero. Para ello debe jugar con la propiedad
HelpCommand, que le va a indicar al CommonDialog
qué ayuda debe mostrar.
CD1.HelpCommand =Valor
Las opciones para valor
son:
1 &H1 cdlContext
Muestra la Ayuda de un contexto determinado. Cuando se
usa esta valor, también se debe especificar un contexto
con la propiedad HelpContext.
2 &H2 cdlQuit
Notifica a la aplicación Ayuda que el archivo de
Ayuda especificado ya no se está utilizando.
3 &H3 cdlContents
Muestra el tema de contenido de ayuda, definido con la
opción Contents de la sección [OPTION] del
archivo
.HPJ.
3 &H3 cdlIndex
Muestra el índice del archivo de
Ayuda especificado. Las aplicaciones sólo deben utilizar
este valor para un archivo de
Ayuda con índice único.
4 &H4 cdlHelpOnHelp
Muestra la Ayuda para utilizar la propia
aplicación Ayuda.
5 &H5 cdlSetContents
Determina el tema de contenido a mostrar cuando el
usuario presiona la tecla F1.
5 &H5 cdlSetIndex
Establece el contexto especificado en la propiedad
HelpContext como índice actual para el archivo
especificado en la propiedad HelpFile. Este
índice seguirá siendo el actual hasta que el
usuario acceda a un archivo de Ayuda distinto. Utilice este
valor sólo para los archivos de
Ayuda con más de un índice.
8 &H8 cdlContextPopup
Muestra en una ventana emergente un tema de Ayuda
determinado, identificado por un número de contexto
definido en la sección [MAP] del archivo
.HPJ.
9 &H9 cdlForceFile
Asegura que WinHelp muestre el archivo de Ayuda
correcto. Si se muestra el
archivo correcto, no sucede nada. Si se muestra un
archivo incorrecto, WinHelp abrirá el
correcto.
257 &H101 cdlKey
Muestra la Ayuda sobre una palabra reservada
determinada. Al usar esta opción, deberá
especificar también una palabra reservada con la
propiedad HelpKey.
258 &H102 cdlCommand
Ejecuta una macro de Ayuda.
261 &H105 cdlPartialKey
Muestra el tema de la lista de palabras claves que
coincide con la palabra pasada en el parámetro
dwData, si sólo se encuentra uno. Si se encuentra
más de uno, aparecerá el cuadro de diálogo
Buscar mostrando los temas encontrados en el cuadro de lista Ir
a. Si no se encuentra ninguno, se mostrará el cuadro de
diálogo Buscar. Para que aparezca el cuadro de
diálogo Buscar sin pasar una palabra reservada, utilice
un puntero largo a una cadena vacía.
Si queremos que se muestre el índice de la ayuda,
pondríamos esta propiedad de la forma :
CD1.HelpCommand = cdlHelpIndex
Para mostrar la página que se ha puesto en el
fichero de ayuda como Contexto 2 (En Sección [MAP] del
fichero .HPJ (Vea Creación de Ficheros de
Ayuda),
CD1.HelpCommand = cdlHelpContext
CD1.HelpContext = 2
Para mostrar la Ayuda de la Ayuda de Windows :
CD1.HelpCommand = cdlHelpHelpOnHelp
Una vez establecidas estas propiedades, mostraremos la
ayuda con el Método
ShowHelp
CD1.ShowHelp
Repitiéndole que no se debe usar el CommonDialog
para mostrar ayudas, pero para cumplir el objetivo de
plasmar en este texto la mayor
información acerca de cada control, se
enumeran a continuación el resto de propiedades que
afectan a la presentación de ayuda :
HelpFile
HelpContext
HelpKey
PROPIEDADES DEL CommonDialog
La Propiedad Action
La propiedad Action se incluye en la versión 4 de
VB solamente por motivos de compatibilidad con anteriores
versiones. Realiza las mismas funciones que
ShowFont, ShowColor, ShowPrinter,
ShowOpen y ShowSave. No debe usarse esta propiedad,
sino los equivalentes citados, en previsión de que pueda
ser eliminada en futuras versiones.
La sintaxis de Action es : Nombre.Action [=
valor]
Valor Descripción
0 Ninguna acción.
1 Muestra el cuadro
de diálogo Abrir.
2 Muestra el cuadro
de diálogo Guardar como.
3 Muestra el cuadro
de diálogo Color.
4 Muestra el cuadro de diálogo Fuente.
5 Muestra el cuadro de diálogo
Impresora.
6 Ejecuta WINHELP.EXE.
NO utilice la propiedad Action. Utilice en su
lugar ShowFont, ShowPrinter, ShowSave, ShowOpen , ShowColor y
ShowHelp
CancelError
Devuelve o establece un valor que indica si se genera
un error cuando el usuario elige el botón
Cancelar.
Sintaxis : objeto.CancelError = (True /
False)
True Se genera un error.
False (Predeterminado) No se genera ningún
error.
Cuando se establece True en esta propiedad, se
producirá el error número 32755
(cdlCancel) cada vez que el usuario elija el
botón Cancelar.
Debe poner esta propiedad a true cuando quiera
detectar que se ha pulsado el botón CANCELAR. Luego,
debe detectar con la rutina de detección de errores
adecuada, si el error producido ha sido el 32755. De ser
así, es que han pulsado ese botón, y Vd.
procederá en consecuencia.
Color
Esta propiedad es de lectura /
escritura
De escritura :Establece el color
predeterminado con que aparecerá el CD para
elegir
color. Puede introducirse como RGB o
numéricamente, como se explicó mas atrás.
Para que aparezca este color predeterminado, debe poner la
propiedad Flags a 1.
De lectura : Entrega el color elegido, bien
en el cuadro de elección de color, bien en el
cuadro de elección de fuente.
Copies
Establece el valor predeterminado para número
de copias que aparecerá en el CD cuando se
abra para elegir impresora.
DefaultExt
Devuelve o establece la extensión de archivo
predeterminada para el cuadro de diálogo.
Sintaxis objeto.DefaultExt [=
cadena]
Puede utilizar esta propiedad para especificar una
extensión de archivo predeterminada, como por ejemplo
.TXT o .DOC.
Importante para el CommonDialog de
Guardar: Cuando se guarde un archivo sin
extensión, se le agregará automáticamente
la especificada en esta propiedad.
DialogTitle
Devuelve o establece la cadena mostrada en la barra de
título del cuadro de diálogo.
Sintaxis Nombre.DialogTitle [=
título]
Esta propiedad puede introducirse en la ventana de
propiedades, o por programa. Puede
utilizar esa propiedad para mostrar el nombre del cuadro de
diálogo en la barra de título.
Nota El control CommonDialog ignora el valor de
la propiedad DialogTitle cuando muestra los cuadros de
diálogo Color o Fuente.
El título predeterminado para un cuadro de
diálogo Abrir es Abrir, y para un cuadro de
diálogo Guardar como es Guardar como.
FileName
Devuelve o establece la ruta y el nombre de archivo de
un archivo seleccionado. La lectura
de esta propiedad devuelve el nombre del archivo seleccionado
actualmente en la lista. Si no hay ningún archivo
seleccionado, FileName devuelve una cadena
vacía.
Filter
(Explicada mas atrás)
Devuelve o establece los filtros que aparecen en el
cuadro de lista Tipo de un cuadro de diálogo.
Sintaxis CD1.Filter [= descripción1 |filtro1
|descripción2 |filtro2…]
Utilice el símbolo de canalización ( | ,
(ASCII 124) )
para separar los valores
de descripción y de filtro. No incluya espacios antes ni
después del símbolo de canalización, pues
aparecerían en los valores
de descripción y valor.
Al especificar más de un filtro en un cuadro de
diálogo, utilice la propiedad FilterIndex para
especificar el filtro predeterminado.
Nota para los que no tiene teclado de 102
teclas. Para obtener el carácter ASCII 124, pulse
la tecla ALT y, sin dejar de pulsarla, teclee 124 en el teclado
numérico.
FilterIndex
Devuelve o establece un filtro predeterminado para un
cuadro de diálogo Abrir o Guardar Como.
Sintaxis CD1.FilterIndex [=
número]
Esta propiedad indica el filtro predeterminado cuando
se han especificado varios filtros para un cuadro de
diálogo Abrir o Guardar. El índice del primer
filtro definido es 1.
FlagsPropiedad que tiene distintos significados
para cada tipo de cuadro de diálogo.
Tiene la misma sintaxis para todos los
cuadros.
Sintaxis CD1.Flags [= valor]
El parámetro valor establece distintas
alternativas, dependiendo de cada cuadro.
Para el cuadro de diálogo
Color
Las opciones para valor son:
1 &H1& cdlRGBInit
Establece como valor de color inicial para el cuadro
de diálogo el indicado en su propiedad
Color.
2 &H2& cdlFullOpen
Hace que el cuadro de diálogo se muestre
completo al crearlo, incluyendo la sección que permite
al usuario crear colores personalizados. Sin esta
opción, el usuario debe elegir el botón de
comando Definir colores personalizados para mostrar tal
sección.
4 &H4& cdlPreventFullOpen
Desactiva el botón de comando Definir colores
personalizados, evitando que el usuario defina
colores.
8 &H8& cdlShowHelp
Hace que el cuadro de diálogo muestre un
botón Ayuda.
Se pueden poner varias de estas condiciones, poniendo
como valor Flags la suma de los valores de
cada una de las condiciones a poner.
Para los cuadros Abrir y Guardar
Las opciones para valor son:
1 &H1& cdlReadOnly
Hace que la casilla de verificación Sólo
lectura
aparezca marcada inicialmente al crear el cuadro de
diálogo. Este indicador también señala
el estado de
la casilla Sólo lectura
cuando el cuadro de diálogo está
cerrado.
2 &H2& cdlOverwritePrompt
Hace que el cuadro de diálogo Guardar como
genere un cuadro de mensaje si el archivo seleccionado ya
existe. El usuario deberá confirmar que desea
sobrescribir el archivo.
4 &H4& cdlHideReadOnly
Oculta la casilla de verificación Sólo
lectura.
8 &H8& cdlNoChangeDir
Hace que el cuadro de diálogo restablezca como
directorio actual el que lo era en el momento de
abrirse.
16 &H10& cdlShowHelp
Hace que el cuadro de diálogo muestre el
botón Ayuda.
256 &H100& cdlNoValidate
Especifica que el cuadro de diálogo
común permita caracteres no válidos en el nombre
de archivo devuelto. Funciona tanto con el cuadro de Abrir como
con el de Cerrar. Tenga cuidado a la hora de crear un archivo
con nombre no válido !
512 &H200& cdlAllowMultiselect
Especifica que el cuadro de lista Nombre de archivo
admita selecciones múltiples. El usuario puede
seleccionar más de un archivo en tiempo de
ejecución presionando la tecla MAYÚS y utilizando
las teclas FLECHA ARRIBA y FLECHA ABAJO para seleccionar los
archivos
deseados. Al hacerlo, la propiedad FileName devolverá
una cadena con los nombres de todos los archivos
seleccionados. Los nombres están delimitados en la
cadena con espacios.
1024 &H400& cdlExtensionDifferent
Indica que la extensión del nombre de archivo
devuelto es distinta de la especificada en la propiedad
DefaultExt. Este indicador no estará activado si
la propiedad DefaultExt es Null, si las extensiones
coinciden, o si el archivo no tiene extensión. El valor
de este indicador puede comprobarse al cerrar el cuadro de
diálogo.
2048 &H800& cdlPathMustExist
Especifica que el usuario sólo pueda introducir
una ruta de acceso válida. Si se establece este
indicador y el usuario introduce una ruta no válida,
aparecerá un mensaje de advertencia.
4096
&H1000& cdlFileMustExist
Especifica, para el cuadro de Abrir, que el usuario
sólo pueda escribir en el cuadro de texto Nombre
de archivo nombres de archivos existentes. Si este indicador
está activado y el usuario introduce un nombre de
archivo no válido, aparecerá una advertencia.
Este indicador activa automáticamente
cdlPathMustExist.
8192 &H2000& cdlCreatePrompt
Especifica, para el cuadro de diálogo de abrir,
que si no existe el fichero consulte al usuario antes de crear
un archivo que no existe actualmente. Esta advertencia
dice : Este Archivo no existe ¿desea crearlo ?
y aparecen los botones de ACEPTAR y CANCELAR. Si el usuario
pulsa aceptar el CommonDialog se cierra normalmente, si
se le pulsa CANCELAR desaparece esta advertencia y el
CommonDialog espera a que se le escriba o seleccione
otro fichero. Este indicador establece automáticamente
los indicadores
cdlPathMustExist y cdlFileMustExist.
16384 &H4000& cdlShareAware
Especifica que se ignoren los errores al compartir
archivos.
32768 &H8000& cdlNoReadOnlyReturn
Especifica que el archivo devuelto no tenga el
atributo de Sólo lectura ni
esté en un directorio protegido contra escritura.
Presenta un aviso (tanto en el cuadro de abrir como en el
cerrar) que impide elegir un fichero de estas características.
Se pueden poner varias de estas condiciones, poniendo
como valor Flags la suma de los valores de
cada una de las condiciones a poner.
Para el cuadro Mostrar Fuentes:
Las opciones para valor son:
1 &H1& cdlScreenFonts
Hace que el cuadro de diálogo muestre solamente
las fuentes de pantalla que admite el sistema.
2 &H2& cdlPrinterFonts
Hace que el cuadro de diálogo muestre solamente
las fuentes que admite la impresora, especificadas por la
propiedad hDC.
3 &H3& cdlBoth
Hace que el cuadro de diálogo muestre las
fuentes de impresora y de pantalla disponibles. La propiedad
hDC identifica el contexto de dispositivo asociado a la
impresora
4 &H4& cdlShowHelp
Hace que el cuadro de diálogo muestre un
botón Ayuda.
256 &H100& cdlEffects
Especifica que el cuadro de diálogo permita
efectos de tachado, subrayado y color.
1024 &H400& cdlANSIOnly
Especifica que el cuadro de diálogo sólo
permita seleccionar las fuentes que utilizan el juego de
caracteres de Windows. Si
se establece este indicador, el usuario no podrá
seleccionar una fuente que sólo contenga
símbolos.
2048 &H800& cdlNoVectorFonts
Especifica que el cuadro de diálogo no permita
seleccionar fuentes vectoriales.
4096 &H1000& cdlNoSimulations
Especifica que el cuadro de diálogo no permita
simulaciones de fuente de interfaz de dispositivo
gráfico (GDI).
8192 &H2000& cdlLimitSize
Especifica que el cuadro de diálogo seleccione
sólo los tamaños de fuente comprendidos en el
rango especificado por las propiedades Min y Max.
16384 &H4000& cdlFixedPitchOnly
Especifica que el cuadro de diálogo seleccione
sólo fuentes de espaciado fijo.
32768 &H8000& cdlWYSIWYG
Especifica que el cuadro de diálogo permita
seleccionar solamente fuentes disponibles al la vez en la
pantalla y en la impresora. Si se establece este indicador,
también deben establecerse cdlBoth (sume 3 a este
número) y cdlScalableOnly (sume 131072 a este
número)
65536 &H10000& cdlForceFontExist
Especifica que aparezca un cuadro de mensaje cuando el
usuario intente seleccionar una fuente o un estilo que no
existan.
131072 &H20000& cdlScalableOnly
Especifica que el cuadro de diálogo permita
seleccionar solamente fuentes escalables.
262144 &H40000& cdlTTOnly
Especifica que el cuadro de diálogo permita
seleccionar solamente fuentes TrueType.
Nota Antes de mostrar el cuadro de diálogo
Fuentes, debe establecer cdlScreenFonts,
cdlPrinterFonts o cdlBoth en la propiedad Flags. En caso
contrario, se producirá el error No hay fuentes. (O dicho
de otra forma, Flags=1, 2 ó 3)
Se pueden poner varias de estas condiciones, poniendo
como valor Flags la suma de los valores de
cada una de las condiciones a poner.
Para el Cuadro de Diálogo
Imprimir
(Observará seguramente que lo que se describe a
continuación no se cumple siempre. Depende de las impresoras que
tenga Vd. instaladas)
Las opciones para valor son:
0 &H0& cdlAllPages
Devuelve o establece el estado del
botón de opción Todas las
páginas.
1 &H1& cdlSelection
Devuelve o establece el estado
del botón de opción Selección. Si no se
especifica cdlPageNums ni cdlSelection, el botón de
opción Todas estará
seleccionado.
2 &H2& cdlPageNums
Devuelve o establece el estado del
botón de opción Páginas.
4 &H4& cdlNoSelection
Desactiva el botón de opción
Selección.
8 &H8& cdlNoPageNums
Desactiva el botón de opción
Páginas y el control de edición
asociado.
16 &H10& cdlCollate
Devuelve o establece el estado de
la casilla de verificación Intercalar.
32 &H20& cdlPrintToFile
Devuelve o establece el estado de
la casilla de verificación Imprimir a un
archivo.
64 &H40& cdlPrintSetup
Hace que el sistema muestre
el cuadro de diálogo Configurar impresora en lugar de
Imprimir. Use este Flag cuando lo que desea es cambiar la
impresora predeterminada.
128 &H80& cdlNoWarning
Evita que aparezca una advertencia cuando no hay una
impresora predeterminada.
256 &H100& cdlReturnDC
Devuelve un contexto de dispositivo para la impresora
seleccionada en el cuadro de diálogo. El contexto se
devuelve en la propiedad hDC del cuadro de
diálogo.
512 &H200& cdlReturnIC
Devuelve un contexto de información para la impresora
seleccionada en el cuadro de diálogo. Un contexto de
información proporciona un método
rápido de obtener información sobre el dispositivo sin
crear un contexto de dispositivo. El contexto de información se devuelve en la propiedad
hDC del cuadro de diálogo.
2048 &H800& cdlShowHelp
Hace que el cuadro de diálogo muestre el
botón Ayuda
262144 &H40000& cdlUseDevModeCopies
Si un controlador de impresora no admite copias
múltiples, al establecer este indicador se desactiva el
control de edición de número de copias. Si el
controlador sí admite múltiples copias, al
establecer este indicador el cuadro de diálogo
almacenará el número de copias solicitado en la
propiedad Copies.
524288 &H80000& cdlDisablePrintToFile
Desactiva la casilla de verificación Imprimir a
un archivo.
1048576 &H100000& cdlHidePrintToFile
Oculta la casilla de verificación Imprimir a un
archivo.
Propiedades que afectan al tipo de
letra.
Las seis propiedades siguientes nos dan las características especiales de la fuente
elegida (negrita, cursiva, etc.). Una vez seleccionado el tipo de
letra, el valor de estas propiedades contiene la opción
elegida para la letra (si FontBold=True es que hemos elegido
negrita, etc.)
FontBold
Propiedad Booleana que establece o devuelve que el
tipo de letra usado es Negrita.
Sintaxis Variable =
CD1.FontBold
Los valores de
Variable son:
True Se ha elegido negrita False
(Predeterminado) No se ha elegido negrita.
FontItalic
Propiedad Booleana que establece o devuelve que el
tipo de letra usado es Cursiva.
Sintaxis Variable = CD1.
FontItalic
Los valores de
Variable son:
True si se ha elegido cursiva, False
(Predeterminado) en caso contrario.
FontStrikethru
Propiedad Booleana que establece o devuelve que el
tipo de letra usado es Tachada.
Sintaxis Variable = CD1.
FontStrikethru
Los valores de
Variable son:
True si se ha elegido tachado, False
(Predeterminado) en caso contrario.
FontUnderline
Propiedad Booleana que establece o devuelve que el
tipo de letra usado es Subrayado.
Sintaxis Variable =
CD1.FontUnderline
Los valores de Variable son:
True, si se ha elegido subrayado,
False (Predeterminado) en caso contrario
FontName
Devuelve el nombre de la fuente elegida. Es una
variable tipo String
Sintaxis Variable =
CD1.FontName
(Variable toma el valor del nombre de la fuente. Por
ejemplo, Variable = "Arial"
En general, deberá modificar FontName
antes de establecer los atributos de tamaño y estilo con
las propiedades FontSize, FontBold,
FontItalic, FontStrikethru y
FontUnderline.
Nota En tiempo de
ejecución puede obtener información sobre las fuentes disponibles
a través de las propiedades FontCount y
Fonts. Lo verá mas adelante
FontSize
Devuelve de la fuente elegida. Debe ser una variable
tipo Integer o Long
Sintaxis Variable = CD1.FontSize
donde Variable será una expresión
numérica que especifica el tamaño de fuente a
utilizar, en puntos.
Nota Las fuentes disponibles en Visual Basic
varían dependiendo de la configuración del
sistema y de
los dispositivos de presentación e impresión. En
las propiedades relacionadas con las fuentes sólo pueden
establecerse valores para los que exista una fuente.
En general, deberá modificar FontName
antes de establecer los atributos de tamaño y estilo con
las propiedades FontSize, FontBold,
FontItalic, FontStrikethru y
FontUnderline. Sin embargo, cuando especifique un
tamaño inferior a 8 puntos para una fuente
TrueType, primero deberá establecer el
tamaño en puntos con la propiedad FontSize, luego
especificar la propiedad FontName y después
establecer de nuevo el tamaño con FontSize. El
entorno operativo Microsoft
Windows
utiliza una fuente distinta para las fuentes TrueType
con un tamaño inferior a 8 puntos.
Index
Igual que el ya estudiado para otros
controles.
InitDir
Devuelve o establece el directorio de archivos
inicial.
Sintaxis objeto.InitDir [= cadena]
La sintaxis de la propiedad InitDir consta de las
siguientes partes:
objeto Nombre que define al CommonDialog
cadena Expresión de cadena que especifica el
directorio de archivos inicial.
Si no se especifica esta propiedad, se utilizará
el directorio actual.
Left y Top
Estas propiedades solamente afectan a la
colocación del icono en el formulario. No afectan
a la colocación del CommonDialog durante la
ejecución. La posición del CommonDialog en
tiempo de
ejecución no puede controlarse.
Esta afirmación de que la posición del
CommonDialog no es controlable es válida para
sistemas a 32
bytes. En VB 4 de 16 bits, el CommonDialog aparece
aproximadamente en la parte superior izquierda del formulario
que lo contiene. Algunos programadores han optado por poner un
formulario para contener solamente al CommonDialog, y
así, controlando la posición de ese formulario,
poder
controlar la posición (aproximada) en la que aparece el
CD.
Esto no ocurre para sistemas a 32
bytes, en los que el CD aparece
siempre en la parte superior izquierda de la pantalla,
independientemente de donde esté el formulario que lo
contiene.
MaxFileSize
Devuelve o establece el tamaño máximo
del nombre de archivo abierto con el control
CommonDialog.
Sintaxis objeto.MaxFileSize [=
valor]
La sintaxis de la propiedad MaxFileSize consta de las
siguientes partes:
objeto = Nombre que define al CommonDialog
valor = Número entero que especifica el
tamaño máximo del nombre de archivo en bytes. El
rango de esta propiedad es 132KB. El valor predeterminado es
256.
Name
Nombre que define al CommonDialog
PrinterDefault
Devuelve o establece una opción que determina
si la configuración elegida por el usuario en el cuadro
de diálogo Imprimir se utiliza para modificar la
configuración predeterminada de impresora del sistema.
Sintaxis objeto.PrinterDefault [=
valor]
objeto = Nombre que define al CommonDialog
valor = Expresión booleana que especifica si lo
seleccionado por el usuario se utiliza para modificar la
configuración de impresora predeterminada del sistema,
según se indica en Configuración.
Las opciones para valor son:
True Las opciones que elija el usuario en el
apartado Configurar del cuadro de diálogo Imprimir
(selección de la impresora, orientación,
etcétera) se utilizan para modificar la
configuración de impresora en el archivo WIN.INI del
usuario. (En el sistema
operativo Windows NT,
esta información se almacena en el Registro).
False Las opciones que elija el usuario no se
utilizan para modificar la configuración de impresora
predeterminada del sistema.
Utilice esta propiedad, que por defecto está a
True, para poner o no poner como impresora predeterminada, la
impresora seleccionada con el CommonDialog. Puede por ejemplo,
querer imprimir un texto en una
impresora determinada, pero solo ese texto, y no
quiere cambiar la impresora predeterminada por el hecho de
haber seleccionado en este momento otra impresora. Ponga esta
propiedad a False (recuerde que por defecto está a True)
para que la impresora seleccionada no se quede como impresora
por defecto.
Tag
Lo mismo que se ha explicado para otros
controles.
Guía de Visual Basic:
Primera Parte – – Tercera Parte – Bajar
Trabajo
Página anterior | Volver al principio del trabajo | Página siguiente |