Показать сообщение отдельно
Старый 23.11.2010, 11:42   #4  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от 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

Последний раз редактировалось Gustav; 23.11.2010 в 11:50.
За это сообщение автора поблагодарили: samolalex (1), sashanka (1).