FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Rebar y Page en una dialog no parecen llevarse bien
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Rebar y Page en una dialog no parecen llevarse bien
Posted: Sun Aug 05, 2007 09:48 PM

Intento manejar una dialog con una rebar, la dialog es de recursos y en ella hay una page, al intentar hacer funcionar el programa me da un error de creación de dialogo, sin embargo si retiro la page del recurso, anda perfectamente.

La falla se produce aún si la page no se declara en el código.

Esta dialog con botones y page anda bien, en cambio con rebar no funcionó.

Como si Rebar + Page no se lleven bien :oops: .

Alguien del foro podrá ayudarme con este asunto?, apreciaré cualquier guía, el tema es que verdaderamente necesito la page y la rebar allí.

encontrarán el código, el recurso y los exes con y sin dialog en un ejemplo bien pequeño en:

http://www.box.net/shared/hmh9urusi6

Gracias desde ya por su ayuda :wink: .

Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Rebar y Page en una dialog no parecen llevarse bien
Posted: Sun Aug 05, 2007 11:29 PM
José,

te falta el REDEFINE PAGES ... y añadirlo en el RC. Aqui funciona bien así:
#include "FiveWin.ch"

static oReBar, oToolBar

function Main()

   local oDlg, oImageList, oPages

   DEFINE DIALOG oDlg RESOURCE "Dlg_Page" TITLE "FWH - Testing Win32 Toolbars"
      
   // First we build an ImageList with all the bitmaps 
   DEFINE IMAGELIST oImageList SIZE 32, 32

   DEFINE IMGBITMAP OF oImageList NAME "new"      COLOR nRGB( 255, 0, 255 )
   DEFINE IMGBITMAP OF oImageList NAME "open"     COLOR nRGB( 255, 0, 255 )
   DEFINE IMGBITMAP OF oImageList NAME "check"    COLOR nRGB( 255, 0, 255 )
   DEFINE IMGBITMAP OF oImageList NAME "search"   COLOR nRGB( 255, 0, 255 )
   DEFINE IMGBITMAP OF oImageList NAME "print"    COLOR nRGB( 255, 0, 255 )
   DEFINE IMGBITMAP OF oImageList NAME "internet" COLOR nRGB( 255, 0, 255 )
   DEFINE IMGBITMAP OF oImageList NAME "keys"     COLOR nRGB( 255, 0, 255 )
   DEFINE IMGBITMAP OF oImageList NAME "quit"     COLOR nRGB( 255, 0, 255 )

   REDEFINE PAGES oPages ID 102 OF oDlg DIALOGS "dlg1"

   ACTIVATE DIALOG oDlg CENTERED ON INIT Barra(oDlg, oImageList)
   
   oImageList:End()

return nil

FUNCTION Barra(oDlg, oImageList)
// Now we create the rebar
DEFINE REBAR oReBar OF oDlg
   
DEFINE TOOLBAR oToolBar OF oReBar SIZE 45, 34 ; // 50, 50 ; ancho/alto
      IMAGELIST oImageList BALLOON // tooltips balloon style
   
   //oToolBar:SetTextRows( 2 )
   
   DEFINE TBBUTTON OF oToolBar ;
      ACTION  MsgInfo( "Menu" );
      TOOLTIP "New" ;
         
   DEFINE TBBUTTON OF oToolBar ;
      ACTION  MsgInfo( "Menu" );
      TOOLTIP "Open" ;
            
   DEFINE TBSEPARATOR OF oToolBar
   
   DEFINE TBBUTTON OF oToolBar ;
      ACTION  MsgInfo( "Menu" ) ;
      TOOLTIP "Menu" ;
               
   DEFINE TBBUTTON OF oToolBar ;
      ACTION  MsgInfo( "Menu" );
      TOOLTIP "Search" ;
      
   DEFINE TBBUTTON OF oToolBar ;
      ACTION  MsgInfo( "Menu" );
      TOOLTIP "Print a report" ;
      
   DEFINE TBSEPARATOR OF oToolBar
      
   DEFINE TBBUTTON OF oToolBar ;
      ACTION  MsgInfo( "Menu" );
      TOOLTIP "Search for new versions" ;
            
   DEFINE TBBUTTON OF oToolBar ;
      ACTION MsgInfo( "Users" ) ;
      TOOLTIP "Users management" ;
      
   DEFINE TBSEPARATOR OF oToolBar

   DEFINE TBBUTTON OF oToolBar ;
      ACTION  oDlg:End() ;
      TOOLTIP "End Application" ;
            
      
   oToolBar:nWidth = 200
   oReBar:InsertBand( oToolBar )
  
RETURN NIL

#ifdef __FLAT__
   1 24 "./WinXP/WindowsXP.Manifest"
#endif

#define DIALOG_1	1
new      BITMAP "./bitmaps/32x32/new.bmp"
open     BITMAP "./bitmaps/32x32/open.bmp"
check    BITMAP "./bitmaps/32x32/check.bmp"
search   BITMAP "./bitmaps/32x32/search.bmp"
print    BITMAP "./bitmaps/32x32/print.bmp"
internet BITMAP "./bitmaps/32x32/internet.bmp"
keys     BITMAP "./bitmaps/32x32/keys.bmp"
quit     BITMAP "./bitmaps/32x32/quit.bmp"


DLG_PAGE DIALOG 23, 25, 457, 304
STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
FONT 8, "MS Sans Serif"
{
 EDITTEXT 101, 96, 41, 77, 11, ES_LEFT | ES_UPPERCASE | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_TABSTOP
 CONTROL "TPages", 102, "TPages", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 6, 60, 445, 242
 RTEXT "#", 200, 7, 41, 84, 10
 LTEXT "", 201, 392, 38, 57, 9
}

dlg1 DIALOG 18, 18, 142, 67
STYLE WS_CHILD | 4
{
 PUSHBUTTON "&First", 104, 93, 26, 32, 12
}
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Rebar y Page en una dialog no parecen llevarse bien
Posted: Sun Aug 05, 2007 11:32 PM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 298
Joined: Fri Oct 07, 2005 05:20 AM
Rebar y Page en una dialog no parecen llevarse bien
Posted: Mon Aug 06, 2007 03:43 PM

Antonio :

Se podrá hacer uso de los aceleradores de una toolbar, estoy trabajando en ello, ...... sin éxito :)

Saludos

Vikthor
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Rebar y Page en una dialog no parecen llevarse bien
Posted: Mon Aug 06, 2007 05:10 PM

Vikthor,

No lo hemos probado. Supongo que te refieres a asignar aceleradores a los botones de la toolbar, si ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 298
Joined: Fri Oct 07, 2005 05:20 AM
Rebar y Page en una dialog no parecen llevarse bien
Posted: Mon Aug 06, 2007 10:51 PM
Antonio Linares wrote:Vikthor,

No lo hemos probado. Supongo que te refieres a asignar aceleradores a los botones de la toolbar, si ?



sí, a eso me refiero :-)
Vikthor
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Rebar y Page en una dialog no parecen llevarse bien
Posted: Tue Aug 07, 2007 05:58 PM
Antonio,

Gracias, para este ejemplo se me pasó, pero de todos modos encontré el problema.

En mi programa uso dos dlls una contiene los recursos de la rutina de altas bajas y modificaciones y el otro la del sistema.

Si la dialog hija que va en la page no está en la dll donde está la dialog madre (la que tiene la page) , me da error al crear la dialog madre, sin embargo, si dialogs madre e hija están en la misma dll, no se produce el error, porqué puede ser esto siendo que cargo ambas dlls?

Gracias por la ayuda, de momento lo he solucionado manteniendo los rc separados pero incluyendo el rc de la rutina de bajas altas y modificaciones en el de la aplicación (es decir manejando todo en una sola dll, pero 2 rc para crearlas).
Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Rebar y Page en una dialog no parecen llevarse bien
Posted: Tue Aug 07, 2007 06:03 PM
Antonio Linares wrote:Vikthor,

No lo hemos probado. Supongo que te refieres a asignar aceleradores a los botones de la toolbar, si ?


Ya que estamos para preguntar, que es esto de los aceleradores?
Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Rebar y Page en una dialog no parecen llevarse bien
Posted: Tue Aug 07, 2007 08:07 PM

Jose,

Cuando se van a cargar los recursos, se utiliza el handle del módulo en donde estan. Por eso no puedes cargar desde dos sitios a la vez.

Vikthor está intentando asignarle aceleradores a los botones de la toolbar, y estamos viendo si se puede hacer

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Rebar y Page en una dialog no parecen llevarse bien
Posted: Tue Aug 07, 2007 08:10 PM

Eso explica porqué tenía el problema....

Muchas gracias por la explicación y por la pronta respuesta.

Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"

Continue the discussion