STILO BARRA DE TITULOS FORM

LUIS.HERRERA 11/05/2012 12:11:39
#401803
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?
OCELOT 11/05/2012 12:54:02
#401808
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
LUIS.HERRERA 11/05/2012 17:45:00
#401851
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
KERPLUNK 11/05/2012 17:47:24
#401852
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.
LUIS.HERRERA 11/05/2012 17:55:16
#401854
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.

ALEXPASSOS 12/05/2012 07:39:54
#401861
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
LUIS.HERRERA 22/05/2012 10:04:45
#402436
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.
ALEXPASSOS 22/05/2012 11:20:14
#402449
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.
ALEXPASSOS 22/05/2012 11:23:16
#402450
Essa é a tela principal do meu sistema é um form MDI, todo o sistema utilizando o Krypton
ALEXPASSOS 22/05/2012 14:53:30
#402478
veja o cadastro de clientes
Tópico encerrado , respostas não são mais permitidas