rockinron
May 4th, 2001, 02:07 AM
the area in a Flexgrid to put data is small, can i make it bigger??
Ron
Ron
|
Click to See Complete Forum and Search --> : FkexGrid rockinron May 4th, 2001, 02:07 AM the area in a Flexgrid to put data is small, can i make it bigger?? Ron cksiow May 4th, 2001, 03:04 AM if u r talking about column width & row height then MSFlexGrid1.ColWidth(Col) = 2000 MSFlexGrid1.RowHeight(Row) = 100 where Col & Row is the index of column & row. cksiow http://vblib.virtualave.net - share our codes Cimperiali May 4th, 2001, 04:57 AM ...and you can also let usert resize it with mouse to the width he likes (check for flexresize property) Special thanks to Lothar "the Great" Haensler, Tom Archer, Bruno Paris and all the other wonderful people who made and make Codeguru a great place. Come back soon, you Gurus. Iouri May 4th, 2001, 07:02 AM You also can make the cell multiline Private Declare Function SendMessage Lib "user32" Alias _ "SendMessageA" _ (ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ lParam As Any) As Long Const EM_GETLINECOUNT = &HBA Private Sub Command1_Click() Dim ColLoop As Long Dim RowLoop As Long 'Turn off redrawing to avoid flickering MSFlexGrid1.Redraw = False For ColLoop = 0 To MSFlexGrid1.Cols - 1 MSFlexGrid1.ColWidth(ColLoop) = 2500 For RowLoop = 0 To MSFlexGrid1.Rows - 1 ReSizeCellHeight RowLoop, ColLoop Next RowLoop Next ColLoop 'Turn redrawing back on MSFlexGrid1.Redraw = True End Sub Public Sub ReSizeCellHeight(MyRow As Long, MyCol As Long) Dim LinesOfText As Long Dim HeightOfLine As Long 'Set MSFlexGrid to appropriate Cell MSFlexGrid1.Row = MyRow MSFlexGrid1.Col = MyCol 'Set textbox width to match current width of selected cell Text1.Width = MSFlexGrid1.ColWidth(MyCol) 'Set font info of textbox to match FlexGrid control Text1.Font.Name = MSFlexGrid1.Font.Name Text1.Font.Size = MSFlexGrid1.Font.Size Text1.Font.Bold = MSFlexGrid1.Font.Bold Text1.Font.Italic = MSFlexGrid1.Font.Italic Text1.Font.Strikethrough = MSFlexGrid1.Font.Strikethrough Text1.Font.Underline = MSFlexGrid1.Font.Underline 'Set font info of form to match FlexGrid control Me.Font.Name = MSFlexGrid1.Font.Name Me.Font.Size = MSFlexGrid1.Font.Size Me.Font.Bold = MSFlexGrid1.Font.Bold Me.Font.Italic = MSFlexGrid1.Font.Italic Me.Font.Strikethrough = MSFlexGrid1.Font.Strikethrough Me.Font.Underline = MSFlexGrid1.Font.Underline 'Put the text from the selected cell into the textbox Text1.Text = MSFlexGrid1.Text 'Get the height of the text in the textbox HeightOfLine = Me.TextHeight(Text1.Text) 'Call API to determine how many lines of text are in text box LinesOfText = SendMessage(Text1.hwnd, EM_GETLINECOUNT, 0&, 0&) 'Check to see if row is not tall enough If MSFlexGrid1.RowHeight(MyRow) <= (LinesOfText * HeightOfLine) Then 'Adjust the RowHeight based on the number of lines in textbox MSFlexGrid1.RowHeight(MyRow) = LinesOfText * HeightOfLine End If End Sub Iouri Boutchkine iouri@hotsheet.com codeguru.com
Copyright Internet.com Inc., All Rights Reserved. |