|
-
January 17th, 1999, 11:11 PM
#1
Detecting row/column resizing in MSFlexGrid.OCX??
Hi,
I'm currently faced with a problem in VB5 of trying to detect when any row or column in a MSFlexGrid ActiveX control is resized by the user.
Is this achievable and if so, how can it be done?
-
January 18th, 1999, 05:47 AM
#2
Re: Detecting row/column resizing in MSFlexGrid.OCX??
Hi
This is very annoying huh ? I spent forever trying to capture the resize of
a column or row using subclassing and I just couldn't find anything. Even the MouseUp messages aren't fired at the correct time when you resize.
Eventually I got around it by having a timer which stores the total width
of all columns / all rows statically in its event and then check the values
to see if there's be a change,
ie. Something like (from the top of my head)
Sub Timer ...
Static lColumnWidth As Long
Static lRowHeight As Long
Dim lCounter As Long
Dim lTemp As Long
For lCounter = 0 To MSFlexGrid1.Cols -1
lTemp = lTemp + MSFlexGrid1.ColWidth(lCounter)
Next
If lTemp lColumnWidth Then
' Columns been resized
lColumnWidth = lTemp
End If
lTemp = 0
For lCounter = 0 To MSFlexGrid1.Rows - 1
lTemp = lTemp + MSFlexGrid1.RowHeight(lCounter)
Next
If lTemp lRowHeight Then
' Row's been resized
lRowHeight = lTemp
End If
End Sub
You can put your own resize code in at the commented lines.
If however, you need to capture a resize event because you're implementing grid editing, I'd suggest capturing the row/colchanged event (can't remember what it's called off the top of my head). You can then hide the control when required.
Hope it helps
Chris Eastwood
Software Engineer
ACNielsen Ltd
-
April 23rd, 1999, 10:46 AM
#3
Re: Detecting row/column resizing in MSFlexGrid.OCX??
Hi,
my problem with a flexgrid is, the user shall be able to change the column sizes as he likes - except of a couple of certain columns, that should be hidden, hence have the colwidth zero and should be unchangable.
The proposed method with the timer to me seems to pull the performance down, because to do it efficiently this timer should be evoked within time intervalls small enough for the user not to notice someone's narrowing the columns, that he was just going to expand.
Did you encounter such problems with this solution?
Regards,
Robert
-
April 23rd, 1999, 12:29 PM
#4
Re: Detecting row/column resizing in MSFlexGrid.OCX??
Hi
There was an article posted recently on the CodeGuru site to detect resizing of Columns in a FlexGrid - it should also apply to row resizing.
Take a look at :
http://www.codeguru.com/vb/articles/1721.shtml
Regards
Chris Eastwood
CodeGuru - the website for developers
http://www.codeguru.com/vb
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|