|
VFP ·R¥ÎªÌªÀ°Ï ¥»°Q½×°Ï¬° Visual Foxpro ·R¥ÎªÌ¸gÅç¥æ¬yªº¦a¤è, ½Ð¦h¦h§Q¥Î"·j´M"ªº¥\¯à, ¥ý¬d¬Ý¬Ý¦³µL«e¨Ò¥i´`, ¦pªGÁÙ¦³¤£À´ªº¦Aµo°Ý. ³¡¥÷¥DÃD¦³ªþ¥[ÀÉ®×, ¶·¥ýµù¥U¦¨¬°ªÀ°Ï©~¥Á¤~¥i¥H¤U¸ü.
|
¤W¤@½g¥DÃD :: ¤U¤@½g¥DÃD |
µoªí¤H |
¤º®e |
Ruey
µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
²Ä 1 ¼Ó
|
µoªí©ó: ¬P´Á¤» ¤¤ë 24, 2003 4:40 pm ¤å³¹¥DÃD: ©T©wGridÄæ¦ì(Âà¶K) |
|
|
**************************************************
*-- Class Library: d:\t1\grid1.vcx
**************************************************
**************************************************
*-- Class: grid1 (d:\t1\grid1.vcx)
*-- ParentClass: grid
*-- BaseClass: grid
*-- Time Stamp: 08/30/02 03:40:11 PM
*
DEFINE CLASS grid1 AS grid
Height = 200
Width = 320
Name = "grid1"
PROCEDURE MouseDown
LPARAMETERS nButton, nShift, nXCoord, nYCoord
local nWhere_Out, nRelRow_Out, nRelCol_Out, nView_Out
THIS.GRIDHITTEST(nxcoord,nycoord,@nWhere_Out,@nRelRow_Out,@nRelCol_Out,@nView_Out)
if nView_Out=0.or.nWhere_Out=5
node
endif
ENDPROC
PROCEDURE Scrolled
LPARAMETERS nDirection
IF nDirection>=4 &&ªí¥Ü¬O¤ô¥¤è¦V¨÷
IF This.RelativeColumn#This.ActiveColumn
local Âê©w¦C¼Æ,ii,jj,kk,Á`¦C¼Æ
¥ª¦C©T©w¼e=this.¥ª¦C©T©w¼e
Âê©w¦C¼Æ=this.Âê©w¦C¼Æ
if m.Âê©w¦C¼Æ=1
This.Partition=THIS.COLUMNS(1).WIDTH+m.¥ª¦C©T©w¼e
else
Á`¦C¼Æ=this.columncount
jj=0
kk=0
for ii=1 to m.Á`¦C¼Æ
if this.columns(m.ii).columnorder<=m.Âê©w¦C¼Æ
jj=m.jj+this.columns(m.ii).width
kk=m.kk+1
if m.kk>m.Âê©w¦C¼Æ
exit
endif
endif
next
This.Partition=m.jj+1+m.¥ª¦C©T©w¼e+2
endif
else
this.partition=m.¥ª¦C©T©w¼e
endif
endif
ENDPROC
PROCEDURE AfterRowColChange
LPARAMETERS nColIndex
if inli(last(),3,18,24,5)
retu
endif
local Á`¦C¼Æ,ii,Âê©w¦C¼Æ,Âê©w¼e«×,jj,kk,¥ª¦C©T©w¼e
¥ª¦C©T©w¼e=this.¥ª¦C©T©w¼e
Âê©w¦C¼Æ=this.Âê©w¦C¼Æ
Á`¦C¼Æ=this.columncount
if this.panel#1
for ii=1 to m.Á`¦C¼Æ
if this.columns(m.ii).columnorder=1
this.panel=0
this.Columns(m.ii).setfocus()
this.panel=1
This.Partition=m.¥ª¦C©T©w¼e
keyb "{tab}" plai clear
exit
endif
next
retu
endif
if this.leftcolumn>1
if m.Âê©w¦C¼Æ=1
if This.Partition<=m.¥ª¦C©T©w¼e
for ii=1 to m.Á`¦C¼Æ
if this.columns(m.ii).columnorder=1
This.Partition=min(this.columns(m.ii).width+1,this.width-50)+m.¥ª¦C©T©w¼e
exit
endif
next
endif
else
local jj,kk
jj=0
kk=0
for ii=1 to m.Á`¦C¼Æ
if this.columns(m.ii).columnorder<=m.Âê©w¦C¼Æ
jj=m.jj+this.columns(m.ii).width
kk=m.kk+1
if m.kk>m.Âê©w¦C¼Æ
exit
endif
endif
next
Âê©w¼e«×=m.jj+1+m.¥ª¦C©T©w¼e+2
if this.Partition#m.Âê©w¼e«×
This.Partition=m.Âê©w¼e«×
endif
endif
else
if This.Partition>m.¥ª¦C©T©w¼e
This.Partition=m.¥ª¦C©T©w¼e
endif
endif
ENDPROC
PROCEDURE Init
with this
.addproperty("®t¼Æh",thisform.height-.height)
.addproperty("®t¼Æw",thisform.width-.width)
if !vart(.Âê©w¦C¼Æ)=="N".or.!betw(.Âê©w¦C¼Æ,0,10)
.addproperty("Âê©w¦C¼Æ",1)
endif
.addproperty("¥ª¦C©T©w¼e",iif(.recordmark,10,0))
.deletemark=.f.
if .splitbar
.panelLink=.f.
.panel=0
.scrollbars=1
.panel=1
.recordmark=.f.
.panelLink=.t.
.partition=.¥ª¦C©T©w¼e
endif
endw
ENDPROC
ENDDEFINE
*
*-- EndDefine: grid1
******************************************** |
|
¦^³»ºÝ |
|
|
Ruey
µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
²Ä 2 ¼Ó
|
µoªí©ó: ¬P´Á¤é ¤C¤ë 13, 2003 7:54 pm ¤å³¹¥DÃD: |
|
|
ɪá·q¦ò¡G
©T©wGRIDªº¥ô·N´X¦C
*¥H©T©w¥ªÃä¤T¦C¬°¨Ò¡G
*¦bGRIDªºAfterRowChange¨Æ¥ó¤¤¡G
LPARAMETERS nColIndex
FOR I=1 TO 3
this.Columns(I).ColumnOrder = this.LeftColumn+I-1
ENDF
*¦bGRIDªºScrolledD¨Æ¥ó¤¤¡G
LPARAMETERS nDirection
if nDirection>3
this.AfterRowColChange()
endif
-------------------------------------------
¦b grid ¤¤©T©w¬Y¤@¦Cªº³Ì²³æ¤èªk
--------------------------------------------------------------------------------
zck ©ó 2002-2-1 21:47:59 µoªí¡G
§Ú¥H«e©M«Ü¦h¤H¤@¼Ë¡A¤]¥H¬°grid¤£¯à©T©w¬Y¤@¦C¡A¦Ó³oÓ°ÝÃD¦b¿é¤J¤u¸êªí¤§Ãþªº³õ¦X«o¤S³Ì»Ýnªº¡A§â©m¦W¨º¤@¦C©T©w¤F¡A³o¼Ë´N¬O¤£Â_ªº©¹¥k²¾¡A©m¦W¨º¤@¦C¤]ÁÙ¯à¬Ý±o¨ì¡C
²{¦b¤èªk¦p¤U¡G
1¡Bµ¹grid¥[ÓÄÝ©Ê¡GLockColumn¡A¼ÆÈ«¬¡A¤º®e´N¬O§An©T©w¨º¤@¦C
2¡B¦bGrid.AfterRowColChange¨Æ¥óùؼg¤W¡G
this.columns(this.lockcolumn).columnorder=this.leftcolumn
³o´N¦æ¤F
¤èªkªº§½©Ê¦b©ó¡G
³Q©T©w¨º¤@¦C¡A¥¦´N¥u¯à©ñ¦bªí®æªº³Ì¥ªÃä¤F¡C§Y¨Ï¤H¤u¥Î·Æ¹«§â¥¦©ì¨ì¤¤¶¡ªº¦C¦ì¸m¡A¤@¥¹Ä²µoAfterRowColChange¨Æ¥ó¡A¥¦¤S·|¨ì¦^²Ä¤@¦Cªº¦ì¸m¤W¤F
¶¶«K§â§Ú°µªºgridÃþªº´XÓ¤èªk¼g¥X¨Ó¡A¨Ñ¤j®a°Ñ¦Ò
〖init¨Æ¥ó〗
this.SetAll(¡¬backcolor¡¬,RGB(192,192,192),¡¬header¡¬)
this.SetAll(¡¬forecolor¡¬,RGB(0,0,0),¡¬header¡¬)
this.SetAll(¡¬alignment¡¬,2,¡¬header¡¬)
this.SetAll(¡¬fontsize¡¬,14,¡¬header¡¬)
this.SetAll(¡¬fontsize¡¬,14,¡¬column¡¬)
this.HeaderHeight = 27
this.RowHeight=27
〖BeforRowColChange¨Æ¥ó〗
LPARAMETERS nColIndex
PRIVATE i
WITH this
FOR i=1 TO .ColumnCount
IF .columns(i).columnorder=ncolindex
.Columns(i).header1.backcolor=12632256
.Columns(i).header1.forecolor=0
.Columns(i).header1.fontbold=.f.
ENDIF
ENDFOR
ENDWITH
〖AfterRowColChange¨Æ¥ó〗
LPARAMETERS nColIndex
PRIVATE i,j
WITH this
.columns(.lockcolumn).columnorder=.leftcolumn
FOR i=1 TO .ColumnCount
IF .columns(i).columnorder=nColINdex
.Columns(i).header1.backcolor=8421440
.Columns(i).header1.forecolor=65535
.Columns(i).header1.fontbold=.t.
j=i
ENDIF
ENDFOR
.refresh()
ENDWITH
¨äµ²ªG´N¬O¡A´å¼Ð©Ò¦bªº¨º¤@¦C¡A¥¦ªº¦C¼ÐÃDªºÃC¦â¬O©M¨ä¥Lªº¦C¤£¦Pªº¡A±q¦Ó°_¨ì¼ÐÃѪº§@¥Î¡C¥i±¤¦æ¨ºùØ°µ¤£¨ì³o¼Ëªº®ÄªG¡A¤£µM´N©M OfficeXP ùرªº Excel ¤@¼Ë®ÄªG¤F ©«¸¹ ¥D¡@¡@¡@¡@ÃD §@ªÌ ¤é¡@¡@´Á
338594 ¦bgrid¤¤©T©w¬Y¤@¦Cªº³Ì²³æ¤èªk¡G zck 2002-2-1 21:47:59
©«¸¹ ¥D¡@¡@¡@¡@ÃD §@ªÌ ¤é¡@¡@´Á
-------------------------------------------------------- _________________ #############################
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~ì¨Ó©¯ºÖ¨º»ò²³æ!!
¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
############################# |
|
¦^³»ºÝ |
|
|
Ruey
µù¥U®É¶¡: 2003-03-12 ¤å³¹: 1698 ¨Ó¦Û: tunglo
²Ä 3 ¼Ó
|
µoªí©ó: ¬P´Á¤é ¤C¤ë 13, 2003 7:56 pm ¤å³¹¥DÃD: |
|
|
¦pªG§A¦³VFP8ªº¸Ü
©T©wGrid¤w¸g¦³ÓÄÝ©ÊLockColumn
¥i±±¨îÄæ¦ì¤F,¤£¥Î¾á¤ß·|¦³°ÝÃDªº
»°§Ö´«¤u¨ã§a _________________ #############################
§Ö¼Ö¶ý«}¨t¦C©¯ºÖ¦v°t,³Ü¤Q¥þÂû´ö~ì¨Ó©¯ºÖ¨º»ò²³æ!!
¾Ç·|VFP¨Ï¥ÎªÌªÀ°Ïªº·j´M,Code¤~·|§ó¦³½ì~
############################# |
|
¦^³»ºÝ |
|
|
|
|
±z µLªk ¦b³oÓª©±µoªí¤å³¹ ±z µLªk ¦b³oÓª©±¦^ÂФ峹 ±z µLªk ¦b³oÓª©±½s¿è¤å³¹ ±z µLªk ¦b³oÓª©±§R°£¤å³¹ ±z µLªk ¦b³oÓª©±¶i¦æ§ë²¼ ±z µLªk ¦b³oÓª©±ªþ¥[ÀÉ®× ±z µLªk ¦b³oÓª©±¤U¸üÀÉ®×
|
Powered by phpBB © 2001, 2005 phpBB Group ¥¿Å餤¤å»y¨t¥Ñ phpbb-tw ºûÅ@»s§@
|