Muchas gracias como siempre por el excelente soporte de Fivetech team.
En ese ejemplo no hay una barra.
#include "FiveWin.ch"
#include "Mail.ch"
#define DEVICE 聽 聽 聽oWnd:cargo
#define GO_POS 聽 聽 聽0
#define GO_UP 聽 聽 聽 1
#define GO_DOWN 聽 聽 2
#define GO_LEFT 聽 聽 1
#define GO_RIGHT 聽 聽2
#define GO_PAGE 聽 聽.T.
#define VSCROLL_RANGE 聽20*nZFactor
#define HSCROLL_RANGE 聽20*nZFactor
#define TXT_FIRST 聽 聽LoadString( GetResources(), 07 )
#define TXT_PREVIOUS LoadString( GetResources(), 08 )
#define TXT_NEXT 聽 聽 LoadString( GetResources(), 09 )
#define TXT_LAST 聽 聽 LoadString( GetResources(), 10 )
#define TXT_ZOOM 聽 聽 LoadString( GetResources(), 11 )
#define TXT_UNZOOM 聽 LoadString( GetResources(), 12 )
#define TXT_TWOPAGES LoadString( GetResources(), 13 )
#define TXT_ONEPAGE 聽LoadString( GetResources(), 14 )
#define TXT_PRINT 聽 聽LoadString( GetResources(), 15 )
#define TXT_EXIT 聽 聽 LoadString( GetResources(), 16 )
#define TXT_FILE 聽 聽 LoadString( GetResources(), 17 )
#define TXT_PAGE 聽 聽 LoadString( GetResources(), 18 )
#define TXT_PREVIEW 聽LoadString( GetResources(), 03 )
#define TXT_PAGENUM 聽LoadString( GetResources(), 19 )
#define TXT_A_WINDOW_PREVIEW_IS_ALLREADY_RUNNING ;
聽 聽 聽 聽 LoadString( GetResources(), 20 )
#define TXT_GOTO_FIRST_PAGE ;
聽 聽 聽 聽 LoadString( GetResources(), 21 )
#define TXT_GOTO_PREVIOUS_PAGE ;
聽 聽 聽 聽 LoadString( GetResources(), 22 )
#define TXT_GOTO_NEXT_PAGE ;
聽 聽 聽 聽 LoadString( GetResources(), 23 )
#define TXT_GOTO_LAST_PAGE ;
聽 聽 聽 聽 LoadString( GetResources(), 24 )
#define TXT_ZOOM_THE_PREVIEW ;
聽 聽 聽 聽 LoadString( GetResources(), 25 )
#define TXT_UNZOOM_THE_PREVIEW ;
聽 聽 聽 聽 LoadString( GetResources(), 26 )
#define TXT_PREVIEW_ON_TWO_PAGES ;
聽 聽 聽 聽 LoadString( GetResources(), 27 )
#define TXT_PREVIEW_ON_ONE_PAGE ;
聽 聽 聽 聽 LoadString( GetResources(), 28 )
#define TXT_PRINT_CURRENT_PAGE ;
聽 聽 聽 聽 LoadString( GetResources(), 29 )
#define TXT_EXIT_PREVIEW ;
聽 聽 聽 聽 LoadString( GetResources(), 30 )
#define TXT_FACTOR ;
聽 聽 聽 聽 LoadString( GetResources(), 31 )
#define TXT_ZOOM_FACTOR ;
聽 聽 聽 聽 LoadString( GetResources(), 32 )
#define MK_MBUTTON 聽 聽 聽 聽 聽 聽16
static hLib // pdf
static oWnd, oBar, oMeta1, oMeta2,;
聽 聽 聽 聽oPage, oTwoPages, oZoom, oMenuZoom, oMenuTwoPages,;
聽 聽 聽 聽oMenuUnZoom, oMenuOnePage, oFactor, cResFile
static aFactor
static nPage, nZFactor
static lTwoPages, lZoom
//----------------------------------------------------------------------------//
function main( oDevice, oReport )
聽 聽 聽local aFiles := {""}
聽 聽 聽local hOldRes := GetResources()
聽 聽 聽local oSay
聽 聽 聽local nFor
聽 聽 聽local oWndMain := WndMain(), oIcon, oCursor, oMenu, oBrush, oFont
聽 聽 聽local l97Look 聽:= oWndMain != nil .and. oWndMain:oBar != nil .and. ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Len( oWndMain:oBar:aControls ) > 0 .and. ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽oWndMain:oBar:aControls[ 1 ]:l97Look
聽 聽 聽local lExit := .F.
聽 聽 聽local oHand, oImageList, oReBar, oSay2
聽 聽 聽//local aImpre := aGetPrinters(), oCbx, cCbx:=PrnGetName(), cImpre := cCbx // mcn
聽 聽 聽// para seleccionar impresora 聽(mcn)
聽 聽 聽local aImpre := {"Impresora HP"}, cCbx, cImpre := cCbx // mcn
聽 聽 聽#ifdef __CLIPPER__
聽 聽 聽 聽 cResFile := "Preview.dll"
聽 聽 聽#else
聽 聽 聽 聽 if ! IsWin64()
聽 聽 聽 聽 聽 聽cResFile := "Prev32.dll"
聽 聽 聽 聽 else
聽 聽 聽 聽 聽 聽cResFile = "Prev64.dll"
聽 聽 聽 聽 endif
聽 聽 聽#endif
聽 聽 聽if SetResources(cResFile) < 32
聽 聽 聽 聽 聽 MsgStop(cResFile + " no encontrado, imposible continuar.",;
聽 聽 聽 聽 聽 聽 聽 聽 聽 " E R R O R ")
聽 聽 聽 聽 聽 RETU nil
聽 聽 聽endif
聽 聽 聽if oWnd != nil
聽 聽 聽 聽 聽 MsgStop(TXT_A_WINDOW_PREVIEW_IS_ALLREADY_RUNNING)
聽 聽 聽 聽 聽 SetResources(hOldRes)
聽 聽 聽 聽 聽 RETU nil
聽 聽 聽endif
聽 聽 聽if oWndMain != nil
聽 聽 聽 聽 oIcon = oWndMain:oIcon
聽 聽 聽else
聽 聽 聽 聽 DEFINE ICON oIcon RESOURCE "Print"
聽 聽 聽endif
聽 聽 聽//lExit := .T.
聽 聽 聽DEFINE FONT oFont NAME GetSysFont() SIZE 0,-12
聽 聽 聽DEFINE CURSOR oCursor RESOURCE "Lupa"
聽 聽 聽DEFINE WINDOW oWnd FROM 0, 0 TO 24, 80 聽;
聽 聽 聽 聽 聽 TITLE "oDevice:cDocument "+FWVERSION 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 聽 COLOR CLR_BLACK,CLR_LIGHTGRAY 聽 聽 聽;
聽 聽 聽 聽 聽 ICON 聽oIcon 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 聽 VSCROLL HSCROLL
聽 聽 聽// So IsAppThemed_ed() is properly detected as the window is already built
聽 聽 聽// PDF
聽 聽 聽//oWnd:SetMenu( BuildMenu( oDevice:aMeta, oReport ) )
聽 聽 聽oWnd:SetFont(oFont)
聽 聽 聽oWnd:oVScroll:SetRange(0,0)
聽 聽 聽oWnd:oHScroll:SetRange(0,0)
聽 聽 聽DEFINE CURSOR oHand HAND
聽 聽 聽if IsAppThemed_ed() 聽 聽// PDF
聽 聽 聽 聽 DEFINE IMAGELIST oImageList SIZE 16, 16
聽 聽 聽 聽 oImageList:AddMasked( TBitmap():Define( "top2",, oWnd ), nRGB( 192, 192, 192 ) )
聽 聽 聽 聽 oImageList:AddMasked( TBitmap():Define( "previous2",, oWnd ), nRGB( 192, 192, 192 ) )
聽 聽 聽 聽 oImageList:AddMasked( TBitmap():Define( "next2",, oWnd ), nRGB( 192, 192, 192 ) )
聽 聽 聽 聽 oImageList:AddMasked( TBitmap():Define( "bottom2",, oWnd ), nRGB( 192, 192, 192 ) )
聽 聽 聽 聽 oImageList:AddMasked( TBitmap():Define( "zoom2",, oWnd ), nRGB( 192, 192, 192 ) )
聽 聽 聽 聽 oImageList:AddMasked( TBitmap():Define( "two_pages2",, oWnd ), nRGB( 192, 192, 192 ) )
聽 聽 聽 聽 oImageList:AddMasked( TBitmap():Define( "printer2",, oWnd ), nRGB( 255, 0, 255 ) )
聽 聽 聽 聽 // pdf
聽 聽 聽 聽 // Actualizar change bitmaps
聽 聽 聽 聽 oImageList:AddMasked( TBitmap():Define( "save",, oWnd ), nRGB( 255, 0, 255 ) )
聽 聽 聽 聽 oImageList:AddMasked( TBitmap():Define( "mail",, oWnd ), nRGB( 255, 255, 255 ) )
聽 聽 聽 聽 oImageList:AddMasked( TBitmap():Define( "exit2",, oWnd ), nRGB( 192, 192, 192 ) )
聽 聽 聽 聽 oImageList:AddMasked( TBitmap():Define( "unzoom2",, oWnd ), nRGB( 192, 192, 192 ) )
聽 聽 聽 聽 oImageList:AddMasked( TBitmap():Define( "one_page2",, oWnd ), nRGB( 192, 192, 192 ) )
聽 聽 聽 聽 oReBar = TReBar():New( oWnd )
聽 聽 聽 聽 DEFINE TOOLBAR oBar OF oReBar SIZE 25, 25 IMAGELIST oImageList
聽 聽 聽 聽 oReBar:InsertBand( oBar )
聽 聽 聽 聽 oBar:nHeight -= 2
聽 聽 聽 聽 DEFINE TBBUTTON OF oBar ;
聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_FIRST,"&","") ;
聽 聽 聽 聽 聽 聽MESSAGE TXT_GOTO_FIRST_PAGE
聽 聽 聽 聽 DEFINE TBBUTTON OF oBar ;
聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_PREVIOUS,"&","") ;
聽 聽 聽 聽 聽 聽MESSAGE TXT_GOTO_PREVIOUS_PAGE
聽 聽 聽 聽 DEFINE TBBUTTON OF oBar ;
聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_NEXT,"&","") ;
聽 聽 聽 聽 聽 聽MESSAGE TXT_GOTO_NEXT_PAGE
聽 聽 聽 聽 DEFINE TBBUTTON OF oBar ;
聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_LAST,"&","") ;
聽 聽 聽 聽 聽 聽MESSAGE TXT_GOTO_LAST_PAGE
聽 聽 聽 聽 DEFINE TBSEPARATOR OF oBar
聽 聽 聽 聽 DEFINE TBBUTTON OF oBar ;
聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_ZOOM,"&","") ;
聽 聽 聽 聽 聽 聽MESSAGE TXT_ZOOM_THE_PREVIEW
聽 聽 聽 聽 DEFINE TBBUTTON OF oBar ;
聽 聽 聽 聽 聽 聽TOOLTIP StrTran( Strtran(TXT_TWOPAGES,"&",""), "谩", "a" ) ;
聽 聽 聽 聽 聽 聽MESSAGE TXT_PREVIEW_ON_TWO_PAGES
聽 聽 聽 聽 DEFINE TBSEPARATOR OF oBar
聽 聽 聽 聽 DEFINE TBBUTTON OF oBar ;
聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_PRINT,"&","") ;
聽 聽 聽 聽 聽 聽MESSAGE TXT_PRINT_CURRENT_PAGE
聽 聽 聽 聽 // PDF
聽 聽 聽 聽 DEFINE TBBUTTON OF oBar ;
聽 聽 聽 聽 聽 聽TOOLTIP "Exportar a PDF" ;
聽 聽 聽 聽 聽 聽MESSAGE "Exporta a formato PDF"
聽 聽 聽 聽 DEFINE TBBUTTON OF oBar ;
聽 聽 聽 聽 聽 聽TOOLTIP "Enviar Correo Electr垄nico" ;
聽 聽 聽 聽 聽 聽MESSAGE "Enviar por Correo Electr贸nico"
聽 聽 聽 聽 DEFINE TBSEPARATOR OF oBar
聽 聽 聽 聽 DEFINE TBBUTTON OF oBar ;
聽 聽 聽 聽 聽 聽ACTION 聽oWnd:End() ;
聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_EXIT,"&","") ;
聽 聽 聽 聽 聽 聽MESSAGE TXT_EXIT_PREVIEW
聽 聽 聽else
聽 聽 聽 聽 DEFINE BUTTONBAR oBar _3D SIZE 26, If( LargeFonts(), 30, 26 ) OF oWnd
聽 聽 聽 聽 oBar:bRClicked := {|| nil }
聽 聽 聽if l97Look
聽 聽 聽 聽 DEFINE BUTTON RESOURCE "Top" OF oBar ;
聽 聽 聽 聽 聽 聽 聽MESSAGE TXT_GOTO_FIRST_PAGE 聽 聽 ;
聽 聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_FIRST,"&","") NOBORDER
聽 聽 聽 聽 DEFINE BUTTON RESOURCE "Previous" OF oBar ;
聽 聽 聽 聽 聽 聽 聽MESSAGE TXT_GOTO_PREVIOUS_PAGE 聽 聽 聽 ;
聽 聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_PREVIOUS,"&","") NOBORDER
聽 聽 聽 聽 DEFINE BUTTON RESOURCE "Next" OF oBar ;
聽 聽 聽 聽 聽 聽 聽MESSAGE TXT_GOTO_NEXT_PAGE 聽 聽 聽 ;
聽 聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_NEXT,"&","") NOBORDER
聽 聽 聽 聽 DEFINE BUTTON RESOURCE "Bottom" OF oBar ;
聽 聽 聽 聽 聽 聽 聽MESSAGE TXT_GOTO_LAST_PAGE 聽 聽 聽 聽 ;
聽 聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_LAST,"&","") NOBORDER
聽 聽 聽 聽 DEFINE BUTTON oZoom RESOURCE "Zoom" OF oBar GROUP ;
聽 聽 聽 聽 聽 聽 聽MESSAGE TXT_ZOOM_THE_PREVIEW 聽 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_ZOOM,"&","") NOBORDER
聽 聽 聽 聽 DEFINE BUTTON oTwoPages RESOURCE "Two_Pages" OF oBar 聽;
聽 聽 聽 聽 聽 聽 聽MESSAGE TXT_PREVIEW_ON_TWO_PAGES 聽 聽 聽 ;
聽 聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_TWOPAGES,"&","") NOBORDER
聽 聽 聽 聽 DEFINE BUTTON RESOURCE "Printer" OF oBar GROUP ;
聽 聽 聽 聽 聽 聽 聽MESSAGE TXT_PRINT_CURRENT_PAGE 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_PRINT,"&","") NOBORDER
聽 聽 聽 聽 DEFINE BUTTON RESOURCE "Exit" OF oBar GROUP ;
聽 聽 聽 聽 聽 聽 聽MESSAGE TXT_EXIT_PREVIEW 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 聽 聽 聽 聽 聽ACTION oWnd:End() 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_EXIT,"&","") NOBORDER
聽 聽 else
聽 聽 聽 聽 DEFINE BUTTON RESOURCE "Top" OF oBar ;
聽 聽 聽 聽 聽 聽 聽MESSAGE TXT_GOTO_FIRST_PAGE 聽 聽 ;
聽 聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_FIRST,"&","")
聽 聽 聽 聽 DEFINE BUTTON RESOURCE "Previous" OF oBar ;
聽 聽 聽 聽 聽 聽 聽MESSAGE TXT_GOTO_PREVIOUS_PAGE 聽 聽 聽 ;
聽 聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_PREVIOUS,"&","")
聽 聽 聽 聽 DEFINE BUTTON RESOURCE "Next" OF oBar ;
聽 聽 聽 聽 聽 聽 聽MESSAGE TXT_GOTO_NEXT_PAGE 聽 聽 聽 ;
聽 聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_NEXT,"&","")
聽 聽 聽 聽 DEFINE BUTTON RESOURCE "Bottom" OF oBar ;
聽 聽 聽 聽 聽 聽 聽MESSAGE TXT_GOTO_LAST_PAGE 聽 聽 聽 聽 ;
聽 聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_LAST,"&","")
聽 聽 聽 聽 DEFINE BUTTON oZoom RESOURCE "Zoom" OF oBar GROUP ;
聽 聽 聽 聽 聽 聽 聽MESSAGE TXT_ZOOM_THE_PREVIEW 聽 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_ZOOM,"&","")
聽 聽 聽 聽 DEFINE BUTTON oTwoPages RESOURCE "Two_Pages" OF oBar 聽;
聽 聽 聽 聽 聽 聽 聽MESSAGE TXT_PREVIEW_ON_TWO_PAGES 聽 聽 聽 ;
聽 聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_TWOPAGES,"&","")
聽 聽 聽 聽 DEFINE BUTTON RESOURCE "Printer" OF oBar GROUP ;
聽 聽 聽 聽 聽 聽 聽MESSAGE TXT_PRINT_CURRENT_PAGE 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_PRINT,"&","")
聽 聽 聽 聽 DEFINE BUTTON RESOURCE "Exit" OF oBar GROUP ;
聽 聽 聽 聽 聽 聽 聽MESSAGE TXT_EXIT_PREVIEW 聽 聽 聽 聽 聽 聽 聽 ;
聽 聽 聽 聽 聽 聽 聽ACTION oWnd:End() 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 聽 聽 聽TOOLTIP Strtran(TXT_EXIT,"&","")
聽 聽 聽endif
聽 聽 聽AEval( oBar:aControls, { | o | o:oCursor := oHand } )
聽 聽 聽endif
聽 聽 聽#ifdef __CLIPPER__
聽 聽 聽 聽 SET MESSAGE OF oWnd TO TXT_PREVIEW CENTERED ;
聽 聽 聽 聽 聽 聽NOINSET CLOCK DATE KEYBOARD
聽 聽 聽#else
聽 聽 聽 聽 DEFINE STATUSBAR OF oWnd PROMPT " 聽" + TXT_PREVIEW // CLOCK
聽 聽 聽#endif
聽 聽 聽oMeta1 := TMetaFile():New( 0, 0, 0, 0,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 aFiles[ 1 ],;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oWnd,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 CLR_BLACK,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 CLR_WHITE,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽)
聽 聽 聽oMeta1:oCursor := oCursor
聽 聽 聽nPage 聽 聽 := 1
聽 聽 聽nZFactor 聽:= 1
聽 聽 聽lTwoPages := .F.
聽 聽 聽lZoom 聽 聽 := .F.
聽 聽 聽@ 7, 275 SAY oSay PROMPT TXT_FACTOR ;
聽 聽 聽 聽 聽 SIZE 60, 15 PIXEL OF oBar FONT oFont
聽 聽 聽if IsAppThemed_ed()
聽 聽 聽 聽 oSay:SetBrush( TBrush():New( "NULL" ) )
聽 聽 聽endif
聽 聽 聽// PDF
聽 聽 聽@ 7, 278 SAY oSay2 PROMPT "Factor:" ;
聽 聽 聽 聽 聽 SIZE 180, 15 PIXEL OF oBar FONT oFont
聽 聽 聽@ 3, 325 COMBOBOX oFactor VAR nZFactor ;
聽 聽 聽 聽 聽 ITEMS {"1","2","3","4","5","6","7","8","9"} ;
聽 聽 聽 聽 聽 OF oBar FONT oFont PIXEL SIZE 35,200
聽 聽 聽if Len( aFiles ) > 1
聽 聽 聽 聽 @ 7, 370 SAY oPAGE PROMPT TXT_PAGENUM+ltrim(str(nPage,4,0)) + " / " + ;
聽 聽 聽 聽 聽 ltrim(str(len(aFiles))) ;
聽 聽 聽 聽 聽 SIZE 180, 15 PIXEL OF oBar FONT oFont
聽 聽 聽else
聽 聽 聽 聽 @ 7, 370 SAY oPAGE PROMPT TXT_PAGENUM+ltrim(str(nPage,4,0)) ;
聽 聽 聽 聽 聽 SIZE 180, 15 PIXEL OF oBar FONT oFont
聽 聽 聽endif
聽 聽 聽// modi mcn 聽para seleccionar impresora desde el preview
聽 聽 聽@ 7, 540 SAY oSay2 PROMPT "Impresora:" ;
聽 聽 聽 聽 聽 SIZE 180, 15 PIXEL OF oBar FONT oFont
聽 聽 聽@ 3, 610 COMBOBOX oCbx VAR cCbx ;
聽 聽 聽 聽 聽 聽 PROMPTS aImpre ;
聽 聽 聽 聽 聽 聽 OF oBar FONT oFont PIXEL SIZE 150,350
聽 聽 聽if IsAppThemed_ed()
聽 聽 聽 聽 FixSays( oBar:hWnd )
聽 聽 聽endif
聽 聽 聽#ifndef __XPP__
聽 聽 聽 聽 oFactor:Set3dLook()
聽 聽 聽#endif
聽 聽 聽oWnd:cargo := oDevice
聽 聽 聽WndCenter( oWnd:hWnd )
聽 聽 聽SysRefresh()
聽 聽 聽SetResources(hOldRes)
聽 聽 聽ACTIVATE WINDOW 聽 oWnd 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 聽 MAXIMIZED
聽 聽 聽 聽 聽 /* 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 聽 VALID 聽 聽 聽 聽(oWnd:oIcon := nil 聽 聽 聽 ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oFont:End() 聽 聽 聽 聽 聽 聽 ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oMeta1:End() 聽 聽 聽 聽 聽 聽,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oMeta2:End() 聽 聽 聽 聽 聽 聽,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oDevice:End() 聽 聽 聽 聽 聽 ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oHand:End() 聽 聽 聽 聽 聽 聽 ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oWnd := nil 聽 聽 聽 聽 聽 聽 ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 If( IsAppThemed_ed(), oImageList:End(),),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 lExit := .T. 聽 聽 聽 聽 聽 聽,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 .T.)
聽 聽 聽StopUntil( {|| lExit} )
*/
聽 聽 聽if oDevice:lPrvModal 聽.and. oWndMain != nil
聽 聽 聽 聽 聽 oWndMain:Show()
聽 聽 聽endif
return (nil)
//----------------------------------------------------------------------------//
function IsAppThemed_ed()
return .t.