在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...