Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
185
Assunto : Visual Basic
Titulo: Como criar uma borda em um formulário

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



A função da API chamada DrawEdge permite desenhar bordas em formulários e vários outros efeitos interessantes. Vejamos um exemplo :

Private Declare Function DrawEdge Lib "user32" (ByVal hDC _
As Long, qrc As RECT, ByVal edge As Long, ByVal _
grfFlags As Long) As Long
Private Declare Function GetClientRect Lib "user32" _
(ByVal hWnd As Long, lpRect As RECT) As Long

A função DrawEdge é usada normalmente em conjunto com a GetClientRect. A função GetClientRect obtém as coordenadas de tela da janela apontada pelo handle (hwnd) transmitido para ela.

A função GetClientRect (e também a DrawEdge) precisam de um UDT para especificar o posicionamento da janela na tela. Ei-lo :


Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

A função DrawEdge utiliza diversas constantes para especificar como será o desenho da borda. Apesar de não estarmos usando todas no exemplo, vamos defini-las :


Const BDR_INNER = &HC
Const BDR_OUTER = &H3
Const BDR_RAISED = &H5
Const BDR_RAISEDINNER = &H4
Const BDR_RAISEDOUTER = &H1
Const BDR_SUNKEN = &HA
Const BDR_SUNKENINNER = &H8
Const BDR_SUNKENOUTER = &H2
Const BF_RIGHT = &H4
Const BF_LEFT = &H1
Const BF_TOP = &H2
Const BF_BOTTOM = &H8
Const EDGE_BUMP = (BDR_RAISEDOUTER Or BDR_SUNKENINNER)
Const EDGE_ETCHED = (BDR_SUNKENOUTER Or BDR_RAISEDINNER)
Const EDGE_RAISED = (BDR_RAISEDOUTER Or BDR_RAISEDINNER)
Const EDGE_SUNKEN = (BDR_SUNKENOUTER Or BDR_SUNKENINNER)
Const BF_RECT = (BF_LEFT Or BF_RIGHT Or BF_TOP Or BF_BOTTOM)

Por fim vamos programar o evento paint do form para que sempre que o form for desenhado na tela a borda seja também desenhada. Veja :


Private Sub Form_Paint()


Static Tmp As RECT
Static TmpL As Long
TmpL = GetClientRect(hWnd, Tmp)
TmpL = DrawEdge(hDC, Tmp, EDGE_SUNKEN, BF_RECT)
End Sub


Observe como nós primeiramente chamamos o GetClientRect com o handle do form atual (hwnd, como já estamos no form atual foi dispensado o me.) para obter o posicionamento da janela e em seguida chamado o drawedge para fazer o desenho.



Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br