Цитата:
Сообщение от
samolalex
Это просьба пользователей. Да, число столбцов и строк будет постоянным.
В таблице отображаются данные двумерного массива, выбрал этот контрол из-за возможности указания подписей (label'ов) как строк, так и столбцов. Конечно, если бы у ListControl'a была бы такая же возможность (label'ы строк), то предпочел бы его.
Возьмите ActiveX OWC Spreadsheet. Там и полосы прокрутки можно скрывать, и диапазон ячеек фиксировать, чтобы пользователь не "уехал" за пределы зоны отображения, и свои заголовки (в отличие от обычного Excel) задавать для строк и колонок.
P.S. Для ознакомления с возможностями этого подхода нарисуйте Spreadsheet на листе Excel (
http://www.axforum.info/forums/blog.php?b=48), а потом выполните такой код VBA (взят из оригинального хелпа с небольшой добавкой от меня):
Код:
Sub Create_Datasheet()
Dim hdrColHeadings
Dim hdrRowHeadings
Dim wndActive
Dim Spreadsheet1 As OWC10.Spreadsheet
Set Spreadsheet1 = ActiveSheet.OLEObjects(1).Object
Set wndActive = Spreadsheet1.ActiveWindow
' Hide various UI elements.
wndActive.DisplayWorkbookTabs = False
Spreadsheet1.DisplayToolbar = False
' Display the title bar and set it's caption.
Spreadsheet1.DisplayTitleBar = True
Spreadsheet1.TitleBar.Caption = "Revenue Worksheet"
' Resize the spreadsheet component.
Spreadsheet1.AutoFit = True
' Limit the viewable range of the active sheet.
wndActive.ViewableRange = "A1:D5"
' Set a variable to the column headings in the active window.
Set hdrColHeadings = wndActive.ColumnHeadings
' Set a variable to the row headings in the active window.
Set hdrRowHeadings = wndActive.RowHeadings
' Set the headings of columns A through D.
hdrColHeadings(1).Caption = "Qtr 1"
hdrColHeadings(2).Caption = "Qtr 2"
hdrColHeadings(3).Caption = "Qtr 3"
hdrColHeadings(4).Caption = "Qtr 4"
' Set the headings of rows 1 though 5.
hdrRowHeadings(1).Caption = "1996"
hdrRowHeadings(2).Caption = "1997"
hdrRowHeadings(3).Caption = "1998"
hdrRowHeadings(4).Caption = "1999"
hdrRowHeadings(5).Caption = "2000"
End Sub