Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разработка компонента на основе TStringGrid 
:(
    Опции темы
FShadow
Дата 8.12.2006, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 8.12.2006
Где: Беларусь, г. Минс к

Репутация: -1
Всего: -1



Мастера помогите создать компонент а то совсем запутался.
У TStringGrid есть такое свойство Cells: 
Код

TStringGrid = class(TDrawGrid)
  private
   ...
    function GetCells(ACol, ARow: Integer): string;
   ...
    procedure SetCells(ACol, ARow: Integer; const Value: string);
    ...
  protected
    ....
  public
    ...
    property Cells[ACol, ARow: Integer]: string read GetCells write SetCells;
    ...
  end;
...
function TStringGrid.GetCells(ACol, ARow: Integer): string;
var
  ssl: TStringSparseList;
begin
  ssl := TStringSparseList(TSparseList(FData)[ARow]);
  if ssl = nil then Result := '' else Result := ssl[ACol];
end;
procedure TStringGrid.SetCells(ACol, ARow: Integer; const Value: string);
begin
  TStringGridStrings(EnsureDataRow(ARow))[ACol] := Value;
  EnsureColRow(ACol, True);
  EnsureColRow(ARow, False);
  Update(ACol, ARow);
end;
...


в коде оно пишется  например так: StringGrid.Cells[0,0] := 'rrrrrrrr';

Я хочу сделать компонент который бы позволял задавать выравнивание в конкретной ячейке а содержимо ячейки хранилось бы в свойстве Text: string, т.е. код выглядел бы так:
Код

StringGrid.Cells[0,0].Text := 'rrrrrrrr';
StringGrid.Cells[0,0].Align:= atLeft;

Align был бы такого типа TAlignText = (atLeft, atCenter, atRight);

И вот в принципе вопрос: как изменить свойство Cells,  процедуру SetCells и функцию  GetCells чтобы все это реализовать?
Помогите пожалуйста.
PM MAIL   Вверх
Romikgy
Дата 9.12.2006, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



алинг надо делать только когда отрисовываешь что есть в гриде (в ячейке)
если никто не ответит я попозже пороюсь


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
FShadow
Дата 9.12.2006, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 8.12.2006
Где: Беларусь, г. Минс к

Репутация: -1
Всего: -1



Как алигн делать я знаюю Я не знаю как свойство Cells пределать так как я хочу
Код

StringGrid.Cells[0,0].Text := 'rrrrrrrr';    
StringGrid.Cells[0,0].Align:= atLeft;


Добавлено @ 00:28 
Вся сложность у меня в том что мне надо в мою процедуру передать координаты ячейки [ACol, ARow] и чтоб моим переменным присвоить значения ACol, ARow соответсвенно
PM MAIL   Вверх
Romikgy
Дата 9.12.2006, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



создай класс который будет содержать все настройки типа 
Цитата(FShadow @  8.12.2006,  23:22 Найти цитируемый пост)
Text 


Цитата(FShadow @  8.12.2006,  23:22 Найти цитируемый пост)
Align

и в
Цитата(FShadow @  8.12.2006,  22:52 Найти цитируемый пост)
property Cells[ACol, ARow: Integer]: string read GetCells write SetCells;

надо возвращать класс допустим Tmyparam он
Код

property Cells[ACol, ARow: Integer]: Tmyparam read GetCells write SetCells;



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
FShadow
Дата 9.12.2006, 01:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 8.12.2006
Где: Беларусь, г. Минс к

Репутация: -1
Всего: -1



Прости за глупый вопрос но как его создать код напиши пожалуйста примерный

Добавлено @ 01:06 
Будет что нибудь типо
Код

Tmyparam = class(?????)
  Text: string;
  Align: TAlign
end;


а что вместо вопросов
PM MAIL   Вверх
Romikgy
Дата 10.12.2006, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



да хоть и так
Код

Tmyparam = class
  Text: string;
  Align: TAlign
end;



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
FShadow
Дата 10.12.2006, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 8.12.2006
Где: Беларусь, г. Минс к

Репутация: -1
Всего: -1



А как изменятся функция Set и процедура Get?
PM MAIL   Вверх
Romikgy
Дата 10.12.2006, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Код

function GetCells(ACol, ARow: Integer): Tmyparam ;
   ...
    procedure SetCells(ACol, ARow: Integer; const Value: Tmyparam );



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0487 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.