Hej! Jag förstår inte riktigt ditt problem. Hej! som jag uppfattar det så måste du också ha 1500 textboxar om ifall alla cellerna har rätt färg och informationen skall skrivas ut i en egen textbox????MSflexgrid
Fråga från novis. Jag har gjort ett program som tillåter användaren att ändra text och backcolor i varje cell i en grid. Om backcolor är "rätt" färg ska texten i cellen skrivas i en separat textruta. Koden för en av cellerna:
dim X as string
X=&HC0C0FF
MSflexgrid.col=0
MSflexgrid.row=2
If MSflexgrid.cellbackcolor=(X) then text1.text=MSflexgrid.text
Detta fungerar, men eftersom griden består av ca 1500 celler blir proceduren för stor och då fungerar det inte längre. Hur kan man göra för att kunna läsa av alla cellerna på ett enklare (mindre resurskrävande) sätt?
Tacksam för svar!!Sv: MSflexgrid
Att skriva gridens text i en text.box behöve du ju egentligen bara koda på ett par ställen.
keyUp resp. lostFocus
I bägge fallen finns aktuell kolumn i col och row.
dvs:
keyUp
dim X as string
X=&HC0C0FF
om rätt tecken i KeyUp
if MSflexgrid.cellbackcolor=(X) then text1.text=MSflexgrid.text
end om
lostFocus
dim X as string
X=&HC0C0FF
if MSflexgrid.cellbackcolor=(X) then text1.text=MSflexgrid.text
Eller är det något som jag inte fattat?
/StefanSv: MSflexgrid
Tack för svar! Som jag sa, jag är novis, försöker lära mig.
Det framkom inte i min fråga att varje cell med "rätt" cellbackcolor skall skrivas in i en egen textbox, unik för den cellen. Förtydligar det mitt problem? Jag fortsätter testa.Sv: MSflexgrid
Lösningen på ditt problem är antagligen att indexera alla textboxarna och sedan vid varje förändring i griden loopa igenom cellerna. Detta går relativt fort.