Ir para conteúdo
Fórum Script Brasil
  • 0

Windows API


DanC++

Pergunta

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

  • 0

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.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...