Rebar y Page en una dialog no parecen llevarse bien

Rebar y Page en una dialog no parecen llevarse bien

Postby jose_murugosa » Sun Aug 05, 2007 9: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
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1169
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Postby Antonio Linares » Sun Aug 05, 2007 11:29 pm

José,

te falta el REDEFINE PAGES ... y añadirlo en el RC. Aqui funciona bien así:
Code: Select all  Expand view
#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

Code: Select all  Expand view
#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
User avatar
Antonio Linares
Site Admin
 
Posts: 41948
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Antonio Linares » Sun Aug 05, 2007 11:32 pm

Image
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41948
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Vikthor » Mon Aug 06, 2007 3:43 pm

Antonio :

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

Saludos
Vikthor
User avatar
Vikthor
 
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Postby Antonio Linares » Mon Aug 06, 2007 5: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
User avatar
Antonio Linares
Site Admin
 
Posts: 41948
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Vikthor » 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
User avatar
Vikthor
 
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Postby jose_murugosa » Tue Aug 07, 2007 5: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
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1169
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Postby jose_murugosa » Tue Aug 07, 2007 6: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
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1169
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Postby Antonio Linares » Tue Aug 07, 2007 8: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
User avatar
Antonio Linares
Site Admin
 
Posts: 41948
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby jose_murugosa » Tue Aug 07, 2007 8:10 pm

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

Muchas gracias por la explicación y por la pronta respuesta.
Saludos/Regards,
José Murugosa
FWH + Harbour + Bcc7. Una seda!
User avatar
jose_murugosa
 
Posts: 1169
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot], jmartial and 68 guests