Galeria de UIs escritas em MQL - página 50

 
hini #:
Como os usuários adicionam as imagens que estão procurando e as usam para criar a interface? Essa é a pergunta.

As imagens da interface (ícones ou outras figuras) são divididas em duas categorias:

1. Internas.

As imagens internas são integradas ao designer. Por exemplo, imagens em botões de rolagem, setas de itens de menu, cruzes de botões de fechamento de janelas e outros. Essas são imagens padrão e são escritas por números na matriz. Ícones da janela Label Menu também. Eles são escritos por números em uma matriz especial. Mesmo sem recursos externos (pastas com imagens), essas imagens permanecerão e o usuário poderá usá-las da mesma forma. Nesse caso, o endereço do ícone é o nome pelo qual o construtor o encontra.


2. Externas.

Todas as imagens externas devem estar localizadas na pasta Imagens. O construtor as carrega como recursos e as registra na matriz comum de imagens. O algoritmo então acessa essas imagens como suas imagens internas. Quando o usuário salva o projeto, o algoritmo seleciona e grava no arquivo UIDATA somente as imagens de que a interface do usuário precisa.


Basicamente, é simples.

1. O usuário coloca a imagem desejada na pasta Images.

2. Em um arquivo especial, ele escreve uma linha (por exemplo) #resource "::Images\\/32x32\Index.bmp".

3. Em seguida, no código, especifica:

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, LABEL,A,  N_LABEL,"::Images\\32x32\\Index.bmp", 
//----------------------------------------------------------------------------------
END_GROUP,
//----------------------------------------------
i, AT, _X2X, "MF", 10, _Y2Y, "T1", 5,
//----------------------------------------------
//----------------------------------------------------------------------------------


Pronto.


O usuário simplesmente usa a string de atribuição de imagem normal para o elemento ou a janela. Nada mais é necessário. O próprio construtor determinará se a imagem é externa ou interna. Se for externa, ele a retirará do recurso e a colocará em uma matriz com as outras imagens.