📄 aligredi.pas
字号:
btn_font.down:=result;
if result then
(*@/// _grid.SetFont...(...,fontdialog.font); *)
case grp_what.itemindex of
0: _grid.SetFontCell(ACol,ARow,fontdialog.font);
1: _grid.SetFontCol(ACol,fontdialog.font);
2: _grid.SetFontFixedCol(ACol,fontdialog.font);
3: _grid.SetfontRow(ARow,fontdialog.font);
4: _grid.SetFontFixedRow(ARow,fontdialog.font);
end
(*@\\\0000000401*)
else
(*@/// _grid.Resetfont...(...); *)
case grp_what.itemindex of
0: _grid.ResetfontCell(ACol,ARow);
1: _grid.ResetfontCol(ACol);
2: _grid.ResetfontFixedCol(ACol);
3: _grid.ResetfontRow(ARow);
4: _grid.ResetfontFixedRow(ARow);
end;
(*@\\\0000000206*)
if _grid.edit_visible then _grid.Update_Edit;
finally
changing:=false;
end;
end;
(*@\\\*)
(*@/// procedure Taligrid_edit.edt_readClick(Sender: TObject); *)
procedure Taligrid_edit.edt_readClick(Sender: TObject);
var
ACol,ARow: longint;
_grid: THackgrid;
begin
if changing then EXIT;
try
changing:=true;
_grid:=THackgrid(grid);
ACol:=grid.col;
ARow:=grid.row;
case edt_read.state of
(*@/// cbUnChecked: *)
cbUnChecked:
case grp_what.itemindex of
0: _grid.EditCell[ACol,ARow]:=true;
1: _grid.EditCol[ACol]:=true;
3: _grid.EditRow[ARow]:=true;
end;
(*@\\\0000000105*)
(*@/// cbGrayed: *)
cbGrayed:
case grp_what.itemindex of
0: _grid.ResetEditCell(ACol,ARow);
1: _grid.ResetEditCol(ACol);
3: _grid.ResetEditRow(ARow);
end;
(*@\\\*)
(*@/// cbChecked: *)
cbChecked:
case grp_what.itemindex of
0: _grid.EditCell[ACol,ARow]:=false;
1: _grid.EditCol[ACol]:=false;
2: _grid.EditRow[ARow]:=false;
end;
(*@\\\0000000103*)
end;
finally
changing:=false;
end;
end;
(*@\\\0000000D01*)
(*@/// procedure Taligrid_edit.btn_alignClick(Sender: TObject); *)
procedure Taligrid_edit.btn_alignClick(Sender: TObject);
var
ACol,ARow: longint;
_grid: THackgrid;
begin
if changing then EXIT;
try
changing:=true;
_grid:=THackgrid(grid);
ACol:=grid.col;
ARow:=grid.row;
if false then
(*@/// else if btn_left.down then *)
else if btn_left.down then begin
case grp_what.itemindex of
0: _grid.AlignCell[ACol,ARow]:=alLeft;
1: _grid.AlignCol[ACol] :=alLeft;
2: _grid.FixAlignCol[ACol] :=alLeft;
3: _grid.AlignRow[ARow] :=alLeft;
4: _grid.FixAlignRow[ARow] :=alLeft;
end;
end
(*@\\\*)
(*@/// else if btn_right.down then *)
else if btn_right.down then begin
case grp_what.itemindex of
0: _grid.AlignCell[ACol,ARow]:=alRight;
1: _grid.AlignCol[ACol] :=alRight;
2: _grid.FixAlignCol[ACol] :=alRight;
3: _grid.AlignRow[ARow] :=alRight;
4: _grid.FixAlignRow[ARow] :=alRight;
end;
end
(*@\\\0000000326*)
(*@/// else if btn_center.down then *)
else if btn_center.down then begin
case grp_what.itemindex of
0: _grid.AlignCell[ACol,ARow]:=alCenter;
1: _grid.AlignCol[ACol] :=alCenter;
2: _grid.FixAlignCol[ACol] :=alCenter;
3: _grid.AlignRow[ARow] :=alCenter;
4: _grid.FixAlignRow[ARow] :=alCenter;
end;
end
(*@\\\0000000201*)
(*@/// else ResetAlignment *)
else begin
case grp_what.itemindex of
0: _grid.ResetAlignCell(ACol,ARow);
1: _grid.ResetAlignCol(ACol);
2: _grid.ResetAlignFixedCol(ACol);
3: _grid.ResetAlignRow(ARow);
4: _grid.ResetAlignFixedRow(ARow);
end;
end;
(*@\\\*)
if _grid.edit_visible then _grid.Update_Edit;
finally
changing:=false;
end;
end;
(*@\\\*)
(*@/// procedure Taligrid_edit.btn_wrapClick(Sender: TObject); *)
procedure Taligrid_edit.btn_wrapClick(Sender: TObject);
var
ACol,ARow: longint;
_grid: THackgrid;
begin
if changing then EXIT;
try
changing:=true;
_grid:=THackgrid(grid);
ACol:=grid.col;
ARow:=grid.row;
if false then
(*@/// else if btn_ww_none.down then *)
else if btn_ww_none.down then begin
case grp_what.itemindex of
0: _grid.WordwrapCell[ACol,ARow]:=ww_none;
1: _grid.WordwrapCol[ACol] :=ww_none;
2: _grid.FixWordwrapCol[ACol] :=ww_none;
3: _grid.WordwrapRow[ARow] :=ww_none;
4: _grid.FixWordwrapRow[ARow] :=ww_none;
end;
end
(*@\\\0000000114*)
(*@/// else if btn_ww_wrap.down then *)
else if btn_ww_wrap.down then begin
case grp_what.itemindex of
0: _grid.WordwrapCell[ACol,ARow]:=ww_wordwrap;
1: _grid.WordwrapCol[ACol] :=ww_wordwrap;
2: _grid.FixWordwrapCol[ACol] :=ww_wordwrap;
3: _grid.WordwrapRow[ARow] :=ww_wordwrap;
4: _grid.FixWordwrapRow[ARow] :=ww_wordwrap;
end;
end
(*@\\\0000000114*)
(*@/// else if btn_ww_elli.down then *)
else if btn_ww_elli.down then begin
case grp_what.itemindex of
0: _grid.WordwrapCell[ACol,ARow]:=ww_ellipsis;
1: _grid.WordwrapCol[ACol] :=ww_ellipsis;
2: _grid.FixWordwrapCol[ACol] :=ww_ellipsis;
3: _grid.WordwrapRow[ARow] :=ww_ellipsis;
4: _grid.FixWordwrapRow[ARow] :=ww_ellipsis;
end;
end
(*@\\\0000000301*)
(*@/// else ResetWordwrap *)
else begin
case grp_what.itemindex of
0: _grid.ResetWordwrapCell(ACol,ARow);
1: _grid.ResetWordwrapCol(ACol);
2: _grid.ResetWordwrapFixedCol(ACol);
3: _grid.ResetWordwrapRow(ARow);
4: _grid.ResetWordwrapFixedRow(ARow);
end;
end;
(*@\\\*)
finally
changing:=false;
end;
end;
(*@\\\0000000119*)
(*@/// procedure Taligrid_edit.grp_cellClick(Sender: TObject); *)
procedure Taligrid_edit.grp_cellClick(Sender: TObject);
var
_grid: THackgrid;
begin
_grid:=THackgrid(grid);
if grp_cell.itemindex=show_cell then EXIT;
_grid.Hideedit(false);
show_cell:=grp_cell.itemindex;
case show_cell of
0: begin
_grid.CellsToList(_grid.FHintCell);
_grid.ListToCells(_grid.FCell);
end;
1: begin
_grid.CellsToList(_grid.FCell);
_grid.ListToCells(_grid.FHintCell);
end;
end;
end;
(*@\\\0000000711*)
(*@/// procedure Taligrid_edit.gridSelectCell(Sender: TObject; Col, Row: Longint...); *)
procedure Taligrid_edit.gridSelectCell(Sender: TObject; Col,
Row: Longint; var CanSelect: Boolean);
begin
Update_Group(col,row);
end;
(*@\\\0000000401*)
(*@/// procedure Taligrid_edit.grp_whatClick(Sender: TObject); *)
procedure Taligrid_edit.grp_whatClick(Sender: TObject);
begin
Update_Group(grid.col,grid.row);
end;
(*@\\\0000000301*)
(*@/// procedure Taligrid_edit.edt_wh_Change(Sender: TObject); *)
procedure Taligrid_edit.edt_wh_Change(Sender: TObject);
begin
if changing then EXIT;
grid.ColWidths[grid.col]:=edt_width.value;
grid.RowHeights[grid.row]:=edt_height.value;
end;
(*@\\\0000000401*)
(*@/// procedure Taligrid_edit.Update_Group(col,row:longint); *)
procedure Taligrid_edit.Update_Group(col,row:longint);
var
v:TCellProperties;
Alignment: TMyAlign;
wordwrap: t_wordwrap;
editable: byte;
font,brush: pointer;
_grid: THackgrid;
begin
try
changing:=true;
_grid:=THackgrid(grid);
if (Col>=0) or (Row>=0) then begin
case grp_what.itemindex of
0: v:=GetItemCell(Col,Row,_grid.FPropCell);
1: v:=GetItemCol(Col,_grid.FPropCol);
2: v:=GetItemCol(Col,_grid.FFPropCol);
3: v:=GetItemCol(Row,_grid.FPropRow);
4: v:=GetItemCol(Row,_grid.FFPropRow);
else v:=NIL;
end;
(*@/// Set alignment checks *)
if v=NIL then
Alignment:=alDefault
else
Alignment:=v.align;
case alignment of
alRight : btn_right.down:=true;
alLeft : btn_left.down:=true;
alCenter: btn_center.down:=true;
alDefault: begin
btn_left.down:=false;
btn_right.down:=false;
btn_center.down:=false;
end;
end;
(*@\\\0000000201*)
(*@/// Set wordwrap checks *)
if v=NIL then
Wordwrap:=ww_Default
else
Wordwrap:=v.wordwrap;
case Wordwrap of
ww_none : btn_ww_none.down:=true;
ww_wordwrap : btn_ww_wrap.down:=true;
ww_ellipsis : btn_ww_elli.down:=true;
ww_default : begin
btn_ww_none.down:=false;
btn_ww_wrap.down:=false;
btn_ww_elli.down:=false;
end;
end;
(*@\\\*)
(*@/// Set editable checks *)
edt_read.enabled:=(grp_what.itemindex<>2) and (grp_what.itemindex<>4);
if (v=NIL) or (grp_what.itemindex=2) or (grp_what.itemindex=4) then
editable:=0
else
editable:=v.editable;
case editable of
0: edt_read.state:=cbGrayed;
2: edt_read.state:=cbUnChecked;
1: edt_read.state:=cbChecked;
end;
(*@\\\0000000A04*)
(*@/// Set font checks *)
if v=NIL then
font:=NIL
else
font:=v.font;
if (font=NIL) or not TMyFont(font).Haschanged then
btn_font.down:=false
else
btn_font.down:=true;
(*@\\\*)
(*@/// Set color/brush checks *)
if v=NIL then
brush:=NIL
else
brush:=v.brush;
if (Brush=NIL) or not TMyBrush(Brush).Haschanged then
btn_color.down:=false
else
btn_color.down:=true;
(*@\\\0000000801*)
edt_width.value :=grid.ColWidths[col] ;
edt_height.value:=grid.RowHeights[row];
case grp_what.itemindex of
0: grp_edit.caption:='Cell '+inttostr(col)+'/'+inttostr(row);
1: grp_edit.caption:='Column '+inttostr(col);
2: grp_edit.caption:='Fixed column '+inttostr(col);
3: grp_edit.caption:='Row '+inttostr(row);
4: grp_edit.caption:='Fixed Row '+inttostr(row);
end;
end;
finally
changing:=false;
end;
end;
(*@\\\0000001801*)
(*@\\\0000000110*)
(*@\\\0000000B01*)
end.
(*@\\\0001000015000601*)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -