Teste falhando

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

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

Teste falhando

Mensagem por JoséQuintas »

Então.... aquele programa testmdi.prg

Código: Selecionar todos

/*
demomdi.prg
*/

#include "hwgui.ch"

FUNCTION DemoMDI()

   LOCAL oDlg
   LOCAL cSampleName := "demotrackbar.prg"
   LOCAL bCodeSample := { |o| DemoTrackBar( .F., o ) }

   INIT WINDOW oDlg ;
      MDI ;
      TITLE "Test samples" ;
      SIZE 1024, 768 ;
      BACKCOLOR 16772062

   MENU OF oDlg
      MENU TITLE "ExecuteSample"
         MENUITEM cSampleName ACTION DlgSample( cSampleName, bCodeSample )
      ENDMENU
      MENU TITLE "Option"
         MENUITEM "Window" ID 1001 ;
            ACTION hwg_CheckMenuItem( , 1001, ! hwg_IsCheckedMenuItem( , 1001 ) )
         MENUITEM "Tabpage" ID 1002 ;
            ACTION hwg_CheckMenuItem( , 1002, ! hwg_IsCheckedMenuItem( , 1002 ) )
         MENUITEM "Tabpage 2" ID 1003 ;
            ACTION hwg_CheckMenuItem( , 1003, ! hwg_IsCheckedMenuItem( , 1003 ) )
         MENUITEM "Panel" ID 1004 ;
            ACTION hwg_CheckMenuItem( , 1004, ! hwg_IsCheckedMenuItem( , 1004 ) )
         MENUITEM "MDI" ID 1005 ;
            ACTION hwg_CheckMenuItem( , 1005, ! hwg_IsCheckedMenuItem( , 1005 ) )
      ENDMENU
      MENU TITLE "Window"
         MENUITEM "Tile Horizontal"  ;
            ACTION  hwg_Sendmessage( HWindow():GetMain():handle, WM_MDITILE, MDITILE_HORIZONTAL, 0 )
         MENUITEM "Tile Vertical" ;
            ACTION hwg_Sendmessage( HWindow():GetMain():handle, WM_MDITILE, MDITILE_VERTICAL, 0 )
         MENUITEM "Cascade" ;
            ACTION hwg_Sendmessage( HWindow():GetMain():handle, WM_MDICASCADE, 0, 0 )
      ENDMENU
   ENDMENU

   ACTIVATE WINDOW oDlg CENTER

   RETURN Nil

STATIC FUNCTION DlgSample( cSampleName, bCodeSample )

   LOCAL oDlg, oTab, oPanel, nCont, nPageCount := 0
   LOCAL lIsWindow, lIsTabPage, lIsTabPage2, lIsPanel, lIsMDI

   lIsWindow    := hwg_IsCheckedMenuItem( ,1001 )
   lIsTabPage   := hwg_IsCheckedMenuItem( ,1002 )
   lIsTabPage2  := hwg_IsCheckedMenuItem( ,1003 )
   lIsPanel     := hwg_IsCheckedMenuItem( ,1004 )
   lIsMDI       := hwg_IsCheckedMenuItem( ,1005 )

   nPageCount += iif( lIsTabPage, 1, 0 )
   nPageCount += iif( lIsTabPage2, 1, 0 )

   DO CASE
   CASE lIsMDI

      INIT WINDOW oDlg ;
         MDICHILD ;
         TITLE cSampleName ;
         SIZE 800, 600 ;
         STYLE WS_VISIBLE + WS_OVERLAPPEDWINDOW

   CASE lIsWindow

      INIT WINDOW oDlg ;
         TITLE cSampleName ;
         SIZE 800, 600 ;
         STYLE WS_VISIBLE + WS_OVERLAPPEDWINDOW

   OTHERWISE

      INIT DIALOG oDlg ;
         TITLE cSampleName ;
         SIZE 800, 600 ;
         STYLE WS_VISIBLE + WS_OVERLAPPEDWINDOW

   ENDCASE

   IF lIsTabPage .OR. lIsTabPage2
      @ 3, 10 TAB oTab ITEMS {} OF oDlg SIZE 700, 500
   ELSE
      IF lIsPanel
         @ 3, 10 PANEL oPanel SIZE 700, 500
      ENDIF
      Eval( bCodeSample, iif( lIsPanel, oPanel, oDlg ) )
   ENDIF

   FOR nCont = 1 TO nPageCount

      BEGIN PAGE "TabPage" OF oTab

      IF lIsPanel
         @ 3, 60 PANEL oPanel SIZE 650, 450
      ENDIF

      Eval( bCodeSample, iif( lIsPanel, oPanel, oTab ) )

      END PAGE OF oTab

   NEXT

   DO CASE
   CASE lIsMDI
      ACTIVATE WINDOW oDlg
   CASE lIsWindow
      // ACTIVATE WINDOW oDlg CENTER
      hwg_MsgInfo( "Not available" )
      RETURN Nil
   OTHERWISE
      ACTIVATE DIALOG oDlg CENTER
   ENDCASE

   (oTab) := Nil       // warning -w3 -es2
   (oTab)

   RETURN Nil
Coloquei pra testar o demotrackbar.prg

Resultado:

DIALOG - ok
MDI - não atualiza valores do SAY
TABPAGE - não atualiza valores do SAY
PANEL - aí ferrou de vez, nem as barras funcionam

Considerando aquele novo LENTA que usa PANEL....
Pipinão
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

Teste falhando

Mensagem por JoséQuintas »

PANEL em DIALOG
Olhei o tutorial, SS_OWNERDRAW resolveu

Nos demais casos não.
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