我TMemo後代具有構造TMemo後裔由空行
constructor TMyMemo.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Lines.Clear;
end;
當我把TMyMemo我得到錯誤的形式「控制‘’沒有父窗口。」爲什麼?
我TMemo後代具有構造TMemo後裔由空行
constructor TMyMemo.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Lines.Clear;
end;
當我把TMyMemo我得到錯誤的形式「控制‘’沒有父窗口。」爲什麼?
新創建的備忘錄中沒有任何內容。但是隻要組件獲得名稱,內容就會被添加,這個名稱由設計者自動完成。爲了防止這種情況,從ControlStyle
刪除csSetCaption
:
constructor TMyMemo.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
ControlStyle := ControlStyle - [csSetCaption];
end;
移動Lines.Clear到覆蓋方法CreateWnd方法。基礎窗口控制(多行編輯)不存在時創建執行
無論何時調用「CreateWnd」,這都會清除內容,這比您想象的要多。 – NGLN 2012-03-24 08:58:53
你爲什麼要發佈在首位行,如果你忽視它的設置。改爲從TCustomMemo派生。 – 2012-03-24 08:36:10
@大衛 - 我希望在表單上放置「空白」備忘錄。通常/總是我把TMemo放在我清晰的線條上。我很懶惰:) – Branko 2012-03-24 08:50:18
你現在已經有了很好的答案,但這個問題也是你解釋你的根本問題的一個很好的例子。 – 2012-03-24 09:25:55