• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

andreb

Duvida - Criar Windows Forms Alteradas

3 mensagens neste tópico

Boas,

alguem sabe como criar uma Windows Form com por exemplo um fundo, sem aquela barra de cima e criar um Botão que dê para fechar mas tudo com imagens editadas por mim e o butao por exemplo mudar de cor..

Penso que para o fundo do form seria a propriedade BackGroundImage com o FormStyle "None" para não se ver a barra, depois para o botão seria BackGoundImage, com fundo BackColor "Transparent", mas fica sempre um border..

Cumps, Andreb

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu fiz assim para o FireNotes:

O botão é uma classe que deriva da PictureBox e implementa vários estados (normal, tracked, pressed), ou seja, em vários eventos da PictureBox (OnMouseDown, OnMouseUp, OnMouseEnter e OnMouseLeave) troco a imagem do botão conforme necessário.

O resto do form é mais complicado porque aquilo é uma imagem simples e pequena. E criei uma classe que deriva do Form, coloquei o fundo transparente (usando a TransparencyKey) e removi os borders (FormBorderStyle = None). Depois carrego a respectiva imagem da skin, copio partes da imagem (caption, border) e no evento OnPaintBackground, "pinto" essas imagens nas respectivas localizações. Depois processo o WndProc e a mensagem WM_NCHITTEST para simular os borders. Ou seja, quando removes os borders, deixas de puder mudar o tamanho à janela, nessa mensagem, com localizações definidas (normalmente o espaço ocupado pelos borders/caption), o cursor muda e permite redimensionar a janela.

Se utilizadores a propriedade BackgroundImage para o Form, vais ter um form fixo em que não podes mudar o tamanho dele, se é isso que queres ou se não te importas com isso, é a forma mais fácil.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Muito Obrigado, esclareceu-me completamente, eu ja tinha testado tambem com uma PictureBox mas demorava algum tempo a carregar a imagem.. agora parece um bocadinho mais rapido...

Não me importo pois queria fazer uma form com o fundo recortado.. e não deixar redimensionar(tipo os loaders de alguns jogos).

PS: Só mais uma coisa a Imagem da PictureBox é PNG ou Gif para ficar o fundo transparente? ou usas BackColor=Transparent? e metes na propriedade Image ou BackGroundImage?

Cumps Andreb.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora