關於TListView的問題 |
尚未結案
|
小貓
一般會員 發表:14 回覆:23 積分:12 註冊:2002-07-04 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
小貓
一般會員 發表:14 回覆:23 積分:12 註冊:2002-07-04 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
小貓
一般會員 發表:14 回覆:23 積分:12 註冊:2002-07-04 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
將 ListView 的字型設的比你要的還大許多,或是 Size 大 6
然後在 OnAdvancedCustomDrawItem 加入以下程式碼
procedure TForm1.ListView1AdvancedCustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage; var DefaultDraw: Boolean); var FBRect: TRect; i,j,FH, OldSize,MBack: Integer; begin if TListView(Item.ListView).ViewStyle = vsReport then begin DefaultDraw := False; //** 計算 Item 啟始位置 FBRect := Item.DisplayRect(drBounds); OldSize := Item.ListView.Canvas.Font.Size; Item.ListView.Canvas.Font.Size := Item.ListView.Canvas.Font.Size - 6;//** 用這裡調整項目欄位與字形間距的比例,減去 6 以後就是你要的大小 FH := FBRect.Bottom - FBRect.Top Item.ListView.Canvas.Font.Height; if FH < 0 then FH := 0; FBRect.Top := FBRect.Top (FH div 2); //** 輸出字形 Item.ListView.Canvas.TextOut(FBRect.Left 3, FBRect.Top,Item.Caption); for i := 1 to Item.SubItems.Count do begin //** 計算 SubItem 啟始位置 MBack := 0; if (TListView(Item.ListView).Columns.Count - 1) > i then for j := (i 1) to (TListView(Item.ListView).Columns.Count - 1) do MBack := MBack ListView_GetColumnWidth(Item.ListView.Handle,j); FBRect := Item.DisplayRect(drBounds); FBRect.Left := FBRect.Right - ListView_GetColumnWidth(Item.ListView.Handle,i) - MBack; FBRect.Right := FBRect.Right - MBack; FH := FBRect.Bottom - FBRect.Top Item.ListView.Canvas.Font.Height; if FH < 0 then FH := 0; FBRect.Top := FBRect.Top (FH div 2); //** 輸出字形 Item.ListView.Canvas.TextOut(FBRect.Left 3, FBRect.Top,Item.SubItems[i - 1]); end; Item.ListView.Canvas.Font.Size := OldSize; end; end;發表人 - syntax 於 2003/09/19 21:50:16 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |