Page 1 of 1

BUTTON vs BTNBMP

Posted: Wed Sep 28, 2011 3:44 pm
by Romeo
Ciao Enrico e a tutti e ben tornati....

ho un problemino, per te piccolo:

ho sostituito in un programma le BUTTON con le BTNBMP poiche' potevo colorarle ed erano piu' carine.
Ho notato pero' che il relativo btnbmp non funziona in uscita da una dialog se la get ove e' posizionato il focus non viene completata.

ti allego un esempio minimale x verifica.

Lancialo e lasciando il campo vuoto, prova ad uscire cliccando su BTNBMP, VEDRAI CHE NON FA NIENTE.

grazie

Romeo/Zingoni


#include "FiveWin.ch"

*

function Main()

local oDlg,obut,obtn
local pippo:= space(40)

DEFINE DIALOG oDlg TITLE "Prova" from 0,0 to 250,350 pixel

@10,10 SAY "Lasciare vuoto il campo e cliccare su USCITA" OF oDlg pixel
@28,10 GET pippo OF oDlg pixel valid ! empty(pippo)

@60,10 BUTTON obut prompt "Uscita: qui esce con BUTTON" OF oDlg ;
ACTION oDlg:End() CANCEL pixel size 100,20

@90,10 BTNBMP obtn prompt "Uscita: qui non esce con BTNBMP" OF oDlg ;
ACTION oDlg:End() CANCEL pixel size 100,20


ACTIVATE DIALOG oDlg CENTERED

return nil

Re: BUTTON vs BTNBMP

Posted: Wed Sep 28, 2011 7:56 pm
by Enrico Maria Giordano
Compilando il tuo esempio ottengo:

Code: Select all

test.prg(19) Warning W0001  Ambiguous reference: 'PIXEL'
test.prg(19) Warning W0001  Ambiguous reference: 'CANCEL'
Da cui deduco che nel comando @ riga, colonna BTNBMP non sono supportate le clausole CANCEL e PIXEL.

EMG

Re: BUTTON vs BTNBMP

Posted: Tue Oct 04, 2011 8:02 am
by Romeo
Quindi non e' possibile uscire da una dialog con un bottone BTNBMP ?

GRAZIE

Re: BUTTON vs BTNBMP

Posted: Tue Oct 04, 2011 8:04 am
by Enrico Maria Giordano
Certo che è possibile: basta mettere

Code: Select all

ACTION oDlg:End()
nella definizione del BTNBMP.

EMG

Re: BUTTON vs BTNBMP

Posted: Tue Oct 04, 2011 8:20 am
by Romeo
A RIECCOTI L'ESEMPIO MODIFICATO E NON MI FUNZIONA, cioe' non riesco ad uscire con il campo vuoto, clikkando sul bottone:
Ti ho anche mandato il file EXE (zippato) in mail.
***************
*
#include "FiveWin.ch"
*
function Main()

local oDlg,obut
local pippo:= space(40)

DEFINE DIALOG oDlg TITLE "Prova" from 0,0 to 250,350 pixel

@10,10 SAY "lasciare vuoto il campo e cliccare su USCITA" OF oDlg pixel
@28,10 GET pippo OF oDlg pixel valid ! empty(pippo)

@90,10 BTNBMP obtn prompt "Uscita: qui non esce con BTNBMP" OF oDlg ;
ACTION oDlg:End() pixel size 100,20

ACTIVATE DIALOG oDlg CENTERED

return nil
*
*********************
Grazie

Re: BUTTON vs BTNBMP

Posted: Tue Oct 04, 2011 8:28 am
by Enrico Maria Giordano
Sì, ora ho capito cosa intendevi. No, che io sappia non esiste la clausola CANCEL per i BTNBMP e quindi non puoi uscire da una dialog se c'è un campo obbligatiorio non riempito.

EMG

Re: BUTTON vs BTNBMP

Posted: Tue Oct 04, 2011 8:29 am
by Romeo
Sigh !!

Tks

Re: BUTTON vs BTNBMP

Posted: Tue Oct 04, 2011 8:47 am
by Enrico Maria Giordano
Magari c'è qualche escamotage che a me non viene in mente. Prova a chiedere nel forum in inglese.

EMG

Re: BUTTON vs BTNBMP

Posted: Tue Oct 04, 2011 8:49 am
by Romeo
ok

Re: BUTTON vs BTNBMP

Posted: Fri Oct 21, 2011 10:17 am
by MaxP
Prova ad aggiungere questa riga dopo il controllo BTNBMP

Code: Select all

        @90,10 BTNBMP obtn prompt "Uscita: qui non esce con BTNBMP" OF oDlg ;
        ACTION oDlg:End() pixel size 100,20
        oBtn:lCancel := .T.
Ciao
Massimo :wink: