Вниз
Скачать: CL | DM;

StringGrid или DrowGrid что пользовать и как?   Найти похожие ветки 

← →
Sapient ©   (2002-09-03 16:08) [0]

В общем проблемма такая: Есть
record
MyGrid Value:byte;
Color:Integer;
и есть
Grid: array [1..5,1..5] of MyGrid;

И все это дело нужно как-то отображать на экране в виде клеточек с заливкой цвета Grid[].color и значением Grid[].Value.

StringGrid вроде не подходит, так как там нельзя ячейки красить.
Сответственно нужно пользовать DrowGrid. Вот тут и начинается самое интересное КАК ЭТО СДЕЛАТЬ???


← →
MBo ©   (2002-09-03 16:13) [1]

можно использовать и то и другое.
В OnDrawCell закрашиваешь передаваемый Rect и Canvas.TextOut выводишь значение.
StringGrid удобен тем, что не нужно заводить дополнительнй массив для хранения данных- все можно держать в его Cells


← →
Sapient re   (2002-09-03 16:42) [2]

Сенкс всем за добрые слова...
но напишите пожалуйста процедурку чтобы она Cell с координатами X,Y в Grid-е (String или Draw) Заполняля в соответствии со значением массива Grid[x,y].Color и Grid[x,y].Value. PLZZZZZ.


← →
MBo ©   (2002-09-03 16:48) [3]

StringGrid без фиксированных ячеек

procedure TForm1.FormCreate(Sender: TObject);
var i,j:integer;
begin
Randomize;
with StringGrid1 do begin
for i:=0 to RowCount-1 do
for j:=0 to ColCount-1 do begin
//запись номера ячейки и случайного цвета
Cells[j,i]:=IntToStr(10*i+j)+" "+IntToStr(Random($1000000));
end;
end;
end;

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var j,colr:integer;
value,s:string;
begin
with StringGrid1 do begin
s:=Cells[Acol,Arow];
j:=pos(" ",s);
value:=Copy(s,1,j-1);//извлечение первой подстроки (номер)
colr:=StrToIntDef(Copy(s,j+1,Length(s)-j),$FFFFFF);
//извлечение значения цвета
Canvas.brush.color:=colr;
Canvas.FillRect(Rect);
Canvas.TextOut(rect.left+2,rect.top+2,value);
end;
end;


← →
MBo ©   (2002-09-03 16:55) [4]

P.S
хотя еще лучше хранить цвет в свойстве Cells.Objects, приводя его при хранении к типу Pointer, а при извлечении к Integer



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
4-51018
hovl
2002-07-24 20:10
2002.09.16
Icons to exe-file


1-50861
neodiX
2002-09-04 17:26
2002.09.16
Динамическая загрузка драйвера под NT


1-50819
Z:TCFV
2002-09-03 18:32
2002.09.16
Помогите


1-50708
Сергей Нечепуренко
2002-09-05 12:15
2002.09.16
Как узнать дату создания файла на диске?


14-50958
Феликс
2002-08-21 23:18
2002.09.16
Odigo - прикольная вещь!




   Наверх