quale lausare ?
Moderator: Enrico Maria Giordano
-
- Posts: 76
- Joined: Wed Oct 12, 2005 5:52 pm
- Location: Milan,Italy
quale lausare ?
Salve,
Ho l'esigenza di creare una 'pseudo browse' che abbia queste caratteristiche:
1) possibilita' di colorare ogni cella con colore diverso a secondo una condizione
2) popup diverso per ogni cella ( a secondo condizione)
3) inserire bottoni logici e/o bitmap
Chiedo troppo?
Ho provato ad utilizzare:
----------------------
@10,10 Browse ....
ADD COLUMN TO BROWSE ..... HEADER .. DATA ECC
ADD COLUMN TO BROWSE ..... HEADER .. DATA ECC
------------
Ma ho visto che non mi permette di inserire ne bmp ne bottoni
Cosa posso utilizzare in alternativa?
Si accetta qualasiasi dritta
Grazie
Piscicelii Zingoni
Ho l'esigenza di creare una 'pseudo browse' che abbia queste caratteristiche:
1) possibilita' di colorare ogni cella con colore diverso a secondo una condizione
2) popup diverso per ogni cella ( a secondo condizione)
3) inserire bottoni logici e/o bitmap
Chiedo troppo?
Ho provato ad utilizzare:
----------------------
@10,10 Browse ....
ADD COLUMN TO BROWSE ..... HEADER .. DATA ECC
ADD COLUMN TO BROWSE ..... HEADER .. DATA ECC
------------
Ma ho visto che non mi permette di inserire ne bmp ne bottoni
Cosa posso utilizzare in alternativa?
Si accetta qualasiasi dritta
Grazie
Piscicelii Zingoni
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: quale lausare ?
La TCBrowse consente di visualizzare bitmaps e fa anche le altre cose che ti servono.
EMG
EMG
-
- Posts: 76
- Joined: Wed Oct 12, 2005 5:52 pm
- Location: Milan,Italy
Grazie Enrico per l'esempio che mi hai mandato e che allego.
Voelvo sapere se esiste da qualche parte la descrizione di tutti i parametri che si possono inserire nel comando ADD COLUMN ...
Tks
Piscicelli/Zingoni
Voelvo sapere se esiste da qualche parte la descrizione di tutti i parametri che si possono inserire nel comando ADD COLUMN ...
Tks
Piscicelli/Zingoni
Code: Select all
*** ESEMPIO di EMG*******************
#include "Fivewin.ch"
#include "Tcbrowse.ch"
FUNCTION MAIN()
LOCAL oDlg, oBrw, oCol
LOCAL hBmp1 := READBITMAP( 0, "\fwharbour\bitmaps\checkon.bmp" )
LOCAL hBmp2 := READBITMAP( 0, "\fwharbour\bitmaps\checkoff.bmp" )
USE TEST
DEFINE DIALOG oDlg SIZE 400, 300
@ 0, 0 BROWSE oBrw
ADD COLUMN TO oBrw;
DATA TEST -> last;
HEADER "LAST"
ADD COLUMN TO oBrw;
DATA TEST -> first;
HEADER "FIRST"
ADD COLUMN TO oBrw;
DATA IF( TEST -> last = "S", hBmp1, hBmp2 );
BITMAP
oBrw:lCellStyle = .T.
oBrw:lMChange = .F.
ACTIVATE DIALOG oDlg;
ON INIT oDlg:SetControl( oBrw );
CENTER
CLOSE
RETURN NIL
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
-
- Posts: 76
- Joined: Wed Oct 12, 2005 5:52 pm
- Location: Milan,Italy
-
- Posts: 76
- Joined: Wed Oct 12, 2005 5:52 pm
- Location: Milan,Italy
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Code: Select all
#include "Fivewin.ch"
#include "Tcbrowse.ch"
FUNCTION MAIN()
LOCAL oDlg, oBrw, oCol
LOCAL hBmp1 := READBITMAP( 0, "\fwharbour\bitmaps\checkon.bmp" )
LOCAL hBmp2 := READBITMAP( 0, "\fwharbour\bitmaps\checkoff.bmp" )
USE TEST
DEFINE DIALOG oDlg SIZE 400, 300
@ 0, 0 BROWSE oBrw;
ON CLICK MSGINFO( oBrw:nColAct )
ADD COLUMN TO oBrw;
DATA TEST -> last;
HEADER "LAST"
ADD COLUMN TO oBrw;
DATA TEST -> first;
HEADER "FIRST"
ADD COLUMN TO oBrw;
DATA IF( TEST -> last = "S", hBmp1, hBmp2 );
BITMAP
oBrw:lCellStyle = .T.
oBrw:lMChange = .F.
ACTIVATE DIALOG oDlg;
ON INIT oDlg:SetControl( oBrw );
CENTER
CLOSE
RETURN NIL
-
- Posts: 76
- Joined: Wed Oct 12, 2005 5:52 pm
- Location: Milan,Italy
Pare impossibile ma ho trovato cosa cercavo.
Volevo sapere la colonna su cui ero posizionato e questa e' l'istruzione:
oBrw:nColAct
sfuttando l'istruzione:
oBrw:bLClicked = { | nRow, nCol | mia_funzione( nRow, nCol, oBrw, oDlg ) }
La mia nuova domanda e':
1) per sapere il nColAt mi devo spostare con il mouse o freccie sulla relativa cella ma se clicco con tasto destro su un'altra cella: come faccio per sapere su che riga/colonna sono ?
2) e' possibile avere qualcosa tipo: oBrw:bLClicked:Colonna ={ ... }
ossia x riga o colonna ?
Grazie
Pisciceli /Zingoni
Volevo sapere la colonna su cui ero posizionato e questa e' l'istruzione:
oBrw:nColAct
sfuttando l'istruzione:
oBrw:bLClicked = { | nRow, nCol | mia_funzione( nRow, nCol, oBrw, oDlg ) }
La mia nuova domanda e':
1) per sapere il nColAt mi devo spostare con il mouse o freccie sulla relativa cella ma se clicco con tasto destro su un'altra cella: come faccio per sapere su che riga/colonna sono ?
2) e' possibile avere qualcosa tipo: oBrw:bLClicked:Colonna ={ ... }
ossia x riga o colonna ?
Grazie
Pisciceli /Zingoni
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Evidentemente ti sei rifiutato di esaminare il mio esempio che conteneva, appunto, quell'istruzione. Come mai?Piscicelli Zingoni wrote:Pare impossibile ma ho trovato cosa cercavo.
Volevo sapere la colonna su cui ero posizionato e questa e' l'istruzione:
oBrw:nColAct
Eccoti il solito esempio, ancora modificato. E speriamo che stavolta tu lo prenda in considerazione:Piscicelli Zingoni wrote:La mia nuova domanda e':
1) per sapere il nColAt mi devo spostare con il mouse o freccie sulla relativa cella ma se clicco con tasto destro su un'altra cella: come faccio per sapere su che riga/colonna sono ?
Code: Select all
#include "Fivewin.ch"
#include "Tcbrowse.ch"
FUNCTION MAIN()
LOCAL oDlg, oBrw, oCol
LOCAL hBmp1 := READBITMAP( 0, "\fwharbour\bitmaps\checkon.bmp" )
LOCAL hBmp2 := READBITMAP( 0, "\fwharbour\bitmaps\checkoff.bmp" )
USE TEST
DEFINE DIALOG oDlg SIZE 400, 300
@ 0, 0 BROWSE oBrw;
ON CLICK MSGINFO( oBrw:nColAct );
ON RIGHT CLICK ( MSGINFO( NWROW( oBrw:hWnd, oBrw:hDC, nRow, IF( oBrw:oFont != nil, oBrw:oFont:hFont, 0 ) ) ),;
MSGINFO( oBrw:nAtCol( nCol ) ) )
ADD COLUMN TO oBrw;
DATA TEST -> last;
HEADER "LAST"
ADD COLUMN TO oBrw;
DATA TEST -> first;
HEADER "FIRST"
ADD COLUMN TO oBrw;
DATA IF( TEST -> last = "S", hBmp1, hBmp2 );
BITMAP
oBrw:lCellStyle = .T.
oBrw:lMChange = .F.
ACTIVATE DIALOG oDlg;
ON INIT oDlg:SetControl( oBrw );
CENTER
CLOSE
RETURN NIL
Piscicelli Zingoni wrote:2) e' possibile avere qualcosa tipo: oBrw:bLClicked:Colonna ={ ... }
ossia x riga o colonna ?
Non che io sappia.
EMG
-
- Posts: 76
- Joined: Wed Oct 12, 2005 5:52 pm
- Location: Milan,Italy
-
- Posts: 76
- Joined: Wed Oct 12, 2005 5:52 pm
- Location: Milan,Italy
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
-
- Posts: 76
- Joined: Wed Oct 12, 2005 5:52 pm
- Location: Milan,Italy
Grande Enrico, chiaramente funziona bene.......l'ho modificata e volevo che cliccando a destra con il mouse mi si evidenziasse tale cella, a tale scopo passo i parametri (x,y) ad una mia funzione e riesco a settare con :
function miafunc
param _y,_x,oBrw
oBrw:nColAct:=_x && e funziona nel senso che si evidenzia la cella X
oBrw:refresh()
* non riesco pero' ad evidenziare la cella Y
* ho provato con
oBrw:vsetpos(_y)
oBrw:refresh() && ma non succede niente
......
Come faccio per evidenziare la cella dove ho fatto RIGHT CLICK ??
Grazie
Piscicelli/Zingoni
function miafunc
param _y,_x,oBrw
oBrw:nColAct:=_x && e funziona nel senso che si evidenzia la cella X
oBrw:refresh()
* non riesco pero' ad evidenziare la cella Y
* ho provato con
oBrw:vsetpos(_y)
oBrw:refresh() && ma non succede niente
......
Come faccio per evidenziare la cella dove ho fatto RIGHT CLICK ??
Grazie
Piscicelli/Zingoni
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Code: Select all
#include "Fivewin.ch"
#include "Tcbrowse.ch"
FUNCTION MAIN()
LOCAL oDlg, oBrw, oCol
LOCAL hBmp1 := READBITMAP( 0, "\fwharbour\bitmaps\checkon.bmp" )
LOCAL hBmp2 := READBITMAP( 0, "\fwharbour\bitmaps\checkoff.bmp" )
USE TEST
DEFINE DIALOG oDlg SIZE 400, 300
@ 0, 0 BROWSE oBrw;
ON RIGHT CLICK oBrw:LButtonDown( nRow, nCol, nFlags )
// ON CLICK MSGINFO( oBrw:nColAct );
// ON RIGHT CLICK ( MSGINFO( NWROW( oBrw:hWnd, oBrw:hDC, nRow, IF( oBrw:oFont != nil, oBrw:oFont:hFont, 0 ) ) ),;
// MSGINFO( oBrw:nAtCol( nCol ) ) )
ADD COLUMN TO oBrw;
DATA TEST -> last;
HEADER "LAST"
ADD COLUMN TO oBrw;
DATA TEST -> first;
HEADER "FIRST"
ADD COLUMN TO oBrw;
DATA IF( TEST -> last = "S", hBmp1, hBmp2 );
BITMAP
oBrw:lCellStyle = .T.
oBrw:lMChange = .F.
ACTIVATE DIALOG oDlg;
ON INIT oDlg:SetControl( oBrw );
CENTER
CLOSE
RETURN NIL
-
- Posts: 76
- Joined: Wed Oct 12, 2005 5:52 pm
- Location: Milan,Italy