delphi DBGrid 색상 변경 기술
[delphi] view plaincopy
procedure TMainFrm.First_DGDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if DM.FirstListStatus.AsString='프로덕션'then begin First_DG.Canvas.Font.Color:=clGreen
end
else begin
First_DG.Canvas.Font.Color:=clRed;
end;
if DataCol = 4 then
First_DG.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
2. 다양한 변화 방식
view plaincopy
procedure TMainForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;State: TGridDrawState);
var i :integer;
begin
if gdSelected in State then Exit;
//헤더의 글꼴과 배경색을 정의합니다: for i :=0 to (Sender as TDBGrid).Columns.Count-1 do
begin
(Sender as TDBGrid).Columns[i].Title.Font.Name: = '송체';//글꼴 (Sender as TDBGrid).Columns[i].Title.Font.Size :=9;//글꼴 크기 (Sender as TDBGrid).Columns[i].Title.Font.Color :=$000000ff;//글꼴 색상(빨간색) (Sender as TDBGrid).Columns[i].Title.Color :=$0000ff00;//배경색(녹색) end;
//칸막이 격자 배경색 바꾸기: if Query1.RecNo mod 2 = 0 then
(Sender as TDBGrid).Canvas.Brush.Color: = clInfoBk//배경색 정의 else
(Sender as TDBGrid).Canvas.Brush.Color := RGB(191, 255, 223);//배경색 정의//메쉬 선의 색상 정의: DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
with (Sender as TDBGrid).Canvas do//cell 테두리 그리기 begin
Pen.Color := $00ff0000;//펜 색상 정의(파란색) MoveTo(Rect.Left, Rect.Bottom);//화필 포지셔닝 LineTo(Rect.Right, Rect.Bottom);//파란색 가로줄 그리기 Pen.Color := $0000ff00;//붓 색상 정의(녹색) MoveTo(Rect.Right, Rect.Top);//화필 포지셔닝 LineTo(Rect.Right, Rect.Bottom);//녹색 세로줄 그리기 end;
end;
3. 세로 횡단보도 효과: 격자의 홀수열과 짝수열을 각각 다른 색으로 표시하여 서로 인접한 데이터 열을 구별한다.
view plaincopy
Case DataCol Mod 2 = 0 of
True: DbGrid1.Canvas.Brush.Color:= clBlue;file://짝수 열용 파란색 False: DbGrid1.Canvas.Brush.Color:= clAqua;file://홀수열용 연두색End;
DbGrid1.Canvas.Pen.Mode:=pmMask;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
4. 현재 셀 효과를 빨간색으로 강조 표시하는 수직 횡단보도: 현재 선택한 필드를 강조 표시합니다.
view plaincopy
Case DataCol Mod 2 = 0 of
True: DbGrid1.Canvas.Brush.Color:= clBlue;file://짝수 열용 파란색False: DbGrid1.Canvas.Brush.Color:= clAqua;file://홀수열용 연두색End;
If ((State = [gdSelected]) or (State=[gdSelectedgdFocused])) then
If Not DbGrid1.SelectedRows.CurrentRowSelected then
DbGrid1.Canvas.Brush.Color:=clRed;file://현재 선택한 칸에 빨간색 보이기 DbGrid1.Canvas.Pen.Mode:=pmMask;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
5. 데이터 격자에 현재 선택한 줄을 빨간색으로 강조 표시합니다.
view plaincopy
DbGrid 컨트롤을 설정하는 Options 속성의 dgRowSelect 속성은 True이고 Color 속성은 clAqua(배경색)DbGrid의 DrawColumnCell 이벤트에 다음과 같은 코드를 작성합니다.
if ((State = [gdSelected]) or (State=[gdSelected gdFocused])) then
DbGrid1.Canvas.Brush.color:=clRed;file://현재 줄은 빨간색으로 표시되고 다른 줄은 배경의 연두색을 사용합니다
DbGrid1.Canvas.pen.mode:=pmmask;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
6. 줄의 뚜렷한 횡단보도 효과: 현재 줄을 돋보이게 하고 서로 다른 열(필드)을 구분한다.
view plaincopy
if ((State = [gdSelected]) or (State=[gdSelectedgdFocused])) then
begin
Case DataCol Mod 2 = 0 of
True : DbGrid1.Canvas.Brush.color:=clRed;file://현재 선택한 줄의 짝수 열에 빨간색이 표시됩니다.
False: DbGrid1.Canvas.Brush.color:=clblue;file://현재 선택한 줄의 홀수 열에 파란색이 표시됩니다.
end;
DbGrid1.Canvas.pen.mode:=pmmask;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
7. 가로 횡단보도, 동시에 빨간색으로 현재 행효과를 돋보이게 한다.
view plaincopy
Case Table1.RecNo mod 2 = 0 of file://데이터 세트의 레코드 번호에 따라 판단True : DbGrid1.Canvas.Brush.color:=clAqua;file://짝수 줄은 연두색으로 표시False: DbGrid1.Canvas.Brush.color:=clblue;file://홀수 줄은 파란색으로 표시end;
if ((State = [gdSelected]) or (State=[gdSelectedgdFocused]) then file://선택한 줄을 빨간색으로 표시 DbGrid1.Canvas.Brush.color:=clRed;
DbGrid1.Canvas.pen.mode:=pmMask;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
8. 쌍방향 횡단보도 효과: 즉 줄 사이를 서로 다른 색으로 구분하는 동시에 선택한 줄은 세로 횡단보도 효과로 서로 다른 열을 구분한다.
view plaincopy
Case Table1.RecNo mod 2 = 0 of file://데이터 세트의 레코드 번호에 따라 판단True : DbGrid1.Canvas.Brush.color:=clAqua;file://짝수 줄은 연두색으로 표시False: DbGrid1.Canvas.Brush.color:= clblue;file://홀수 줄은 파란색으로 표시end;
If ((State = [gdSelected]) or (State=[gdSelectedgdFocused])) then
Case DataCol mod 2 = 0 of
True : DbGrid1.Canvas.Brush.color:=clRed;file://현재 선택한 줄의 짝수 열을 빨간색으로 False: DbGrid1.Canvas.Brush.color:= clGreen;file://현재 선택한 줄의 홀수 열을 녹색으로 표시합니다 end;
DbGrid1.Canvas.pen.mode:=pmMask;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.