Caro amigo, estou com uma dificuldade muito grande para realizar uma tarefa, aparentemente simples.
Estou desenvolvendo uma nova aplicação usando um MDIForm e outros forms filhos.
Quero colocar um recurso tipo papel de parede para a aplicação.
Já criei um menu no meu form principal (MDI) aonde o usuário escolhe o papel que quiser.
Bem, ao todo são 10 papéis de parede, todos em formato jpeg resolução 800x600. Gostaria de usar o recurso Strech para aumentar ou diminuir o tamanho da figura de acordo com a resolução do usuário. Sendo assim a propriedade Picture do form MDI não será a solução pois ela não suporta Strech.
Decidi usar então o componente Image (que suporta Stretch), mas percebi que ele não pode ser adicionado à um form MDI pois não possui a propriedade Align. Descobri que se utilizar um componente Picture (que possui Align) como um container, poderia colocar o objeto Image dentro da Picture, podendo com isso colocar a imagem como papel de parede, e aumentando ou diminuindo de acordo com a resolução de tela do usuário.
Estou utilizando um componente (Active Resizer) que permite que a minha PictureBox ocupe todo o MDIForm. Ou seja se o usuário diminuir ou aumentar o tamanho do form Principal (MDI), o PictureBox aumenta e diminui junto com o Form, consequentemente o usuário terá sempre a figura redimensionada.
Até aí tudo bem, parecia que eu tinha conseguido o que queria. Já tinha conseguido colocar um papel de parede dentro do Form MDI, já havia conseguido aumentar e diminuir o tamanho da Figura de acordo com a resolução de tela, e já tinha conseguido aumentar ou diminuir a figura de acordo com o tamanho do Form.
Mas, logo em seguida tive um grande problema, que impediu a continuação do projeto: Ao definir um form (MDI Child=True) que seria chamado através de um comando de menu do Form Principal; pude observar que o form não aparecia após o comando Form1.show.
Parece que o PictureBox e qualquer outro Form Filho, são concorrentes, ou seja, disputam espaço dentro do FormMDI. E como o meu PictureBox está utilizando todo o espaço do Form Principal, não sobra espaço para o Form Filho.
A única maneira de visualizar o Form1, é atribuindo a propriedade MDIChild =False. Mas aí não haveria necessidade de um form MDI já que todas as outras janelas não serão filhas do mesmo.
Como faço para colocar um Form Filho por cima da PictureBox do Form MDI ?
Existe alguma outra maneira de colocar um papel de parede no MDI, que ocupe toda a tela, e ainda assim poder trabalhar com Forms Filhos?
Por favor, me responda assim que puder.