Цитата:
Сообщение от 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 -> Блабла).