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