Показать сообщение отдельно
  #3  
Старый 08.08.2011, 23:45
Sahan911 Sahan911 вне форума
Прохожий
 
Регистрация: 08.08.2011
Адрес: Воронеж
Сообщения: 14
Версия Delphi: 2006,7,10
Репутация: 10
Восклицание

Цитата:
Сообщение от angvelem
1. Если создал фиксированную строку, не забывай учитывать её в общем количестве: Нужна 1 считай = 2. То же касается и колонок, при имеющейся фиксированной колонке.
2. Нет.
3. Не понял.
1. Я знаю что для Fix-строк и столбцов нужны еще по 1 строке и столбцу. Я спрашиваю как это обойти(например, как графически сэмитировать их с помощью канвы) Я чтото попытался подобное сделать:
Код:
procedure Form.StringGridDrawCell(Sender: TObject; ACol, ARow: Integer;  Rect: TRect; State: TGridDrawState);
begin
with StringGrid,StringGrid.Canvas do
  begin
  if Cells[ACol,ARow]='Заголовок' then with rect do
    begin
    Pen.Color:=clBlack;
    Brush.Color:=clBtnFace;
    Rectangle(Left-1,top-1,Right+1,bottom+1);
    end;
  FillRect(Rect);
  DrawText(Handle,PChar(Cells[ACol,ARow]),length(Cells[ACol,ARow]),Rect,
  DT_CENTER or DT_VCENTER or DT_SINGLELINE);
  end;
end; 
...
Код:
procedure Form.StringGridSelectCell(Sender: TObject; ACol, ARow: Integer;
  var CanSelect: Boolean);
begin
if StringGrid.Cells[ACol,ARow]='Заголовок' then  CanSelect:=false;
end; 
Но в итоге получаю заголовок в рамке, который нельзя выбрать с клавиатуры. Однако Добиться такой-же красоты мне не получается + текст в колонках меняет цвет если их кликать мышкой. Кто-нибудь подскажите плиз как это решить(не умею я рисовать )
2. На самом деле есть такие функции у StringGrid я нашел: это
Код:
Rows[i].IndexOf('Подстрока')
Cols[i].IndexOf('Подстрока') 
3. Я имел в виду что в диспетчере задач на виндовс 7 и Vista в процессах появился столбец "Описание" где к каждому процессу идет описание: (Пример: taskmgr.exe -> Диспетчер задач Windows).Я спрашиваю как мне сделать тоже самое(MyProgram -> Блабла).
Ответить с цитированием