Definir um ícone diferente para cada janela

Temos o prazer de anunciar uma nova caraterística que melhorará a experiência do utilizador em aplicações multi-janela em 4D 20 R7. Com a introdução do comando SET WINDOW DOCUMENT ICON, agora tem a capacidade de definir um ícone para cada tipo de janela, tornando mais fácil para os utilizadores identificar e navegar através de diferentes janelas.

HDI: Definir documento e ícone da janela

Novo comando

O comando SET WINDOW DOCUMENT ICON permite definir um ícone personalizado ou um documento para a janela referenciada, utilizando a seguinte sintaxe:

SET WINDOW DOCUMENT ICON($winRef; $picture)
SET WINDOW DOCUMENT ICON ($winRef; $document)
SET WINDOW DOCUMENT ICON ($winRef; $picture; $document)

Ao utilizar este comando, pode criar uma interface visualmente mais apelativa e intuitiva para os seus utilizadores.

Ícones

Por exemplo, crie três janelas,

  • a primeira utiliza o ícone da aplicação no Windows e nenhum ícone no macOS,
  • a segunda usa um ícone de “utilizador”,
  • e a terceira com um ícone de “produto”.

 

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"; *)

O ícone será visível na própria janela…

blank

e na barra de tarefas do Windows no modo SDI, fornecendo pistas visuais claras para o utilizador.

blank

Documentos

O ícone é normalmente uma imagem estática. Se a janela representar um arquivo ou documento em disco, pode ativar o popup de documento padrão, atribuído ao ícone, utilizando simplesmente este código:

var $file : 4D.File
$file :=File("/RESOURCES/files/user.txt")
SET WINDOW DOCUMENT ICON ($winRef; $file)

blank
blank

 

Se associar um documento, por padrão se utiliza o ícone do sistema desse documento. Pode utilizar outra imagem com 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)

blank
blank

 

Se não quiser uma barra de título, ou se pretender que o ícone seja associado a uma ação diferente, consulte Personalizar o aspecto com novos tipos de janela.

Mesmo que você personalize completamente a barra de título, ou não queira exibir a barra de título, o novo comando SET WINDOW DOCUMENT ICON ainda é útil, pois altera o ícone usado na barra de tarefas do Windows.

Próximo…

Existem muitas possibilidades para personalizar as suas janelas, basta dar uma olhada na documentação do tema do Windows.

Se tiver algum comentário ou sugestão, não hesite em partilhá-lo no fórum.

Vanessa Talbot
• Proprietário do produto - Vanessa Talbot entrou ao time 4D Program em Junho de 2014 como Proprietária do Produto e está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Desde sua chegada, trabalhou na definição de funcionalidades chaves em 4D. Trabalhou na maioria das novas funcionalidades multithread preemptivo e também em um tema muito complexo: a nova arquitetura para a aplicação engined. Vanessa é formada pela Telecom Saint-Etienne. Começou sua carreira no Instituto de Investigação Criminal como desenvolvedora do departamento audiovisual. Também trabalhou em meios de comunicação e no âmbito médico como especialista em assistência técnica, produção e documentação de novas funcionalidades.