Форум программистов, компьютерный форум, киберфорум
Комментарии
Войти
Регистрация
Восстановить пароль
  1. Старый комментарий
    Запись от Popcornrus размещена 29.01.2017 в 17:23 Popcornrus вне форума
  2. Старый комментарий
    Аватар для Сергей 190
    Объединение ячеек в шапке таблицы TStringGrid
    Перетащил на StringGrid кнопку Button. Нормальная "ячейка" получилась.
    Запись от Сергей 190 размещена 24.11.2016 в 12:56 Сергей 190 вне форума
  3. Старый комментарий
    Аватар для DenNik
    Объединение ячеек в шапке таблицы TStringGrid
    а почему бы не объединить ячейки визуально путем перекрытия метода отрисовки.
    вот набросал код с созданием наследника таблицы в пределах проекта.
    происходит визуальное объединение ячеек с возможностью изменения ширины столбца, входящего в диапазон.
    единственный небольшой глюк вылазит, когда стиль таблицы равен gdsClassic.
    Кликните здесь для просмотра всего текста
    Delphi
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    
    unit Unit2;
     
    interface
     
    uses
      Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
      Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Grids, Vcl.StdCtrls, Vcl.ExtCtrls;
     
    type
      // наследник таблицы
      TStringGrid = class(Vcl.Grids.TStringGrid)
      protected
        procedure DrawCell(ACol: Integer; ARow: Integer; ARect: TRect;
          AState: TGridDrawState); override;
      end;
     
      TForm2 = class(TForm)
        StringGrid1: TStringGrid;
        procedure FormCreate(Sender: TObject);
      end;
     
    var
      Form2: TForm2;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm2.FormCreate(Sender: TObject);
    var
      i: byte;
    begin
      with StringGrid1 do
      begin
        Cells[0,0]:= '№ п/п';
        Cells[1,0]:= 'Ф.И.О.';
        Cells[7,0]:= 'Итого';
      end;
    end;
     
    { TStringGrid }
     
    procedure TStringGrid.DrawCell(ACol, ARow: Integer; ARect: TRect;
      AState: TGridDrawState);
    var
      NewRect: TRect;
      RLeft: integer;
      Text: string;
    begin
      if (gdFixed in AState) and (ACol = 6) then
      begin
        Text:= 'Баллы';
        // вычисляем объединенный Rect
        RLeft:= CellRect(2,0).Left;
        NewRect:= Bounds(RLeft,ARect.Top,CellRect(6,0).Right-RLeft,ARect.Height);
        // Рисуем стилем, установленным в винде в случае если стиль таблицы не равен gdsClassic
        DrawCellBackground(NewRect,FixedColor,AState,ACol,ARow);
        // здесь не знаю как иначе заставить текст рисоваться с отступом слева
        NewRect.Left:= NewRect.Left + 5;
        Canvas.TextRect(NewRect,Text,[tfLeft,tfSingleLine,tfVerticalCenter]);
      end else inherited;
    end;
     
    end.
    Запись от DenNik размещена 24.11.2016 в 12:24 DenNik вне форума
  4. Старый комментарий
    Аватар для Arigato
    Объединение ячеек в шапке таблицы TStringGrid
    Ну будет там градиент, что это меняет?
    Запись от Arigato размещена 25.06.2016 в 19:09 Arigato вне форума
  5. Старый комментарий
    Аватар для Avazart
    Объединение ячеек в шапке таблицы TStringGrid

    Не по теме:

    Цитата:
    Это у меня такой стиль в системе выставлен.
    Еще лучше )))



    Вы видели как в современной системе в современной IDE выглядит таблица? - заголовки рисуются градиентной заливкой.
    Запись от Avazart размещена 25.06.2016 в 13:09 Avazart вне форума
    Обновил(-а) Avazart 25.06.2016 в 13:12
  6. Старый комментарий
    Аватар для Arigato
    Объединение ячеек в шапке таблицы TStringGrid
    Это у меня такой стиль в системе выставлен. Но на таблицу оно никак не влияет: https://yadi.sk/i/UZeeApB_skV7G
    Запись от Arigato размещена 24.06.2016 в 01:12 Arigato вне форума
  7. Старый комментарий
    Аватар для Avazart
    Объединение ячеек в шапке таблицы TStringGrid
    А это же Delphi7 я то думаю чего интерфейс убогий...
    Ну что ли манифест прикрутите.
    Запись от Avazart размещена 23.06.2016 в 15:55 Avazart вне форума
  8. Старый комментарий
    Аватар для Arigato
    Объединение ячеек в шапке таблицы TStringGrid
    У меня и есть Win7
    Про ширину в предыдущем комментарии написал. Тут только идея. Связать таблицы не проблема, чтобы изменения ширины колонок в шапке меняли ширину и в основной таблице.
    Запись от Arigato размещена 22.06.2016 в 23:03 Arigato вне форума
  9. Старый комментарий
    Аватар для Avazart
    Объединение ячеек в шапке таблицы TStringGrid
    Это 1 пиксель в вашей системе, как это будет выглядеть Win7 не очевидно.
    Плюс стоит проверить VCL-стили.

    И еще стоит приделать изменяемость размеров ширины колонок.
    Запись от Avazart размещена 22.06.2016 в 17:09 Avazart вне форума
  10. Старый комментарий
    Аватар для Arigato
    Объединение ячеек в шапке таблицы TStringGrid
    Это только идея, все можно дописать, таблицы можно связать и так далее. Но если надо быстро сделать таблицу с объединениями, то это самый простой и надежный способ.
    На счет стилей, то не должно бы ничего поплыть, высота и ширина задана в пикселях, рамочка между ячейками у таблицы в один пиксель.
    Запись от Arigato размещена 21.06.2016 в 22:59 Arigato вне форума
  11. Старый комментарий
    Аватар для SatanaXIII
    Объединение ячеек в шапке таблицы TStringGrid
    Ну это не интересно. Был бы хотя бы функционал сортировки/выделения столбцов, кратного изменения ширины столбцов. Хоть что-нибудь.
    Запись от SatanaXIII размещена 21.06.2016 в 14:42 SatanaXIII вне форума
  12. Старый комментарий
    Аватар для Avazart
    Объединение ячеек в шапке таблицы TStringGrid
    Дело в том что при смене "стиля" зазоры и линии между гридами изменятся и отображение может быть корявым.
    Так что советую это проверить.
    Запись от Avazart размещена 21.06.2016 в 14:01 Avazart вне форума
  13. Старый комментарий
    Аватар для Arigato
    Правила чтения шестнадцатеричных чисел (HEX)
    Цитата:
    Сообщение от DenNik Просмотреть комментарий
    уже неверно, ведь система-то шестнадцатеричная!
    Система 16-ричная, но число десять никуда не делось. Только в десятичной оно идет после числа 9, а в 16-ричной - после числа F.
    Запись от Arigato размещена 13.10.2015 в 12:05 Arigato вне форума
  14. Старый комментарий
    Аватар для DenNik
    Правила чтения шестнадцатеричных чисел (HEX)
    Цитата:
    F0 - "эфдесят"
    по логике, получается, это число 150, ан нет
    Запись от DenNik размещена 13.10.2015 в 11:12 DenNik вне форума
  15. Старый комментарий
    Аватар для DenNik
    Правила чтения шестнадцатеричных чисел (HEX)
    Цитата:
    сначала называется десятичная (старшая) часть
    уже неверно, ведь система-то шестнадцатеричная!

    и это неверно, будет вводить в заблуждение
    Цитата:
    C0 - "цэдесят"
    Запись от DenNik размещена 13.10.2015 в 11:09 DenNik вне форума
  16. Старый комментарий
    Запись от Arigato размещена 28.03.2014 в 20:53 Arigato вне форума
  17. Старый комментарий
    Запись от ISergey размещена 28.03.2014 в 20:10 ISergey вне форума
  18. Старый комментарий
    Аватар для Arigato
    Поиск тормозящего процесса в Windows 7
    Иногда полезно знать, как найти проблему без сторонних программ. Особенно, если это не ваш компьютер.
    Запись от Arigato размещена 28.03.2014 в 15:17 Arigato вне форума
  19. Старый комментарий
    Поиск тормозящего процесса в Windows 7
    Цитата:
    Сообщение от magirus Просмотреть комментарий
    правда сейчас при установке хочет напихать всяких яндексбаров, твикеров, но достаточно внимательно смотреть и вовремя снять галки.
    я тоже анвир юзаю, а всякое ... при установке пытается навязать каждая вторая прога
    Запись от MstrGreen размещена 26.03.2014 в 13:31 MstrGreen вне форума
  20. Старый комментарий
    Аватар для magirus
    Поиск тормозящего процесса в Windows 7
    да, у анвира то диспетчер поинформативнее будет...
    сам не первый год пользуюсь. и за все время только одна версия была глюкнутая... 5.2 или 5.3 что ли...
    правда сейчас при установке хочет напихать всяких яндексбаров, твикеров, но достаточно внимательно смотреть и вовремя снять галки.
    Запись от magirus размещена 26.03.2014 в 08:21 magirus вне форума
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru