a question MDI

User avatar
Silvio.Falconi
Posts: 7169
Joined: Thu Oct 18, 2012 7:17 pm
Been thanked: 3 times

Re: a question MDI

Post by Silvio.Falconi »

Application
===========
Path and name: C:\work\Errori\testMdi\testmdi.Exe (32 bits)
Size: 4,605,440 bytes
Compiler version: Harbour 3.2.0dev (r1904111533)
FiveWin version: FWH 21.11
C compiler version: Borland/Embarcadero C++ 7.0 (32-bit)
Windows version: 6.1, Build 7601 Service Pack 1

Time from start: 0 hours 0 mins 3 secs
Error occurred at: 01/11/22, 12:05:27
Error description: Error BASE/1004 No exported method: EVAL
Args:
[ 1] = A {.T.} length: 1
[ 2] = N 2
[ 3] = N 746
[ 4] = N 638
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
cmsoft
Posts: 1297
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina
Been thanked: 2 times

Re: a question MDI

Post by cmsoft »

Code: Select all | Expand

Function test1(oWnd)
   Local oBrw,oBar, oWndClients, oMsgBar

   use customer

   DEFINE WINDOW oWndClients MDICHILD OF oWnd TITLE "Clients"

   @ 2, 0 XBROWSE oBrw OF oWndClients LINES AUTOSORT ;
         AUTOCOLS DATASOURCE "Customer" NOBORDER
      oBrw:CreateFromCode()
      oBrw:SetFocus()

      DEFINE BUTTONBAR oBar OF oWndClients 2015 SIZE 70, 60

     oWndClients:oClient = oBrw
     oWndClients:oControl = oBrw

      DEFINE MSGBAR oMsgBar OF oWndClients 2015
    oWndClients :bMoved    := { |nRow, nCol| IF(nCol < 150,oWndClients :Move(150,oWndClients :nTop),.t.) }
    oWndClients :bResized    := {||  IF(oWndClients:nLeft < 150 ,oWndClients :Move(150,oWndClients :nTop),.t.) }
    ACTIVATE WINDOW oWndClients MAXIMIZED ;
         VALID ( oWndClients := nil, .T. )
    return nil

Me faltaron los ||
User avatar
Silvio.Falconi
Posts: 7169
Joined: Thu Oct 18, 2012 7:17 pm
Been thanked: 3 times

Re: a question MDI

Post by Silvio.Falconi »

cmsoft wrote:

Code: Select all | Expand

Function test1(oWnd)
   Local oBrw,oBar, oWndClients, oMsgBar

   use customer

   DEFINE WINDOW oWndClients MDICHILD OF oWnd TITLE "Clients"

   @ 2, 0 XBROWSE oBrw OF oWndClients LINES AUTOSORT ;
         AUTOCOLS DATASOURCE "Customer" NOBORDER
      oBrw:CreateFromCode()
      oBrw:SetFocus()

      DEFINE BUTTONBAR oBar OF oWndClients 2015 SIZE 70, 60

     oWndClients:oClient = oBrw
     oWndClients:oControl = oBrw

      DEFINE MSGBAR oMsgBar OF oWndClients 2015
    oWndClients :bMoved    := { |nRow, nCol| IF(nCol < 150,oWndClients :Move(150,oWndClients :nTop),.t.) }
    oWndClients :bResized    := {||  IF(oWndClients:nLeft < 150 ,oWndClients :Move(150,oWndClients :nTop),.t.) }
    ACTIVATE WINDOW oWndClients MAXIMIZED ;
         VALID ( oWndClients := nil, .T. )
    return nil

Me faltaron los ||



Cristobal have create a test run ok

Code: Select all | Expand

function WindowChild(oWnd)
   local oWndChild
   local oFolder, oSay, oSay1
   local x
   local nPosR  := 0
   local nPosC  := 0

   if Len( oWnd:oWndClient:aWnd ) > 0
      if ( nRow + nHChild ) > oWnd:nHeight
         nRow  := 0
         if ( nCol + Int( nWChild / 2 ) ) > oWnd:nWidth
            nCol := 0
         else
            nCol += Int( nWChild / 2 )
         endif
      else
         nRow  += Int( nHChild / 4 )
      endif
   endif

   DEFINE WINDOW oWndChild MDICHILD OF oWnd ;
      FROM nRow + 1 , nCol TO nHChild, nWChild PIXEL //NOSYSMENU //BRUSH oWndCalend:oBrush  // NOCAPTION

   @ 0, 0 FOLDER oFolder OF oWndChild
   oWndChild:oClient := oFolder
   
   ACTIVATE WINDOW oWndChild ;
      ON INIT oWndChild:cToolTip := oWndChild:cCaption ;
      ON MOVE ( oWndChild:CoorsUpdate(), ;
                if( oWndChild:nLeft < 1, oWndChild:Move( oWndChild:nTop, 0 ), ), ;
                if( oWndChild:nTop  < 2, oWndChild:Move( 1, oWndChild:nLeft ), ) )

return oWndChild
 
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
cmsoft
Posts: 1297
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina
Been thanked: 2 times

Re: a question MDI

Post by cmsoft »

Excelente!
Me alegro que lo hayas podido resolver
User avatar
cnavarro
Posts: 6558
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Been thanked: 3 times

Re: a question MDI

Post by cnavarro »

karinha wrote:
cnavarro wrote:Silvio, use Splitter for this
Look my sample
https://bitbucket.org/fivetech/fivewin- ... estmdi.prg



Mestre Navarro, publique un ejemplo que, cuando se compila, funciona correctamente. ¿Y dónde está ese camión lleno de BitMaps que el programa va a buscar en un directorio infinito? ¿Es posible crear un .RAR y poner a disposición el SOURCE, un .EXE y los BITMAPS de este ejemplo para realizar pruebas? Sea práctico, por favor. Gracias.



Joao, no es posible publicar los bitmaps, pertenecen a microsoft y sólo se pueden utilizar si compilas con Visual Studio
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
karinha
Posts: 7951
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 3 times
Contact:

Re: a question MDI

Post by karinha »

cnavarro wrote:
karinha wrote:
cnavarro wrote:Silvio, use Splitter for this
Look my sample
https://bitbucket.org/fivetech/fivewin- ... estmdi.prg



Mestre Navarro, publique un ejemplo que, cuando se compila, funciona correctamente. ¿Y dónde está ese camión lleno de BitMaps que el programa va a buscar en un directorio infinito? ¿Es posible crear un .RAR y poner a disposición el SOURCE, un .EXE y los BITMAPS de este ejemplo para realizar pruebas? Sea práctico, por favor. Gracias.



Joao, no es posible publicar los bitmaps, pertenecen a microsoft y sólo se pueden utilizar si compilas con Visual Studio


Está bien, mi querido maestro. Necesitas aprender a compilar con BORLAND. jajajajajajajajaja, broma, broma, broma.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
cnavarro
Posts: 6558
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Been thanked: 3 times

Re: a question MDI

Post by cnavarro »

https://www.microsoft.com/en-us/downloa ... x?id=35825

Borland sólo para pruebas rápidas :D :D :D :D
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
James Bott
Posts: 4840
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA
Contact:

Re: a question MDI

Post by James Bott »

Sample using Explorer Bar and MDI windows.

Code: Select all | Expand

/*
Purpose : Test ExplorerBar with MDI
Author  : James Bott, jbott@compuserve.com
Company : Intellitech, gointellitech.com
Date    : 09/28/10 13:53:39
Language: Fivewin Harbour/xHarbour
Notes   :

*/



#include "fivewin.ch"
#include "color.ch"

static oWnd1, oWnd2

function main()
   local oWnd, oBar

   define window oWnd title "Test Explorerbar with MDI Windows" MDI

   define buttonbar oBar of oWnd 3d

   oWnd:oLeft:= buildExbar(oWnd)

   activate window oWnd on init Init()

return nil

//---------------------------------------------------------------------------//

Function Init()
   local oBar, oBar2

   define window oWnd1 mdichild ;
     nominimize nosysmenu;
     color CLR_BLACK,CLR_BLUE ;
     of wndMain()
   activate window oWnd1 maximized

   define window oWnd2 mdichild ;
     nominimize nosysmenu;
     color CLR_BLACK,CLR_RED ;
     of wndMain()
   define buttonbar oBar2 of oWnd2 3d
   activate window oWnd2 maximized

return nil

//---------------------------------------------------------------------------//

function buildExbar( oWnd )

   local oExBar, oPanel1

   oExBar = TExplorerBar():New(0,0,150,400,oWnd)

   oPanel1 = oExBar:AddPanel( "One", "c:\fwh\bitmaps\32x32\people.bmp" )
   oPanel1:lSpecial = .T.
   oPanel1:AddLink( "Providers", {|| oWnd1:maximize(), oWnd1:setfocus()}, "c:\fwh\bitmaps\16x16\additem.bmp" )
   oPanel1:AddLink( "Patients", {|| oWnd2:maximize(), oWnd2:setFocus()}, "c:\fwh\bitmaps\16x16\copy.bmp" )

return oExBar

//----------------------------------------------------------------------------//
FWH 18.05/xHarbour 1.2.3/BCC7/Windows 10
Post Reply