ListView1.Columns.Insert 程式執行過程 |
答題得分者是:cmf
|
ruwill
一般會員 發表:33 回覆:31 積分:12 註冊:2002-11-01 發送簡訊給我 |
抱歉,各位你請教一下,已以下的程式碼中
位於Classes unit 的TCollection = class(TPersistent)
function TCollection.Add: TCollectionItem;
begin
Result := FItemClass.Create(Self);
Added(Result);
end;
當我中斷點設到Result := FItemClass.Create(Self);
在進一步追蹤,
我很難理解,為何他會去去執行這段的程式碼
constructor TListColumn.Create(Collection: TCollection);
var
Column: TLVColumn;
begin
FOrderTag := Collection.Count;
inherited Create(Collection);
FWidth := 50;
FAlignment := taLeftJustify;
FImageIndex := -1;
with Column do
begin
mask := LVCF_FMT or LVCF_WIDTH or LVCF_IMAGE;
fmt := LVCFMT_LEFT;
cx := FWidth;
iImage := FImageIndex;
end;
if TListColumns(Collection).Owner.HandleAllocated then
ListView_InsertColumn(TListColumns(Collection).Owner.Handle, Index, Column);
end;
不是應該先執行下面這段程式碼
constructor TCollectionItem.Create(Collection: TCollection);
begin
SetCollection(Collection);
end;
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
引言: 抱歉,各位你請教一下,已以下的程式碼中 位於Classes unit 的TCollection = class(TPersistent) function TCollection.Add: TCollectionItem; begin Result := FItemClass.Create(Self); Added(Result); end; 當我中斷點設到Result := FItemClass.Create(Self); 在進一步追蹤, 我很難理解,為何他會去去執行這段的程式碼 constructor TListColumn.Create(Collection: TCollection); var Column: TLVColumn; begin FOrderTag := Collection.Count; inherited Create(Collection); FWidth := 50; FAlignment := taLeftJustify; FImageIndex := -1; with Column do begin mask := LVCF_FMT or LVCF_WIDTH or LVCF_IMAGE; fmt := LVCFMT_LEFT; cx := FWidth; iImage := FImageIndex; end; if TListColumns(Collection).Owner.HandleAllocated then ListView_InsertColumn(TListColumns(Collection).Owner.Handle, Index, Column); end; 不是應該先執行下面這段程式碼 constructor TCollectionItem.Create(Collection: TCollection); begin SetCollection(Collection); end;因為 TCollection.FItemClass = TListColumn 所以 ADD 時 會 FItemClass.Create(self);
------
︿︿ |
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
|
ruwill
一般會員 發表:33 回覆:31 積分:12 註冊:2002-11-01 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
|
ruwill
一般會員 發表:33 回覆:31 積分:12 註冊:2002-11-01 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |