STILO BARRA DE TITULOS FORM
Boa tarde.
Estou fazendo um sistema em VS 2008, onde tem um MDI e seus [Ô]filhos[Ô].
Bem a questão é que ao rodar o sistema, o MDI e qualquer filho modal (fora do MDI) tem sua barra de tÃtulos seguindo o padrão do Windows (meu caso transparente no Win 7), mas todos os forms filhos dentro do MDI, ficam com a barra numa cor azul fosco.
Estou usando as propriedades padrão e não achei nada que alterando deixasse todos os forms com a barra de titulos iguais, ou seja, dentro do MDI igual a usada no Windows.
Alguém sabe se é bug do VS 2008 ou se tem como alterar isso?
Estou fazendo um sistema em VS 2008, onde tem um MDI e seus [Ô]filhos[Ô].
Bem a questão é que ao rodar o sistema, o MDI e qualquer filho modal (fora do MDI) tem sua barra de tÃtulos seguindo o padrão do Windows (meu caso transparente no Win 7), mas todos os forms filhos dentro do MDI, ficam com a barra numa cor azul fosco.
Estou usando as propriedades padrão e não achei nada que alterando deixasse todos os forms com a barra de titulos iguais, ou seja, dentro do MDI igual a usada no Windows.
Alguém sabe se é bug do VS 2008 ou se tem como alterar isso?
Não é bug, esse é o comportamento normal das janelas MDI, todos os filhos dela tem a barra de titulo opaca, apenas janelas que não façam parte do MDI vão ter a barra de tÃtulo transparente no Windows Vista/7, e pelo que eu saiba não tem como alterar isso já que isso é padrão do sistema operacional
Entendi Ocelot. A Microsoft não faz nada mesmo para melhorar o visual de suas ferramentas de desenvolvimento é ridÃculo isso. Bem...
Estive pesquisando na web, e estou achando um [Ô]MONTE[Ô] de códigos para controlar a captionbar. Estou testando, e a maioria é de versões antigas e dão erro ao converter para o VS 2008. Porém encontrei um que tem um visual excelente, usa imagens de fundo para substituir a barra e seus botões do form o que permite criar vários fundos diferentes e aplicar como o usuário quiser, um verdadeiro Skin. Funcionou perfeitamente no VS 2008 com Windows 7. Depois vou testar no XP.
Minha dúvida agora é que no código tem uma chamada a uma conhecida API do windows user32.dll. O detalhe é que estou desenvolvendo o sistema genérico para 32 ou 64 bits, e não quero fixar nada.
Assim alguém saberia como fazer para o código usar a API 32 no windows 32 bits e a API 64 no windows 64 bits, mas qual seria a API correspondente ao código em vermelho abaixo?
Nota: C#
using System.Runtime.InteropServices;
namespace TitleBarControl
{
public partial class FormTitleBarControl : UserControl
{
[txt-color=#e80000] public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;
[DllImportAttribute([Ô]user32.dll[Ô])]
public static extern int SendMessage(IntPtr hWnd,
int Msg, int wParam, int lParam);
[DllImportAttribute([Ô]user32.dll[Ô])]
public static extern bool ReleaseCapture();[/txt-color]
public FormTitleBarControl()
{
InitializeComponent();
}
}
}
Abaixo um exemplo do skin com MDI
Estive pesquisando na web, e estou achando um [Ô]MONTE[Ô] de códigos para controlar a captionbar. Estou testando, e a maioria é de versões antigas e dão erro ao converter para o VS 2008. Porém encontrei um que tem um visual excelente, usa imagens de fundo para substituir a barra e seus botões do form o que permite criar vários fundos diferentes e aplicar como o usuário quiser, um verdadeiro Skin. Funcionou perfeitamente no VS 2008 com Windows 7. Depois vou testar no XP.
Minha dúvida agora é que no código tem uma chamada a uma conhecida API do windows user32.dll. O detalhe é que estou desenvolvendo o sistema genérico para 32 ou 64 bits, e não quero fixar nada.
Assim alguém saberia como fazer para o código usar a API 32 no windows 32 bits e a API 64 no windows 64 bits, mas qual seria a API correspondente ao código em vermelho abaixo?
Nota: C#
using System.Runtime.InteropServices;
namespace TitleBarControl
{
public partial class FormTitleBarControl : UserControl
{
[txt-color=#e80000] public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;
[DllImportAttribute([Ô]user32.dll[Ô])]
public static extern int SendMessage(IntPtr hWnd,
int Msg, int wParam, int lParam);
[DllImportAttribute([Ô]user32.dll[Ô])]
public static extern bool ReleaseCapture();[/txt-color]
public FormTitleBarControl()
{
InitializeComponent();
}
}
}
Abaixo um exemplo do skin com MDI
Bem, para simplificar: MDI é um padrão já bastante obsoleto e por isso, novos updates para ele(como o que você quer), são sempre deixados para segundo plano.
Tudo bem Kerplunk?
Sim até concordo para certos tipos de aplicativos, mas o Officer por exemplo é basicamente MDI e outros tipos de aplicação corporativa, é meio complicado querer inventar muito. Assim dar uma aparência um pouco melhor, já acho suficiente. Veja a imagem que postei acima.
Você sabe como substituir o código em vermelho de modo que funcione tanto no 32 como no 64bits?
Não tenho nada 64bits para testar.
Sim até concordo para certos tipos de aplicativos, mas o Officer por exemplo é basicamente MDI e outros tipos de aplicação corporativa, é meio complicado querer inventar muito. Assim dar uma aparência um pouco melhor, já acho suficiente. Veja a imagem que postei acima.
Você sabe como substituir o código em vermelho de modo que funcione tanto no 32 como no 64bits?
Não tenho nada 64bits para testar.
Porque você não usa o componente Krypton 4.3.1 (Component Factory)
Ele tem vários skins para os forms e vários componentes free (todos com designer moderno).
é só instalar e os componentes aparece na ToolBox
Ele tem vários skins para os forms e vários componentes free (todos com designer moderno).
é só instalar e os componentes aparece na ToolBox
Alexpassos eu até instalei esse Krypton, mas ele não tem alguns controles importantes como: Grid, Abas, MDI. Vi outro que tem vários controles, mas estou com problemas também. Parece que esses pacotes sempre dão algum problema, seja na instalação ou na distribuição.
Luiz... o Krypton tem grid sim (DataGridView e tem o MDI Também) eu utilizo eles no meu sistema e nunca tive problemas na distribuição.
Esse Abas que você falou que é o TabControl? Esse realmente não tem, na verdade tem só que é pago.
Esse Abas que você falou que é o TabControl? Esse realmente não tem, na verdade tem só que é pago.
Essa é a tela principal do meu sistema é um form MDI, todo o sistema utilizando o Krypton
veja o cadastro de clientes
Tópico encerrado , respostas não são mais permitidas