Текущий архив: 2007.11.18;
Скачать: CL | DM;
Вниз
А вот такой вопрос, Нужно нарисовать таблицу 32х16 ячеек Найти похожие ветки
← →
smartleds (2007-10-23 20:07) [0]в каждой ячейке должно быть число от 0 до 255 лучше внизу ячейки.
И эта число должно быть отображено в ячейки графически, например, число 128 ячейка закрашена на половину серым цветом, число 255 вся ячейка закрашена черным , цифра 0 ячейка не закрашена.
Получается что-то типа диаграммы , подскажите плз какой компонент для этого лучше использовать?
← →
@!!ex © (2007-10-23 20:14) [1]StringGrid
← →
@!!ex © (2007-10-23 20:18) [2]Почему 32х16, когда должно быть 16х16??
← →
smartleds (2007-10-23 20:19) [3]А как ячейку в нем наполовину закрасить?
← →
@!!ex © (2007-10-23 20:19) [4]
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
Value:byte;
begin
Value:=(ARow*StringGrid1.ColCount+ACol);
StringGrid1.Canvas.Brush.Color:=RGB(Value,Value,Value);
StringGrid1.Canvas.FillRect(REct);
StringGrid1.Canvas.TextOut(REct.Left,Rect.Top,IntToStr(Value));
end;
наслаждайся.
← →
@!!ex © (2007-10-23 20:23) [5]На половину(вернее на четверть):
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
ARect: TRect; State: TGridDrawState);
var
Value:byte;
RC:TRect;
begin
RC:=RECT(ARect.Left,ARect.Top,ARect.LEft+((ARect.Right-ARect.Left) div 2),ARect.Top+((ARect.Bottom-ARect.Top) div 2) );
Value:=(ARow*StringGrid1.ColCount+ACol);
StringGrid1.Canvas.Brush.Color:=RGB(Value,Value,Value);
StringGrid1.Canvas.FillRect(RC);
StringGrid1.Canvas.TextOut(AREct.Left,ARect.Top,IntToStr(Value));
end;
Больше ничего писать не буду. Если идиот, не мои проблемы, а если нет - разберешся.
← →
smartleds (2007-10-23 20:29) [6]Спасибо!
← →
smartleds (2007-10-23 20:34) [7]почему 16х16 , у меня 512 ячеек, эта таблица просто является визуальным отображением массива для лучшего восприятия.
Страницы: 1 вся ветка
Текущий архив: 2007.11.18;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.032 c