SG不連續多選 草稿

2021-05-22 18:03:20 字數 1712 閱讀 9180

procedure tform1.stringgrid1drawcell(sender: tobject. acol, arow: integer. rect: trect. state: tgriddrawstate).

begin

with stringgrid1 do

begin

if cells[0,arow] = checked then

begin

canvas.brush.color := clhighlight;

canvas.font.color := clhighlighttext;

endelse

canvas.brush.color := clwindow;

canvas.font.color := clwindowtext;

endcanvas.fillrect(rect);

textrect(rect, rect.left 2, rect.top 2, cells[acol, arow]);

end;

end;

procedure 1.stringgrid1selectcell(sender: tobject. acol, arow: integer. var canselect: boolean);

begin

with 1 do

begin if arow = row then exit;

if cells[0, arow] = checked then

cells[0, arow] := unchecked

else

cells[0, arow] := checked

end;

end;  

如何在tstringgrid控制項中按ctrl鍵選擇多行啊

推薦解答:

在mousedown事件寫入以下**:

procedure tform1.stringgrid1mousedown(sender: tobject;

button: tmousebutton; shift: tshiftstate; x, y: integer);

begin

if ssctrl in shift then

stringgrid1.options := [gofixedvertline,gofixedhorzline,govertline,gohorzline,gorangeselect,gorowselect]

else

stringgrid1.options := [gofixedvertline,gofixedhorzline,govertline,gohorzline,gorowselect] ;

end; 

delphi中stringgrid開啟gorangeselect可以多選,如何知道選擇了那些cell?

procedure tform1.button1click(sender: tobject);

vari,j:integer;

begin

for i:=stringgrid1.selection.left to stringgrid1.selection.right do

begin

for j:=stringgrid1.selection.top to stringgrid1.selection.bottom do

stringgrid1.cells[i,j]:='ok';

end;

end;

mysql id 不連續 自增id不連續問題總結

0 自增id儲存在 在myisam引擎中,儲存在資料檔案中 在innodb引擎中,包括5.7之前的版本,儲存在記憶體中,重啟會根據max id 1重新計算 8.0之後的版本自增值儲存在redo log中 1 自增id不連續原因 1.唯一鍵衝突 2.事務回滾 3.insert.select語句批量申請...

空間不連續理論

100年前,愛因斯坦把空間與時間融入他的廣義相對論之中,形成了乙個四維連續空間 100年後的今天,愛納希 el naschie 發現我們生活的時空空間是不連續,在他的e 無窮 e infinity 理論中,他創立了無窮維的概念。300年前,牛頓在他的三維空間中建立了萬有引力定律,時間只是乙個活動引數...

最大子串行和 連續or不連續

coding utf 8 created on sun oct 14 21 10 28 2018 author dell 功能 最大子串行問題 def test func num list 求陣列中最大子串行的和,子串行可以不連續 也可以寫成if判斷語句只累加整數即可 n len num list ...