Página 1 de 2

Menu com PANEL horizontal

Enviado: 13 Dez 2020 10:50
por asimoes
2020-12-13 10_48_20-Gerador de Arquivo de Importação.png
Menu usando PANEL com rolagem horizontal

Menu com PANEL horizontal

Enviado: 13 Dez 2020 18:52
por asimoes
Com OWNERBUTTON
2020-12-13 18_51_37-Gerador de Arquivo de Importação.png

Menu com PANEL horizontal

Enviado: 14 Dez 2020 11:06
por JoséQuintas
Mostre como usou o ownerbutton pra ficar, ao que parece, transparente.

Já pensou em subir essa versão pro github, pra comparar com a atual, ou algo mais?

Menu com PANEL horizontal

Enviado: 14 Dez 2020 11:11
por asimoes
Uso TRANSPARENT, O botão tá dentro de um panel usando efeito gradiente inclusive

Código: Selecionar todos

   @ 05,nLin OWNERBUTTON cmd1 ;
             OF oPanelx1 ;
             FLAT ;
             ON INIT  {|This| This:TColor := nCorTexto } ;
             ON CLICK { || oPanelx1:SetFocus() } ;
             SIZE     40, 40  ;
             TEXT     ""    COORDINATES 50,0,0,0 ;
             BITMAP   oBitmap01 COORDINATES 0,0,32,32 ;
             TRANSPARENT ;
             COLOR 0xffffff ;
             TOOLTIP "Cadastro de Sócios" ON SIZE ANCHOR_RIGHTABS

Menu com PANEL horizontal

Enviado: 14 Dez 2020 11:38
por JoséQuintas
Ok, se quiser só faz um pequeno ajuste aí, colocar o COLOR junto com o TRANSPARENT.

Código: Selecionar todos

#xcommand @ <x>,<y> BITMAP [ <oBmp> SHOW ] <bitmap> ;
            [<res: FROM RESOURCE>]     ;
            [ OF <oWnd> ]              ;
            [ ID <nId> ]               ;
            [ SIZE <width>, <height> ] ;
            [ BACKCOLOR <bcolor> ]     ;
            [ STRETCH <nStretch>]      ;
            [<lTransp: TRANSPARENT> [COLOR  <trcolor> ]] ;
            [ ON INIT <bInit> ]        ;
            [ ON SIZE <bSize> ]        ;
            [ ON CLICK <bClick> ]      ;
            [ ON DBLCLICK <bDblClick> ];
            [ TOOLTIP <ctoolt> ]       ;
          => ;
    [<oBmp> := ] HSayBmp():New( <oWnd>,<nId>,<x>,<y>,<width>, ;
        <height>,<bitmap>,<.res.>,<bInit>,<bSize>,<ctoolt>,<bClick>,<bDblClick>,<.lTransp.>,<nStretch>,<trcolor>,<bcolor> );
    [; hwg_SetCtrlName( <oBmp>,<(oBmp)> )]

Código: Selecionar todos

[<lTransp: TRANSPARENT> [COLOR  <trcolor> ]] ;
Aí está escolhendo qual a cor que vai ser transparente, o COLOR faz parte do TRANSPARENT
Como BITMAP não é transparente, isso acaba sendo feito escolhendo uma cor, e aplicada à janela.

Está aí a diferença entre ICON e BITMAP, que provavelmente precisa ajuste na HWGUI.
O ícone por si só é transparente, e existe uma função no Windows pra desenhar ícone, ajustando a janela pra transparente automaticamente - ela NÃO está sendo usada na HWGUI.
Já pro bitmap, a HWGUI altera a janela pra ficar de acordo com a cor do bitmap.
Provavelmente porque em Linux toda imagem é tratada igual, mas faltou o tratamento de ícone pra Windows.

Menu com PANEL horizontal

Enviado: 14 Dez 2020 11:52
por JoséQuintas
A propósito....
Mexi na hwgui só pra facilitar.
Tanto faz se é só hwgui, só gtwvg, só console, ou tudo misturado.
Compilando com -w3 -es2 !!!

Quase todo windows.ch já existe dentro da GTWVG, esse era um dos problemas ao compilar junto.
E mudei o SAY/GET da HWGUI pra HSAY e HGET.
Nada do outro mundo, só uma opção de omitir #defines repetidos.

Menu com PANEL horizontal

Enviado: 14 Dez 2020 13:41
por asimoes
Cores que podem ser usadas em COLOR do botão

Código: Selecionar todos

 	static const ARGB AlphaMask            = 0xFF000000UL;
   	static const ARGB Transparent          = 0x00FFFFFFUL;
		static const ARGB AliceBlue            = 0xFFF0F8FFUL;
	  static const ARGB AntiqueWhite         = 0xFFFAEBD7UL;
	  static const ARGB Aqua                 = 0xFF00FFFFUL;
	  static const ARGB Aquamarine           = 0xFF7FFFD4UL;
	  static const ARGB Azure                = 0xFFF0FFFFUL;
	  static const ARGB Beige                = 0xFFF5F5DCUL;
	  static const ARGB Bisque               = 0xFFFFE4C4UL;
	  static const ARGB Black                = 0xFF000000UL;
	  static const ARGB BlanchedAlmond       = 0xFFFFEBCDUL;
	  static const ARGB Blue                 = 0xFF0000FFUL;
	  static const ARGB BlueViolet           = 0xFF8A2BE2UL;
	  static const ARGB Brown                = 0xFFA52A2AUL;
	  static const ARGB BurlyWood            = 0xFFDEB887UL;
	  static const ARGB CadetBlue            = 0xFF5F9EA0UL;
	  static const ARGB Chartreuse           = 0xFF7FFF00UL;
	  static const ARGB Chocolate            = 0xFFD2691EUL;
	  static const ARGB Coral                = 0xFFFF7F50UL;
	  static const ARGB CornflowerBlue       = 0xFF6495EDUL;
	  static const ARGB Cornsilk             = 0xFFFFF8DCUL;
	  static const ARGB Crimson              = 0xFFDC143CUL;
	  static const ARGB Cyan                 = 0xFF00FFFFUL;
	  static const ARGB DarkBlue             = 0xFF00008BUL;
	  static const ARGB DarkCyan             = 0xFF008B8BUL;
	  static const ARGB DarkGoldenrod        = 0xFFB8860BUL;
	  static const ARGB DarkGray             = 0xFFA9A9A9UL;
	  static const ARGB DarkGreen            = 0xFF006400UL;
	  static const ARGB DarkKhaki            = 0xFFBDB76BUL;
	  static const ARGB DarkMagenta          = 0xFF8B008BUL;
	  static const ARGB DarkOliveGreen       = 0xFF556B2FUL;
	  static const ARGB DarkOrange           = 0xFFFF8C00UL;
	  static const ARGB DarkOrchid           = 0xFF9932CCUL;
	  static const ARGB DarkRed              = 0xFF8B0000UL;
	  static const ARGB DarkSalmon           = 0xFFE9967AUL;
	  static const ARGB DarkSeaGreen         = 0xFF8FBC8FUL;
	  static const ARGB DarkSlateBlue        = 0xFF483D8BUL;
	  static const ARGB DarkSlateGray        = 0xFF2F4F4FUL;
	  static const ARGB DarkTurquoise        = 0xFF00CED1UL;
	  static const ARGB DarkViolet           = 0xFF9400D3UL;
	  static const ARGB DeepPink             = 0xFFFF1493UL;
	  static const ARGB DeepSkyBlue          = 0xFF00BFFFUL;
	  static const ARGB DimGray              = 0xFF696969UL;
	  static const ARGB DodgerBlue           = 0xFF1E90FFUL;
	  static const ARGB Firebrick            = 0xFFB22222UL;
	  static const ARGB FloralWhite          = 0xFFFFFAF0UL;
	  static const ARGB ForestGreen          = 0xFF228B22UL;
	  static const ARGB Fuchsia              = 0xFFFF00FFUL;
	  static const ARGB Gainsboro            = 0xFFDCDCDCUL;
	  static const ARGB GhostWhite           = 0xFFF8F8FFUL;
	  static const ARGB Gold                 = 0xFFFFD700UL;
	  static const ARGB Goldenrod            = 0xFFDAA520UL;
	  static const ARGB Gray                 = 0xFF808080UL;
	  static const ARGB Green                = 0xFF008000UL;
	  static const ARGB GreenYellow          = 0xFFADFF2FUL;
	  static const ARGB Honeydew             = 0xFFF0FFF0UL;
	  static const ARGB HotPink              = 0xFFFF69B4UL;
	  static const ARGB IndianRed            = 0xFFCD5C5CUL;
	  static const ARGB Indigo               = 0xFF4B0082UL;
	  static const ARGB Ivory                = 0xFFFFFFF0UL;
	  static const ARGB Khaki                = 0xFFF0E68CUL;
	  static const ARGB Lavender             = 0xFFE6E6FAUL;
	  static const ARGB LavenderBlush        = 0xFFFFF0F5UL;
	  static const ARGB LawnGreen            = 0xFF7CFC00UL;
	  static const ARGB LemonChiffon         = 0xFFFFFACDUL;
	  static const ARGB LightBlue            = 0xFFADD8E6UL;
	  static const ARGB LightCoral           = 0xFFF08080UL;
	  static const ARGB LightCyan            = 0xFFE0FFFFUL;
	  static const ARGB LightGoldenrodYellow = 0xFFFAFAD2UL;
	  static const ARGB LightGray            = 0xFFD3D3D3UL;
	  static const ARGB LightGreen           = 0xFF90EE90UL;
	  static const ARGB LightPink            = 0xFFFFB6C1UL;
	  static const ARGB LightSalmon          = 0xFFFFA07AUL;
	  static const ARGB LightSeaGreen        = 0xFF20B2AAUL;
	  static const ARGB LightSkyBlue         = 0xFF87CEFAUL;
	  static const ARGB LightSlateGray       = 0xFF778899UL;
	  static const ARGB LightSteelBlue       = 0xFFB0C4DEUL;
	  static const ARGB LightYellow          = 0xFFFFFFE0UL;
	  static const ARGB Lime                 = 0xFF00FF00UL;
	  static const ARGB LimeGreen            = 0xFF32CD32UL;
	  static const ARGB Linen                = 0xFFFAF0E6UL;
	  static const ARGB Magenta              = 0xFFFF00FFUL;
	  static const ARGB Maroon               = 0xFF800000UL;
	  static const ARGB MediumAquamarine     = 0xFF66CDAAUL;
	  static const ARGB MediumBlue           = 0xFF0000CDUL;
	  static const ARGB MediumOrchid         = 0xFFBA55D3UL;
	  static const ARGB MediumPurple         = 0xFF9370DBUL;
	  static const ARGB MediumSeaGreen       = 0xFF3CB371UL;
	  static const ARGB MediumSlateBlue      = 0xFF7B68EEUL;
	  static const ARGB MediumSpringGreen    = 0xFF00FA9AUL;
	  static const ARGB MediumTurquoise      = 0xFF48D1CCUL;
	  static const ARGB MediumVioletRed      = 0xFFC71585UL;
	  static const ARGB MidnightBlue         = 0xFF191970UL;
	  static const ARGB MintCream            = 0xFFF5FFFAUL;
	  static const ARGB MistyRose            = 0xFFFFE4E1UL;
	  static const ARGB Moccasin             = 0xFFFFE4B5UL;
	  static const ARGB NavajoWhite          = 0xFFFFDEADUL;
	  static const ARGB Navy                 = 0xFF000080UL;
	  static const ARGB OldLace              = 0xFFFDF5E6UL;
	  static const ARGB Olive                = 0xFF808000UL;
	  static const ARGB OliveDrab            = 0xFF6B8E23UL;
	  static const ARGB Orange               = 0xFFFFA500UL;
	  static const ARGB OrangeRed            = 0xFFFF4500UL;
	  static const ARGB Orchid               = 0xFFDA70D6UL;
	  static const ARGB PaleGoldenrod        = 0xFFEEE8AAUL;
	  static const ARGB PaleGreen            = 0xFF98FB98UL;
	  static const ARGB PaleTurquoise        = 0xFFAFEEEEUL;
	  static const ARGB PaleVioletRed        = 0xFFDB7093UL;
	  static const ARGB PapayaWhip           = 0xFFFFEFD5UL;
	  static const ARGB PeachPuff            = 0xFFFFDAB9UL;
	  static const ARGB Peru                 = 0xFFCD853FUL;
	  static const ARGB Pink                 = 0xFFFFC0CBUL;
	  static const ARGB Plum                 = 0xFFDDA0DDUL;
	  static const ARGB PowderBlue           = 0xFFB0E0E6UL;
	  static const ARGB Purple               = 0xFF800080UL;
	  static const ARGB Red                  = 0xFFFF0000UL;
	  static const ARGB RosyBrown            = 0xFFBC8F8FUL;
	  static const ARGB RoyalBlue            = 0xFF4169E1UL;
	  static const ARGB SaddleBrown          = 0xFF8B4513UL;
	  static const ARGB Salmon               = 0xFFFA8072UL;
	  static const ARGB SandyBrown           = 0xFFF4A460UL;
	  static const ARGB SeaGreen             = 0xFF2E8B57UL;
	  static const ARGB SeaShell             = 0xFFFFF5EEUL;
	  static const ARGB Sienna               = 0xFFA0522DUL;
	  static const ARGB Silver               = 0xFFC0C0C0UL;
	  static const ARGB SkyBlue              = 0xFF87CEEBUL;
	  static const ARGB SlateBlue            = 0xFF6A5ACDUL;
	  static const ARGB SlateGray            = 0xFF708090UL;
	  static const ARGB Snow                 = 0xFFFFFAFAUL;
	  static const ARGB SpringGreen          = 0xFF00FF7FUL;
	  static const ARGB SteelBlue            = 0xFF4682B4UL;
	  static const ARGB Tan                  = 0xFFD2B48CUL;
	  static const ARGB Teal                 = 0xFF008080UL;
	  static const ARGB Thistle              = 0xFFD8BFD8UL;
	  static const ARGB Tomato               = 0xFFFF6347UL;
	  static const ARGB Turquoise            = 0xFF40E0D0UL;
	  static const ARGB Violet               = 0xFFEE82EEUL;
	  static const ARGB Wheat                = 0xFFF5DEB3UL;
	  static const ARGB White                = 0xFFFFFFFFUL;
	  static const ARGB WhiteSmoke           = 0xFFF5F5F5UL;
	  static const ARGB Yellow               = 0xFFFFFF00UL;
	  static const ARGB YellowGreen          = 0xFF9ACD32UL;
Tem que remover o UL do final

Se não funcionar a transparência é porque eu to usando a BT que tem uma função que carrega imagem que pode ser PNG, ICO, JPG, TIFF

A minha Addfile da classe HBitmap está preparada para isso, uma informação PNG/ICO transparente funciona

Menu com PANEL horizontal

Enviado: 14 Dez 2020 14:22
por asimoes
JoséQuintas escreveu:Quase todo windows.ch já existe dentro da GTWVG, esse era um dos problemas ao compilar junto.
E mudei o SAY/GET da HWGUI pra HSAY e HGET.
Nada do outro mundo, só uma opção de omitir #defines repetidos.
Por isso que tive que modificar TRANSPARENT para BACKTRANSPARENT conflitava com a GT

Menu com PANEL horizontal

Enviado: 14 Dez 2020 14:34
por asimoes
Os icones pretos são PNG´s transparentes
2020-12-14 14_33_37-Grafico.png

Menu com PANEL horizontal

Enviado: 14 Dez 2020 16:18
por JoséQuintas
asimoes escreveu:Por isso que tive que modificar TRANSPARENT para BACKTRANSPARENT conflitava com a GT
Tem casos onde conflita com WVTWINLG.CH, e tem casos onde conflita com HBWIN.CH
Tem muitos #defines repetidos, talvez mais de 500.

Já está no oficial, mas vou alterar o nome depois.
Vi que em hbwin está definido como HBWIN_CH_, com um traço no final, então vou mudar o outro pra ficar igual.
Significa que funciona como sempre, a não ser que coloque num CH #define WVTWINLG_CH
Nesse caso, os repetidos serão ignorados, já tem IF pra maioria.

Menu com PANEL horizontal

Enviado: 14 Dez 2020 17:18
por asimoes
Finalizando
2020-12-14 17_17_00-Grafico.png
Quanto a BT tem que falar com o Alexander pra ver se ele aceita incluir no projeto, porque a função da BT trabalha com GDI

Menu com PANEL horizontal

Enviado: 14 Dez 2020 17:59
por JoséQuintas
Tá preparado?
Exemplo de BOSTAURUS na OOHG.

https://github.com/oohg/samples/blob/ma ... s/s013.prg
bostaurus.png
barchart1.png
barchart2.png
barchart3.png
barchart4.png
barchart5.png

Menu com PANEL horizontal

Enviado: 14 Dez 2020 18:01
por JoséQuintas
Como fazer isso em hwgui?

Pra que? só usar uma janela da OOHG e pronto kkkkk

Menu com PANEL horizontal

Enviado: 14 Dez 2020 18:11
por JoséQuintas

Menu com PANEL horizontal

Enviado: 14 Dez 2020 18:14
por JoséQuintas
https://github.com/oohg/samples/blob/ma ... s/s010.prg
s010.png
Dá pra fazer muita coisa com Bostaurus.