0

THidepanel の開発は、まだ多くの疑問を私に投げかけています。こちらの指示に従いましたその他のヘルプと質問

内側のパネルを赤色にして、外側のパネルよりも少し小さくするように設計しました。コンポーネントをテスト アプリケーションで実行すると、外側のパネルのみが描画され、内側の作業パネルに配置され、設計時に表示されるすべてのコンポーネントが表示されなくなります。

私はバグを次のように想定しています: outedr パネルは最後のアクションとして描画されるため、実行時に赤い内部パネルとここに配置されたコンポーネントが表示されませんか? これは本当ですか、私の仮定はどこが間違っていますか、この問題を解決するにはどうすればよいですか

私のコンポーネントの最新の Create 関数はここにあります:

constructor THidePanel.create(aOwner: TComponent);
begin
  inherited;

  padding.Left:= BorderSize;
  padding.top:= BorderSize;
  padding.right:= BorderSize;
  padding.Bottom:= BorderSize;



  //  the inner panel
  WorkingPanel := TPanel.create(self);
  WorkingPanel.Caption := ' ';
  WorkingPanel.BevelOuter := bvNone;

  // WorkingPanel.BringToFront;

  WorkingPanel.Color :=220;
  WorkingPanel.ParentColor := false;
  WorkingPanel.Parent := self;
  WorkingPanel.Align := alClient;

  //  the button to mimimize / maximize
  FActivateButton := TButton.create(self);
  FActivateButton.Parent := self;
  FActivateButton.Caption := '<';
  FActivateButton.OnClick := H_ActivateButtonClick;
  FActivateButton.Width := BorderSize;

  FActivateButton.Height := BorderSize;


  ///   the restore values , correct setting
  FLargeWidth := self.Width;
  FLargeHeight := self.Height;
  FHasCustomSize := false;

  // here I draw the activate button on the outer panel
  SetButtonPosition(topright);


  //  drop components only on the inner panel
  ControlStyle := ControlStyle - [csAcceptsControls]

end;

設計と実行時間の問題

実行時に非表示コンポーネント

4

1 に答える 1

1

に設定WorkingPanel.VisibleしてみてくださいTrue

于 2013-04-10T21:42:29.213 に答える