bug FOLDEREX

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

bug FOLDEREX

Mensagem por JoséQuintas »

fundomdi.png
Dependendo do uso, fivewin tem muito disso, se não definir cor para FOLDEREX acontece dessas coisas.
Isso não acontece com FOLDER.
Sei lá as situações, é tanto teste pra resolver pipino, que não sei todas as situações.
Talvez em MDI e WINDOW e em DIALOG não, ou talvez em qualquer WINDOW, já não sei mais.

Só sei que tem diferenças quanto a WINDOW, DIALOG, MDI, MDI Child.
Nisso de cor, na criação de abas, ao ocultar abas, etc.

Mas está andando, devagar mas está.
Formato dlgauto, fazer o que...
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

bug FOLDEREX

Mensagem por Kapiaba »

Não vi o FOLDEREX neste exemplo. Pegue o hábito de postar o CÓDIGO para análise, pls.

está usando o comando TRANSPARENT no DIALOGO?

Mostre o Código por gentileza.

Regards, saludos.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

bug FOLDEREX

Mensagem por JoséQuintas »

Vai ter que criar aí e testar situações.
Estou relatando o fato, e solução.

Variações DIALOG/WINDOW

Código: Selecionar todos

STATIC FUNCTION gui_DialogCreate( xDlg, nRow, nCol, nWidth, nHeight, cTitle, bInit, lModal, xParent )

   LOCAL nType := 1

   hb_Default( @lModal, .F. )

   //DO CASE
   //CASE cTitle == "MENU"
   //   DEFINE WINDOW xDlg MDI FROM nRow, nCol TO nRow + nHeight, nCol + nWidth ;
   //      PIXEL TITLE cTitle + " (" + GUI():LibName() + ")" ICON "ICOWINDOW" ;
   //      COLOR "W/B"
   //CASE lModal
      DEFINE DIALOG xDlg FROM nRow, nCol TO nRow + nHeight, nCol + nWidth ;
         PIXEL OF xParent /* FONT oFont */ TITLE cTitle + " (" + GUI():LibName() + ")" ICON "ICOWINDOW" ;
         COLOR COLOR_LIGHTGRAY
   //CASE nType == nType
   //   DEFINE WINDOW xDlg MDICHILD OF xDlg FROM nRow, nCol TO nRow + nHeight, nCol + nWidth ;
   //      PIXEL TITLE cTitle + " (" + GUI():LibName() + ")" ICON "ICOWINDOW" ;
   //      VSCROLL HSCROLL COLOR LIGHT_GRAY
   //CASE nType == 2
   //   DEFINE WINDOW xDlg FROM nRow, nCol TO nRow + nHeight, nCol + nWidth ;
   //      PIXEL TITLE cTitle + " (" + GUI():LibName() + ")" ICON "ICOWINDOW" ;
   //      COLOR LIGHT_GRAY
   //ENDCASE

   (xDlg);(nRow);(nCol);(nWidth);(nHeight);(cTitle);(bInit)

   RETURN Nil
tabex

Código: Selecionar todos

STATIC FUNCTION gui_TabCreate( xDlg, xParent, xControl, nRow, nCol, nWidth, nHeight )

   // dialog/window hell - need create with all pages
   // tab/folder/folderex hell

   @ nRow, nCol FOLDEREX xControl PIXEL ;
      PROMPTS "Page 1", "Page 2", "Page 3", "Page 4", "Page 5" ;
      ; //BITMAPS "bmpfolder" ; // folderex
      OF xParent SIZE nWidth, nHeight ;
      COLOR { COLOR_LIGHTGRAY, COLOR_LIGHTGRAY }
   //oFld:SetColor( ::nTextColorR, ::nBackColorR )

   (xDlg);(xControl);(nRow);(nCol);(nWidth);(nHeight)

   RETURN Nil

STATIC FUNCTION gui_TabEnd( xDlg, xTab, nPageCount )

   LOCAL xPage

   // dialog/window hell - works for dialog
   IF xDlg:ClassName() == "TDIALOG"
      ASize( xTab:aPrompts, nPageCount )
   ENDIF
   (xDlg);(xTab);(nPageCount)

   RETURN Nil
page

Código: Selecionar todos

STATIC FUNCTION gui_TabPageBegin( xDlg, xParent, xControl, xPage, nPageCount, cText )

   // dialog/window hell
   IF nPageCount <= Len( xControl:aPrompts )
      xControl:aPrompts[ nPageCount ] := cText
   ELSE
      xControl:AddItem( cText )
   ENDIF
   xPage := xControl:aDialogs[ nPageCount ]

   xControl:Refresh()

   (xDlg); (xControl); (cText); (xPage); (nPageCount)

   RETURN Nil

STATIC FUNCTION gui_TabPageEnd( xDlg, xControl )

   (xDlg); (xControl)

   RETURN Nil
Detesto código fonte de GUI, e não vou criar um só pra mostrar o defeito.

Fivetech apaga postagem quando mostra recurso faltando ou defeito.
Não é incentivo pra pedir ajuda ou criar fonte.

Postei nos dois fóruns:
O oficial que dizem que não é oficial, mas é o indicado no site
O outro, que o próprio Linares passou como oficial.
Nos dois as postagens sumiram.

Olhando esses fontes uma coisa é certa:
Em DIALOG normal funciona, é exatamente o que está fazendo agora.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

bug FOLDEREX

Mensagem por JoséQuintas »

tab.png
É isso que queria ver ?

Código: Selecionar todos

STATIC FUNCTION gui_DialogCreate( xDlg, nRow, nCol, nWidth, nHeight, cTitle, bInit, lModal, xParent )

   LOCAL nType := 1

   hb_Default( @lModal, .F. )

   DO CASE
   CASE cTitle == "MENU"
      DEFINE WINDOW xDlg MDI FROM nRow, nCol TO nRow + nHeight, nCol + nWidth ;
         PIXEL TITLE cTitle + " (" + GUI():LibName() + ")" ICON "ICOWINDOW" ;
         //COLOR "W/B"
   //CASE lModal
   //   DEFINE DIALOG xDlg FROM nRow, nCol TO nRow + nHeight, nCol + nWidth ;
   //      PIXEL OF xParent /* FONT oFont */ TITLE cTitle + " (" + GUI():LibName() + ")" ICON "ICOWINDOW" ;
   //      COLOR COLOR_LIGHTGRAY
   CASE nType == nType
      DEFINE WINDOW xDlg MDICHILD OF xDlg FROM nRow, nCol TO nRow + nHeight, nCol + nWidth ;
         PIXEL TITLE cTitle + " (" + GUI():LibName() + ")" ICON "ICOWINDOW" ;
         VSCROLL HSCROLL //COLOR COLOR_LIGHTGRAY
   //CASE nType == 2
   //   DEFINE WINDOW xDlg FROM nRow, nCol TO nRow + nHeight, nCol + nWidth ;
   //      PIXEL TITLE cTitle + " (" + GUI():LibName() + ")" ICON "ICOWINDOW" ;
   //      COLOR LIGHT_GRAY
   ENDCASE

   (xDlg);(nRow);(nCol);(nWidth);(nHeight);(cTitle);(bInit)

   RETURN Nil
Mudei pra MENU ser MDI, e as outras MDIChild.

Código: Selecionar todos

STATIC FUNCTION gui_TabCreate( xDlg, xParent, xControl, nRow, nCol, nWidth, nHeight )

   // dialog/window hell - need create with all pages
   // tab/folder/folderex hell

   @ nRow, nCol FOLDEREX xControl PIXEL ;
      PROMPTS "Page 1", "Page 2", "Page 3", "Page 4", "Page 5" ;
      ; //BITMAPS "bmpfolder" ; // folderex
      OF xParent SIZE nWidth, nHeight ;
      //COLOR { COLOR_LIGHTGRAY, COLOR_LIGHTGRAY }
   //oFld:SetColor( ::nTextColorR, ::nBackColorR )

   (xDlg);(xControl);(nRow);(nCol);(nWidth);(nHeight)

   RETURN Nil
E retirei a cor de FOLDEREX
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

bug FOLDEREX

Mensagem por JoséQuintas »

dialog.png
Também FOLDEREX sem cor definida, mas somente DIALOG.
Tudo certo.

Em DIALOG sai certo.
Em WINDOW MDI + MDICHILD sai errado.

Mais alguma coisa pro Xerife?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

bug FOLDEREX

Mensagem por JoséQuintas »

mdi.png
Faltou dizer.
Em MDI, altero no menu oMenu:AddChild()

Vou simplificar pra não ter que mexer, assim que confirmar o nome:

Código: Selecionar todos

IF xDlg:ClassName() == "TMDIWINDOW"
   oMenu:AddChild()
ENDIF
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

bug FOLDEREX

Mensagem por JoséQuintas »

mdiclient.png
Na dúvida, ou é TMDICLIENT ou é TMDIFRAME.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

bug FOLDEREX

Mensagem por JoséQuintas »

mdiframe.png
TMDIFRAME.

Agora entra automático, sem eu precisar mexer no fonte do menu.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

bug FOLDEREX

Mensagem por JoséQuintas »

dlgauto não é pra isso, mas alterei pra gerar fonte.

Por exemplo aqui:

Código: Selecionar todos

      DEFINE DIALOG xDlg FROM nRow, nCol TO nRow + nHeight, nCol + nWidth ;
         PIXEL OF xParent /* FONT oFont */ TITLE cTitle + " (" + GUI():LibName() + ")" ICON "ICOWINDOW" ;
         COLOR COLOR_LIGHTGRAY

      cTxtPrg += [   DEFINE DIALOG xDlg FROM ] + hb_ValToExp( nRow ) + [, ] + hb_ValToExp( nCol ) + ;
         [ TO ] + hb_ValToExp( nRow + nHeight ) + [, ] + hb_ValToExp( nCol + nWidth ) +  [ ;] + hb_Eol()
      cTxtPrg += [      PIXEL OF xParent /* FONT oFont */ TITLE ] + hb_ValToExp( cTitle + " (" + GUI():LibName() ) + ;
         [ ")" ICON "ICOWINDOW" ;] + hb_Eol()
      cTxtPrg += [      COLOR COLOR_LIGHTGRAY] + hb_Eol()
      cTxtPrg += hb_Eol()
Alterei só alguns lugares, sem me preocupar com nome de variável

Código: Selecionar todos

   SetGetColorFocus( .T. )

   DEFINE DIALOG xDlg FROM 0, 0 TO 700, 1024 ;
      PIXEL OF xParent /* FONT oFont */ TITLE "DBCLIENT (FIVEWIN" ")" ICON "ICOWINDOW" ;
      COLOR COLOR_LIGHTGRAY

   @ 10, 10 BUTTONBMP xControl PROMPT "Insert" OF xParent ;
      SIZE 50, 50 PIXEL RESOURCE "icoPlus" TOP ACTION Eval( {|| ... }

   @ 10, 63 BUTTONBMP xControl PROMPT "Edit" OF xParent ;
      SIZE 50, 50 PIXEL RESOURCE "icoEdit" TOP ACTION Eval( {|| ... }

   @ 10, 116 BUTTONBMP xControl PROMPT "Delete" OF xParent ;
      SIZE 50, 50 PIXEL RESOURCE "icoTrash" TOP ACTION Eval( {|| ... }

   @ 10, 169 BUTTONBMP xControl PROMPT "View" OF xParent ;
      SIZE 50, 50 PIXEL RESOURCE "AppIcon" TOP ACTION Eval( {|| ... }

   @ 10, 222 BUTTONBMP xControl PROMPT "First" OF xParent ;
      SIZE 50, 50 PIXEL RESOURCE "icoGoFirst" TOP ACTION Eval( {|| ... }

   @ 10, 275 BUTTONBMP xControl PROMPT "Previous" OF xParent ;
      SIZE 50, 50 PIXEL RESOURCE "icoGoLeft" TOP ACTION Eval( {|| ... }

   @ 10, 328 BUTTONBMP xControl PROMPT "Next" OF xParent ;
      SIZE 50, 50 PIXEL RESOURCE "icoGoRight" TOP ACTION Eval( {|| ... }

   @ 10, 381 BUTTONBMP xControl PROMPT "Last" OF xParent ;
      SIZE 50, 50 PIXEL RESOURCE "icoGoLast" TOP ACTION Eval( {|| ... }

   @ 10, 434 BUTTONBMP xControl PROMPT "Print" OF xParent ;
      SIZE 50, 50 PIXEL RESOURCE "icoPrint" TOP ACTION Eval( {|| ... }

   @ 10, 487 BUTTONBMP xControl PROMPT "History" OF xParent ;
      SIZE 50, 50 PIXEL RESOURCE "icoBook" TOP ACTION Eval( {|| ... }

   @ 10, 540 BUTTONBMP xControl PROMPT "Save" OF xParent ;
      SIZE 50, 50 PIXEL RESOURCE "icoOk" TOP ACTION Eval( {|| ... }

   @ 10, 593 BUTTONBMP xControl PROMPT "Cancel" OF xParent ;
      SIZE 50, 50 PIXEL RESOURCE "icoNoOk" TOP ACTION Eval( {|| ... } CANCEL

   @ 10, 646 BUTTONBMP xControl PROMPT "Exit" OF xParent ;
      SIZE 50, 50 PIXEL RESOURCE "icoDoor" TOP ACTION Eval( {|| ... } CANCEL

   @ 70, 5 FOLDEREX xControl PIXEL ;
   PROMPTS "Page 1", "Page 2", "Page 3", "Page 4", "Page 5" ;
   OF xParent SIZE 994, 550 ;
   COLOR { COLOR_LIGHTGRAY, COLOR_LIGHTGRAY }

   xControl:aPrompts[1] := "Page 1"
   xPage := xControl:aDialogs[ 1 ]
   xControl:Refresh()

   @ 12, 10 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 108, 20 COLOR CLR_BLUE TRANSPARENT

   @ 37, 10 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 84, 20 COLOR CLR_BLUE TRANSPARENT

   @ 62, 10 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 72, 20 COLOR CLR_BLUE TRANSPARENT

   @ 87, 10 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 120, 20 COLOR CLR_BLUE TRANSPARENT

   @ 112, 10 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 84, 20 COLOR CLR_BLUE TRANSPARENT

   @ 112, 400 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 84, 20 COLOR CLR_BLUE TRANSPARENT

   @ 137, 10 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 102, 20 COLOR CLR_BLUE TRANSPARENT

   @ 137, 262 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 96, 20 COLOR CLR_BLUE TRANSPARENT

   @ 162, 10 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 108, 20 COLOR CLR_BLUE TRANSPARENT

   @ 160, 220 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 360, 20 COLOR CLR_BLUE TRANSPARENT BORDER

   @ 187, 10 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 84, 20 COLOR CLR_BLUE TRANSPARENT

   @ 185, 196 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 360, 20 COLOR CLR_BLUE TRANSPARENT BORDER

   @ 187, 628 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 108, 20 COLOR CLR_BLUE TRANSPARENT

   @ 212, 10 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 126, 20 COLOR CLR_BLUE TRANSPARENT

   @ 237, 10 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 11928, 20 COLOR CLR_BLUE TRANSPARENT

   @ 337, 10 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 11928, 20 COLOR CLR_BLUE TRANSPARENT

   @ 335, 220 BUTTONBMP xControl PROMPT "" OF xParent ;
      SIZE 18, 18 PIXEL RESOURCE "ICOPLUS" TOP ACTION Eval( {|| ... }

   @ 335, 240 BUTTONBMP xControl PROMPT "" OF xParent ;
      SIZE 18, 18 PIXEL RESOURCE "ICOTRASH" TOP ACTION Eval( {|| ... }

   @ 335, 260 BUTTONBMP xControl PROMPT "" OF xParent ;
      SIZE 18, 18 PIXEL RESOURCE "ICOEDIT" TOP ACTION Eval( {|| ... }

   xControl:aPrompts[2] := "Page 2"
   xPage := xControl:aDialogs[ 2 ]
   xControl:Refresh()

   @ 12, 10 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 11928, 20 COLOR CLR_BLUE TRANSPARENT

   @ 10, 220 BUTTONBMP xControl PROMPT "" OF xParent ;
      SIZE 18, 18 PIXEL RESOURCE "ICOPLUS" TOP ACTION Eval( {|| ... }

   @ 10, 240 BUTTONBMP xControl PROMPT "" OF xParent ;
      SIZE 18, 18 PIXEL RESOURCE "ICOTRASH" TOP ACTION Eval( {|| ... }

   @ 10, 260 BUTTONBMP xControl PROMPT "" OF xParent ;
      SIZE 18, 18 PIXEL RESOURCE "ICOEDIT" TOP ACTION Eval( {|| ... }

   @ 212, 10 SAY xControl VAR xValue OF xParent PIXEL ;
      SIZE 11928, 20 COLOR CLR_BLUE TRANSPARENT

   @ 210, 220 BUTTONBMP xControl PROMPT "" OF xParent ;
      SIZE 18, 18 PIXEL RESOURCE "ICOPLUS" TOP ACTION Eval( {|| ... }

   @ 210, 240 BUTTONBMP xControl PROMPT "" OF xParent ;
      SIZE 18, 18 PIXEL RESOURCE "ICOTRASH" TOP ACTION Eval( {|| ... }

   @ 210, 260 BUTTONBMP xControl PROMPT "" OF xParent ;
      SIZE 18, 18 PIXEL RESOURCE "ICOEDIT" TOP ACTION Eval( {|| ... }

   ASize( xTab:aPrompts, 2 )
Pois é...
Mais fácil do que ficar digitando fonte.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder