Página 1 de 1

Borda simples no label, sem 3D

Enviado: 07 Ago 2023 15:28
por JoséQuintas
Alguém tem a solução pra isso ?

A borda do label é 3D, mas é muito feia.

Queria fazer a padrão do Windows que é FLAT.

Como definir o estilo da borda?

Nota: pelo fonte da hwgui não faço idéia, à primeira vista nem deveria ser 3D.
Apenas indiquei WS_BORDER

Borda simples no label, sem 3D

Enviado: 07 Ago 2023 15:58
por JoséQuintas
Achei o possível problema, mas linguagem C complicou.

Código: Selecionar todos

   CreateStatic( hParentWyndow, nControlID, nStyle, x, y, nWidth, nHeight )
*/
HB_FUNC( HWG_CREATESTATIC )
{
   ULONG ulStyle = hb_parnl( 3 );
   ULONG ulExStyle =
         ( ( !HB_ISNIL( 8 ) ) ? hb_parnl( 8 ) : 0 ) | ( ( ulStyle & WS_BORDER ) ?
         WS_EX_CLIENTEDGE : 0 );
Esse estilo WS_EX_CLIENTEDGE altera o estilo FLAT.
Só não sei mexer com C pra testar.
E pior: isso afeta o default da hwgui

Borda simples no label, sem 3D

Enviado: 07 Ago 2023 18:22
por JoséQuintas
Alternativa seria usar o ON PAINT

Alguém já usou ?

Tentei aqui mas complicou encontrar as funções certas pra isso.