Delphi中實現TDBGrid列寬度自動調整

2021-09-30 16:02:43 字數 851 閱讀 7984

在delphi中,grid是不能夠自動調整列寬度的。其中也找過很多外掛程式,而未能找到。於是自己寫了乙個函式用於實現這個功能,希望能幫到有需要的人。

procedure tmainform.fixdbgridcolumnwidth(const dbgrid: tdbgrid);

vari : integer;

cuswidth : integer;//改變窗體大小後,資料**寬度

varwidth : integer; //每列寬度

totcolumns : integer;

begin

totcolumns :=0;

cuswidth := abs(dbgrid.clientwidth);

for i := 0 to -1 + dbgrid.columns.count do

begin

inc(totcolumns);

end;

varwidth := cuswidth div totcolumns;

for i := 0 to dbgrid.columns.count-1 do

begin

if i = dbgrid.columns.count-1 then

begin

dbgrid.columns[i].width := varwidth - 16;

endelse begin

dbgrid.columns[i].width := varwidth;

end;

end;

end;

然後在改變窗體大小時,執行fixdbgridcolumnwidth這個過程,傳入tdgrid的乙個例項

delphi中IDispath介面的實現類

delphi中idispath介面的實現類,由oleauto單元的tautoobject類進行了主要實現 實際是進行了乙個轉接實現tautoobject並沒繼承idispatch介面,而是裡面的乙個成員變數繼承了乙個idispatch介面 物件的 vmtautotable 68 位置儲存了auto表...

在delphi執行緒中實現訊息迴圈

在delphi執行緒中實現訊息迴圈 2003 6 22 10 56 00 檢視評語 2003 6 22 11 02 24 我參考了一下msdn,還有windows核心程式設計.寫了乙個類來封裝這個功能,不知道對不對.裡面使用了兩個方法,乙個使用乙個隱含窗體來處理訊息 還有乙個是直接使用thread的...

Delphi中實現DBGrid列寬度自動調整

發現一些erp的軟體的查詢,查詢出來結果之後,有的字段列寬過大,這時候要通過右鍵 初始化 設定 這樣的方式來調整 的列寬。這樣操作讓人覺得麻煩,突然在網上看到這樣的一篇文章,記下來備用。大多數程式設計的愛好者選擇並使用delphi來編寫軟體,都是被其中豐富而功能強大的vcl控制項所吸引。delphi...