Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.12;
Скачать: CL | DM;

Вниз

DrawGrid   Найти похожие ветки 

 
Rand ©   (2004-11-26 03:14) [0]

Как поместить данные(иконки/текст) в сабж. В СтринГрид просто, но только текст ((


 
ЮЮ ©   (2004-11-26 03:33) [1]

данные(иконки/текст) следует поместить в некую структуру в памяти, а в DrawGrid.OnDrawCell мзвлекать из неё соответсвующие рисуемой ячейке данные и рисовать. Потому он и DrawGrid


 
Rand ©   (2004-11-26 04:02) [2]


> ЮЮ ©   (26.11.04 03:33) [1]
> данные(иконки/текст) следует поместить в некую структуру
> в памяти, а в DrawGrid.OnDrawCell мзвлекать из неё соответсвующие
> рисуемой ячейке данные и рисовать. Потому он и DrawGrid

Так как малевать? Пример есть?


 
kostan ©   (2004-11-26 05:25) [3]

для примера (разберись):

procedure TF_EditDev.Grid_comDrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
var
w_bm,h_bm:integer;
begin
//gdFixed

//timerProverka.enabled:=true;//проверка при любой перерисовке

 with Sender as TStringGrid do
 begin
  DefaultDrawing:=false;

  if Arow>0 then
  begin
    Canvas.Brush.Color :=clsilver;
    Canvas.FillRect(Rect);
  end;

  if (State=[gdfocused,gdSelected])  then
  begin

    Canvas.Brush.Color :=clwhite;
    Canvas.FillRect(Rect);
  //   canvas.font.Size:=8;

  end;

     if objects[ACol,ARow] is Tbitmap
     then
      begin
       w_bm:=(objects[ACol,ARow] as tbitmap).width;
       h_bm:=(objects[ACol,ARow] as tbitmap).height;

       if Grid_com.ColWidths[acol]<w_bm then
       Grid_com.ColWidths[acol]:=w_bm;

       if Grid_com.RowHeights[arow]<h_bm then
       Grid_com.RowHeights[arow]:=h_bm;

       if (Grid_com.RowHeights[arow]>h_bm) and (h_bm>30) then
       Grid_com.RowHeights[arow]:=h_bm;

     
       Canvas.Draw(Rect.left,Rect.top,(objects[ACol,ARow] as Tbitmap));
       exit;
      end;

     if (Cells[1,ARow]="_VidDev") and (Acol=2)
     then
      begin
         canvas.font.color:=clBlue;

//          v_str:=TestDev.GetListval("_VidDev");

         v_str:=Cells[2,ARow];

         if v_str="DD_" then v_str:="ДИСКРЕТНЫЙ";
         if v_str="DA_" then v_str:="АНАЛОГОВЫЙ";
         canvas.TextOut(Rect.Left,Rect.Top,v_str);
         exit;
      end;

     if (copy(Grid_com.Cells[1,Arow],1,6)="DAG_FC") and (Acol=2)
     then
      begin
      v_str:=Grid_com.Cells[1,Arow];

      //i_ind:=Canvas.Brush.Color;
      Canvas.Brush.Color:=testDev.GetListval(v_str);
      Canvas.FillRect(Rect);
      //Canvas.Brush.Color:=i_ind;
       exit;
      end;

         if ((Cells[1,ARow]="_Ident") or (Cells[1,ARow]="_Imafile")) and
            (Acol=2)
          then canvas.font.color:=clNavy
          else canvas.font.color:=clBlack;

         if Arow=0
         then
          begin
           canvas.font.Size:=12;
           canvas.font.color:=clNavy;
           canvas.font.Style:=[fsBold];
          end
         else
          begin
//            canvas.font.Size:=8;
           canvas.font.color:=clblack;
          // canvas.font.Style:=[];
          end;

         canvas.TextOut(Rect.Left,Rect.Top,Cells[ACol,ARow]);

          {else font.Size:=10;}

  DefaultDrawing:=true;
 end;
end;
//



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

Текущий архив: 2004.12.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
3-1100166372
denis24
2004-11-11 12:46
2004.12.12
insert into....select f1,f2....


1-1101888371
Yurij-7
2004-12-01 11:06
2004.12.12
Логин в сети


14-1100982847
Игорь Шевченко
2004-11-20 23:34
2004.12.12
Общество потребления


9-1092392415
MonoLife
2004-08-13 14:20
2004.12.12
Функция странно работает...


1-1101728709
Bobby Digital
2004-11-29 14:45
2004.12.12
Combo