Nos complace anunciar una nueva funcionalidad que mejorará la experiencia del usuario en aplicaciones multi-ventana en 4D 20 R7. Con la introducción del comando SET WINDOW DOCUMENT ICON, ahora tiene la posibilidad de definir un icono para cada tipo de ventana, facilitando a los usuarios la identificación y navegación a través de las diferentes ventanas.
HDI: Definir documento e icono de ventana
Nuevo comando
El comando SET WINDOW DOCUMENT ICON le permite establecer un icono personalizado y/o un documento para la ventana referenciada utilizando la siguiente sintaxis:
SET WINDOW DOCUMENT ICON($winRef; $picture)
SET WINDOW DOCUMENT ICON ($winRef; $document)
SET WINDOW DOCUMENT ICON ($winRef; $picture; $document)
Utilizando este comando, puede crear una interfaz visualmente más atractiva e intuitiva para sus usuarios.
Iconos
Por ejemplo, cree tres ventanas,
- la primera utiliza el icono de la aplicación en Windows y ningún icono en macOS,
- la segunda utiliza un icono de «usuario»,
- y la tercera con un icono de «producto».
var $winRef : Integer
var $userImage ; $productImage: Picture
BLOB TO PICTURE (File("/RESOURCES/icon/user.png").getContent(); $userImage)
BLOB TO PICTURE (File("/RESOURCES/icon/product.png").getContent(); $productImage)
// 1- Open "Contact" form
$winRef:=Open form window("Contacto"; Plain form window+Form has no menu bar)
DIALOG ("Contacto"; *)
// 2- Open "Contact" form with "user" icon
$winRef :=Open form window("Contacto"; Plain form window+Form has no menu bar)
SET WINDOW DOCUMENT ICON ($winRef; $userImage)
DIALOG ("Contacto"; *)
// 3- Open "Contact" form with "product" icon
$winRef :=Open form window("Contacto"; Plain form window+Form has no menu bar)
SET WINDOW DOCUMENT ICON ($winRef; $productImage)
DIALOG ("Contacto"; *)
El icono será visible dentro de la propia ventana…

… y en la barra de tareas de Windows en modo IDE, ofreciendo al usuario indicaciones visuales claras.

Documentos
El icono suele ser una imagen estática. Si la ventana representa un archivo o documento en disco, puede activar la ventana emergente estándar de documentos, asignada al icono, simplemente utilizando este código:
var $file : 4D.File
$file :=File("/RESOURCES/files/user.txt")
SET WINDOW DOCUMENT ICON ($winRef; $file)


Si asocia un documento, por defecto utiliza el icono de sistema de este documento. Puede utilizar otra imagen con este código:
var $image : Picture
var $file : 4D.File
BLOB TO PICTURE (File("/RESOURCES/icon/user.png").getContent(); $image)
$file :=File("/RESOURCES/files/user.txt")
SET WINDOW DOCUMENT ICON ($winRef; $image; $file)


Si no desea una barra de título, o si desea que el icono se asocie a una acción diferente, consulte Personalizar la apariencia con nuevos tipos de ventana.
Incluso si personaliza completamente la barra de título, o no desea mostrarla en absoluto, el nuevo comando SET WINDOW DOCUMENT ICON sigue siendo útil, ya que cambia el icono utilizado en la barra de tareas de Windows.
Siguiente…
Hay un montón de posibilidades para personalizar sus ventanas, sólo tiene que dar un vistazo a la documentación del tema de Windows.
Si tiene algún comentario o sugerencia, no dude en compartirlo en el foro.
