2014-03-05 48 views
0

我有一些代碼,它會用按鈕創建表單,但是當表單顯示按鈕位置錯誤時。德爾福。在創建表單時設置按鈕位置

var 
    Form: TForm; 
    Button: TButton; 
begin 
    Form := TForm.Create(Self); 
    try 
    Button := TButton.Create(Form); 
    Button.Parent := Form; 
    Button.Left := 8; 
    Button.Top := 8; 
    Button.Height := 185; 
    Button.Width := 292; 
    Button.Anchors := []; 
    Form.ShowModal; 
    finally 
    FreeAndNil(Form); 
    end; 

任何想法如何解決這個問題?

回答

0

當我使用HandleNeeded之前創建控件

Form.HandleNeeded 

當形式展示 - 按鈕有正確的位置

0

不清除Anchors。這會導致按鈕在窗體大小調整時四處移動。保留默認Anchors設置爲[akLeft,akTop],這樣按鈕將會遵守您的Left/Top值。

+0

我讀的文件設置和錨關閉 –

+0

那麼你就不是管理你的'Anchors'正確。必須啓用「akLeft」才能使「Left」正常工作,並且必須爲「Top」啓用「akTop」才能正常工作。 –

+0

好吧,讓我需要設置下一個屬性'Button.Anchors:= [akBottom,akRight];',但按鈕位置錯誤。當表格創建時她有位置(-8,-30)。 但是,當我創建並顯示窗體,然後創建按鈕 - 按鈕創建在正確的位置 –