Me permiti hacerle unas modificaciones a tu codigo para que se utilice LABEL ( no IMAGE )
Siento que el ToolTip está de más, ya que se estan desplegando los encabezados...
Code: Select all
#include "hmg.ch"
Function Main
*----------------------------------------*
* (c) Mustafa López mustalopez@gmail.com
*----------------------------------------*
REQUEST DBFCDX , DBFFPT , DBFDBT
RDDSETDEFAULT( "DBFCDX" )
REQUEST HB_CODEPAGE_ESWIN
HB_SETCODEPAGE("ESWIN")
REQUEST HB_LANG_ES
HB_LANGSELECT("ES")
*----------------------------------*
SET CENTURY ON
SET DATE FRENCH
SET ESCAPE ON
SET NAVIGATION EXTENDED
SET LANGUAGE TO SPANISH
SET CODEPAGE TO SPANISH
SET DELETED ON
SET DATE FORMAT TO 'dd/mm/yyyy'
SET BROWSESYNC ON
SET TOOLTIPSTYLE BALLOON
*---------------------------------*
private reg , _campo2
private cNome
private nCelRow
private nCelCol
DEFINE WINDOW Form_1Q ;
AT 0,0 ;
WIDTH 800 ;
HEIGHT 610 ;
TITLE "Grid not move columns & CheckBox" ;
NOSIZE NOMAXIMIZE ;
MAIN ;
ON INIT OpentablesQ()
fColor := { || if ( This.CellRowIndex/2 == int(This.CellRowIndex/2) , BLUE , RED ) }
bcolor := { || if ( This.CellRowIndex/2 = int (This.CellRowIndex/2) , {180,200,255} , {255,255,211} ) }
*-------------------------- Cabecera GRid_1 ---------------------------------------*
*DEFINE IMAGE Fondo_1
* ROW 046 ; COL 046 ; WIDTH 706 ; HEIGHT 025
* PICTURE "cabecera.jpg"
* STRETCH .T.
*END IMAGE
*----------------------------------------------------------------------------------*
@ 15,320 LABEL Label_1 Value "Select Products" Width 440 Height 032 ;
FONT "Arial" SIZE 17 BOLD ITALIC
*------------------------------- Color Barra Video Inversa ------------------------*
_HMG_SYSDATA [ 348 ] := { 199,250,225 }
_HMG_SYSDATA [ 349 ] := { 007,071,041 }
_HMG_SYSDATA [ 350 ] := { 235,237,095 }
_HMG_SYSDATA [ 351 ] := { 069,015,135 }
*----------------------------------------------------------------------------------*
SELECT 1
USE STOCK INDEX STOCK
// *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- AGL
aCols= { '','Ref','Producto','Tipo' , 'Precio' , 'C_Barras' }
// *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- AGL
DEFINE GRID Grid_1
ROW 070
COL 050
WIDTH 700
HEIGHT 177
HEADERS aCols // no sale con SHOWHEADERS .F.
WIDTHS { 17, 122 , 149 , 135 , 116 , 138 }
VALUE 0
IMAGE { '02.bmp','01.bmp' }
JUSTIFY { GRID_JTFY_LEFT, GRID_JTFY_RIGHT, GRID_JTFY_LEFT , GRID_JTFY_LEFT, GRID_JTFY_RIGHT, GRID_JTFY_LEFT}
DYNAMICFORECOLOR { fColor , fColor, fColor , fColor, fColor, fColor }
DYNAMICBACKCOLOR { bColor , bColor, bColor , bColor, bColor, bColor }
BACKCOLOR { 209,238,238 }
FONTCOLOR { 000,255,020 }
ONCHANGE ( Co_ToolTip("Form_1Q","Grid_1") , SelecDes() )
MULTISELECT .F.
SHOWHEADERS .F.
ROWSOURCE "STOCK"
COLUMNFIELDS { 'IIF(STOCK->L,1,0)', 'STOCK->REF','STOCK->PRODUCTO','STOCK->TIPO','STOCK->PRECIO','STOCK->CBARRAS' }
FONTNAME 'Arial'
FONTSIZE 9
CELLNAVIGATION .T.
END GRID
// *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- AGL
nCol = 069
FOR i1 = 2 TO LEN( aCols )
nAncho = GetProperty( "Form_1Q", "Grid_1", "ColumnWIDTH", i1 )
xLB = "Label_1"+STRZERO( i1, 2 )
@ 049,nCol LABEL &xLB Value aCols[ i1 ] Width nAncho Height 20 FONT "Verdana" SIZE 10 CENTERALIGN ;
FONTCOLOR WHITE BACKCOLOR BLUE
xLB = "Label_2"+STRZERO( i1, 2 )
@ 285,nCol LABEL &xLB Value aCols[ i1 ] Width nAncho Height 20 FONT "Verdana" SIZE 10 CENTERALIGN ;
FONTCOLOR WHITE BACKCOLOR BLUE
nCol += GetProperty( "Form_1Q", "Grid_1", "ColumnWIDTH", i1 )
NEXT
// *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- AGL
@ 255,318 LABEL Label_2 Value "Product Selection " Width 440 Height 20 ;
FONT "Arial" SIZE 17 BOLD ITALIC
SELECT 2
USE STOCKP
dbgobottom()
DEFINE GRID Grid_2
ROW 305
COL 050
WIDTH 700
HEIGHT 175
HEADERS { 'Ref','Producto','Tipo' ,'Precio','C_Barras' }
WIDTHS {139, 149, 135, 116, 140}
ITEMS {{""}}
VALUE 1
ONCHANGE Co_ToolTip2("Form_1Q","Grid_2")
ROWSOURCE "STOCKP"
COLUMNFIELDS { 'STOCKP->REF','STOCKP->PRODUCTO','STOCKP->TIPO','STOCKP->PRECIO','STOCKP->CBARRAS' }
FONTNAME 'Arial'
FONTSIZE 9
JUSTIFY { GRID_JTFY_RIGHT , GRID_JTFY_LEFT, GRID_JTFY_LEFT, GRID_JTFY_RIGHT , GRID_JTFY_LEFT}
DYNAMICFORECOLOR { fColor, fColor , fColor, fColor, fColor }
DYNAMICBACKCOLOR { bColor, bColor , bColor, bColor, bColor }
BACKCOLOR { 209,238,238 }
FONTCOLOR { 000,255,020 }
SHOWHEADERS .F.
END GRID
@ 515, 200 BUTTON Button_2 CAPTION "Delete Base" ACTION Deleter()
@ 515, 365 BUTTON Button_3 CAPTION "Check List" ACTION GetListSelect()
@ 515, 580 BUTTON Button_4 CAPTION "Exit" ACTION Form_1Q.Release
END WINDOW
CENTER WINDOW Form_1Q
ACTIVATE WINDOW Form_1Q
Return
*---------------------------------------------------*
Function Co_ToolTip(cParentForm,cControl) // Grid_1
*---------------------------------------------------*
Local nColumn:=GetProperty(cParentForm,cControl,"CellColFocused")
* Do Case
* Case nColumn=1
* _SetToolTip(cControl,cParentForm,"") // no poner nada están los botones
* Case nColumn=2
* _SetToolTip(cControl,cParentForm,"Ref")
* Case nColumn=3
* _SetToolTip(cControl,cParentForm,"Producto")
* Case nColumn=4
* _SetToolTip(cControl,cParentForm,"Tipo")
* Case nColumn=5
* _SetToolTip(cControl,cParentForm,"Precio")
* Case nColumn=6
* _SetToolTip(cControl,cParentForm,"C_Barras")
* EndCase
Return Nil
*---------------------------------------------------*
Function Co_ToolTip2(cParentForm,cControl) // Grid_2
*---------------------------------------------------*
* Local nColumn:=GetProperty(cParentForm,cControl,"CellColFocused")
*
* Do Case
* Case nColumn=1
* _SetToolTip(cControl,cParentForm,"Ref")
* Case nColumn=2
* _SetToolTip(cControl,cParentForm,"Producto")
* Case nColumn=3
* _SetToolTip(cControl,cParentForm,"Tipo")
* Case nColumn=4
* _SetToolTip(cControl,cParentForm,"Precio")
* Case nColumn=5
* _SetToolTip(cControl,cParentForm,"C_Barras")
* EndCase
Return Nil
*---------------------------------------------*
Function OpentablesQ()
*---------------------------------------------*
CLOSE DATABASES
SELECT 1
USE STOCK
DELETE FOR REF := 0
PACK
CLOSE DATABASES
SELECT 1
USE STOCK NEW
INDEX ON STR(REF) TO STOCK
CLOSE DATABASES
SELECT 1
USE STOCK INDEX STOCK
SELECT 2
USE STOCKP
Muy_Listo()
Form_1Q.Grid_1.Refresh
Return
*.............................................*
Function SelecDes()
*---------------------------------------------*
STOCK->(DbGoTo( Form_1Q.Grid_1.RecNo))
If STOCK->L = .T.
Replace STOCK->L With .F.
Else
Replace STOCK->L With .T.
EndIf
Return
*------------------------------------------------*
FUNCTION Muy_Listo()
*------------------------------------------------*
SELECT 1
USE STOCK
DO WHILE .NOT. EOF()
REPLACE L WITH .F.
SKIP + 1
ENDDO
Form_1Q.Grid_1.Refresh
Return
*---------------------------------------------*
Function GetListSelect()
*---------------------------------------------*
CLOSE DATABASES
USE STOCKP
APPEND FROM STOCK FIELDS Ref , Producto , Tipo , Precio , CBarras , L FOR L <> .F.
CLOSE DATABASES
SELECT 1
USE STOCK
DO WHILE .NOT. EOF()
REPLACE L WITH .F.
SKIP + 1
ENDDO
SELECT 1
USE STOCK INDEX STOCK
SELECT 2
USE STOCKP
Form_1Q.Grid_2.Refresh
Muy_Listo()
Form_1Q.Grid_1.Refresh
Return
*---------------------------------------------*
Function Deleter()
*---------------------------------------------*
CLOSE DATABASES
SELECT 2
USE STOCKP
IF STOCKP->REF == 0
MsgInfo('No hay Datos para Borrar','Info Delete')
Muy_Listo()
Form_1Q.Grid_1.Refresh
Form_1Q.Grid_2.Refresh
Return
ENDIF
CLOSE DATABASES
SELECT 2
USE STOCKP
ZAP
SELECT 1
USE STOCK INDEX STOCK
Muy_Listo()
Form_1Q.Grid_1.Refresh
Form_1Q.Grid_2.Refresh
Return