DanC++ Postado Fevereiro 26, 2009 Denunciar Share Postado Fevereiro 26, 2009 Olá pessoal,Sou novo no forum e razoavelmente novo em Windows programming.Tou estudando a API do Windows e queria saber se alguém pode me ajudar a criar uma janela com um formato diferente do convencional.Por exemplo em formato de uma elipse... obviamente sem a barra de títulos...Ou como a janela do Windows Live Messenger, que até tem a barra de títulos e menus, mas fica escondida e só aparece quando se aperta o ALT.Isso de apertar o ALT pode deixar q eu me viro, tenho até uma boa ideia de como fazer...Mas o formato da janela, nem ideia...Imagino q exista um Window Style (WM_algo) q possiblite modificar o formato...Confesso que só trabalhei com o velho WM_OVERLAPPEDWINDOW, então nem conheço outros...Mas enfim, talvez nem seja isso...Valeu já adiantado!Danilo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DanC++ Postado Fevereiro 27, 2009 Autor Denunciar Share Postado Fevereiro 27, 2009 Bem, ninguém me respondeu, mas acabei achando uma maneira.Usando a função SetWindowRgn(), a função limita a área em q o Window desenha.Cria-se uma reginal (tipo HRGN) com CreateRectRgn() ou uma de suas primas (CreatePolygonRgn(), por exemplo)e passa ela pra SetWindowRgn na WM_PAINT que a janela só será desenhada dentro da região, excluindo o resto (inclusive a barra de títulos e td mais)o dificil ta sendo por as coordenadas x e y corretas...fiz um teste criando uma Rgn do tamanho da Client Area, mas na hora de criar a Rgn, as coordenadas têm q tá de acordo com a janela inteira e não só com a Client Area, ou seja, o ponto 0,0 é o canto superior-esquerdo da janela e não da client area...pra solucionar isso eu peguei os valores GetSystemMetrics(SM_CXSIZEFRAME), largura da borda dos lados da janela, e GetSystemMetrics(SM_CYSIZEFRAME) + GetSystemMetrics(SM_CYCAPTION), soma da altura da borda com a altura da barra de títulos, daí useis esses valores pra reajustar as coordenadas da Rgn.Deu certo, mas ainda acho q tem jeito mais fácil...alguma sugestão?Danilo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
DanC++
Olá pessoal,
Sou novo no forum e razoavelmente novo em Windows programming.
Tou estudando a API do Windows e queria saber se alguém pode me ajudar a criar uma janela com um formato diferente do convencional.
Por exemplo em formato de uma elipse... obviamente sem a barra de títulos...
Ou como a janela do Windows Live Messenger, que até tem a barra de títulos e menus, mas fica escondida e só aparece quando se aperta o ALT.
Isso de apertar o ALT pode deixar q eu me viro, tenho até uma boa ideia de como fazer...
Mas o formato da janela, nem ideia...
Imagino q exista um Window Style (WM_algo) q possiblite modificar o formato...
Confesso que só trabalhei com o velho WM_OVERLAPPEDWINDOW, então nem conheço outros...
Mas enfim, talvez nem seja isso...
Valeu já adiantado!
Danilo.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.