Page 1 of 1

Como se hace un globo en tbar or toolbar

Posted: Sun Feb 25, 2007 11:23 am
by Andrés González
He visto el mensaje de rossini sobre como hacer un globo (balloon) en un get y creo haber leido que tanto en una tbar como en rebar tambien se puede hacer que aparezcan los tooltip en forma de globos pero no encuentro ninguna condicion lToolTipBallon := .t. en la tbar, como se hace ?

Gracias

Posted: Sun Feb 25, 2007 12:23 pm
by Antonio Linares
Andrés,

Code: Select all

   DEFINE TOOLBAR oToolBar OF oWnd SIZE 50, 58 ; // 50, 50 ;
      IMAGELIST oImageList BALLOON // tooltips balloon style

Posted: Sun Feb 25, 2007 5:06 pm
by Andrés González
perdona Antonio lo que pasa es que igual me habia expresado mal, me refiero al siguiente codigo que depende de la tbar:

Code: Select all

   DEFINE BUTTONBAR ::oBar _3D SIZE 44, 46 OF ::oWndMain //36, 40
         
      ::oBar:bRClicked := { || .t. }

   DEFINE BUTTON OF ::oBar ;
      RESOURCE "BB1"       ;
      TOOLTIP i18n( "Gestión de documentos" ) ;
      MESSAGE i18n( "Gestión de del fichero de documentos." ) ;
      ACTION Customer()   ;
      NOBORDER

   DEFINE BUTTON ::oExit OF ::oBar  ;
      RESOURCE "BB2"      ;
      TOOLTIP i18n( "Salir del programa" ) ;
      MESSAGE i18n( "Finalizar el uso del programa." ) ;
      ACTION ( ::ExitFromBtn() ) ;
      GROUP NOBORDER

en el include viene de la siguiente manera:

Code: Select all

#xcommand DEFINE BUTTONBAR [ <oBar> ] ;
             [ <size: SIZE, BUTTONSIZE, SIZEBUTTON > <nWidth>, <nHeight> ] ;
             [ <_3d: _3D, 3D, 3DLOOK, _3DLOOK> ] ;
             [ <mode: TOP, LEFT, RIGHT, BOTTOM, FLOAT> ] ;
             [ <wnd: OF, WINDOW, DIALOG> <oWnd> ] ;
             [ CURSOR <oCursor> ] ;
      => ;
         [ <oBar> := ] TBar():New( <oWnd>, <nWidth>, <nHeight>, <._3d.>,;
             [ Upper(<(mode)>) ], <oCursor> )


#xcommand DEFINE BUTTON [ <oBtn> ] ;
             [ <bar: OF, BUTTONBAR > <oBar> ] ;
             [ <resource: NAME, RESNAME, RESOURCE> <cResName1> ;
                [,<cResName2>[,<cResName3>] ] ] ;
             [ <file: FILE, FILENAME, DISK> <cBmpFile1> ;
                [,<cBmpFile2>[,<cBmpFile3>] ] ] ;
             [ <action:ACTION,EXEC> <uAction,...> ] ;
             [ <group: GROUP > ] ;
             [ MESSAGE <cMsg> ] ;
             [ <adjust: ADJUST > ] ;
             [ WHEN <WhenFunc> ] ;
             [ TOOLTIP <cToolTip> ] ;
             [ <lPressed: PRESSED> ] ;
             [ ON DROP <bDrop> ] ;
             [ AT <nPos> ] ;
             [ PROMPT <cPrompt> ] ;
             [ FONT <oFont> ] ;
             [ <lNoBorder: NOBORDER, FLAT> ] ;
             [ MENU <oPopup> ] ;
             [ <layout: CENTER, TOP, LEFT, BOTTOM, RIGHT> ] ;
      => ;
         [ <oBtn> := ] TBtnBmp():NewBar( <cResName1>, <cResName2>,;
            <cBmpFile1>, <cBmpFile2>, <cMsg>, [{|This|<uAction>}],;
            <.group.>, <oBar>, <.adjust.>, <{WhenFunc}>,;
            <cToolTip>, <.lPressed.>, [\{||<bDrop>\}], [#<uAction>], <nPos>,;
            <cPrompt>, <oFont>, [<cResName3>], [<cBmpFile3>], [!<.lNoBorder.>],;
            [<oPopup>], [ Upper(<(layout)>) ] )
Aqui no encuentro ninguna clausula balloon

Posted: Sun Feb 25, 2007 8:38 pm
by Antonio Linares
Andrés,

Sólo está implementado genericamente para las toolbars de Win32.

Puedes modificar la clase TWindow para que todos los tooltips se vean tipo balloon, pero no se si querrás ese efecto

Posted: Mon Feb 26, 2007 12:05 pm
by Andrés González
He revisado la clase y se me hace muy complicado modificarla, sabes que es lo que tengo que añadir?

Gracias

Posted: Mon Feb 26, 2007 12:34 pm
by Antonio Linares
Andrés,

Busca esta línea en source\classes\window.prg

hWnd = CreateToolTip( Self:hWnd, cToolTip ) // , .t. ) for ballon tooltips !

añadiendo ese ", .t. " consigues los tooltips con forma de globo

Posted: Tue Feb 27, 2007 12:55 pm
by Andrés González
Gracias Antonio