關於delphi7中dbgrid的問題

2021-12-23 03:58:29 字數 1271 閱讀 1684

1樓:

1.,拖一個panel控制元件,設定align屬性為alclient,然後把dbgrid1放置在panel1上面,先隨便拖出一個你想要的大小,然後連線好你**需要顯示的資料。

2.在程式的 implementation部分定義一個stringlist,用來存放變化前的dbgrid1的寬,高,上邊距,左邊距資訊,定義如下:

str: tstringlist;

3.在dbgrid的ondblclick事件下,編寫如下**:

if dbgrid1.align = alclient then //判斷是否最大

begin

dbgrid1.align := alcustom;//設定**為自定義

dbgrid1.width := strtoint(str.strings[0]);//恢復**的高度為變化前

dbgrid1.height := strtoint(str.strings[1]);

dbgrid1.top := strtoint(str.strings[2]);

dbgrid1.left := strtoint(str.strings[3]);

exit;

end;

if dbgrid1.align <> alclient then //判斷是否最大

begin

str := tstringlist.create;

str.add(inttostr(dbgrid1.width)); //存放變化前的**寬度

str.add(inttostr(dbgrid1.height));//存放高度

str.add(inttostr(dbgrid1.top));//存放上邊距

str.add(inttostr(dbgrid1.left));//存放左邊距

dbgrid1.align := alclient;//設定**大小為和panel1一樣大

exit;

end;

我剛做了個demo試了,是可以的,你可以試下,如果還有問題再問我了,呵呵

2樓:

varf正常狀態 : boolean;

procedure btn_雙擊click() ;

begin

if not f正常狀態 then

set正常尺寸();

f正常狀態:= true; //切換為正常狀態標示end

else begin

set最大化();

f正常狀態 := false;

end;

delphi7中把edit空間的值讀取出來寫入資料庫

改成下面這樣 varmz string bm string begin mz edit2.text bm edit4.text adoquery1.close adoquery1.sql.clear adoquery1.sql.add update t person set name mz wher...

delphi程式設計中遇到的小問題,關於delphi軟體程式設計出現的問題

十進位制的小數,如果用二進位制來表示,由於二進位制與十進位制的差異,只能用足夠近的二進位制值來表示,不一定非常精準的。這個問題你只能取一個足夠小的差別範圍來區別了。procedure tform1.button1click sender tobject vart1,t2,z1,t3,tm1,q re...

問佛門中關於前世修行的問題,問一個佛門中關於前世修行的問題

轉世就隨著業力走,轉世成什麼都不一定了,山川大地,蒼蠅螞蟻,披毛戴角,石頭,植物,鬼,人,地獄,都有可能,他要轉世成石頭萬年不輪轉,很可悲,因此要把握今生成就,得人身不易。如果他們當時有約定。不管誰先成佛。都要儘快來渡未成佛者。那就會主動來渡他。如果沒有這樣的約定。只要一心念佛。眾善奉行。一樣有諸佛...