Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: panel, disabled und controls

  Alt 24. Mär 2011, 12:54
Oder so:
Delphi-Quellcode:
type
  TPanel = class(ExtCtrls.TPanel)
  protected
    procedure WndProc(var Msg: TMessage); override;
  end;

  TForm1 = class(TForm)
    Panel1: TPanel;
    Edit1: TEdit;
  ...

procedure TPanel.WndProc(var Msg: TMessage);
var i: integer;
begin
  if Msg.Msg = CM_ENABLEDCHANGED then
    for i := 0 to ControlCount - 1 do
      Controls[i].Enabled := Enabled;
  inherited;
end;
[edit]Noch spartanischer:
Delphi-Quellcode:
type
  TPanel = class(ExtCtrls.TPanel)
  private
    procedure CMEnabledChanged(var Msg: TMessage); message CM_ENABLEDCHANGED;
  end;

...

procedure TPanel.CMEnabledChanged(var Msg: TMessage);
var i: integer;
begin
  if Msg.Msg = CM_ENABLEDCHANGED then
    for i := 0 to ControlCount - 1 do
      Controls[i].Enabled := Enabled;
  inherited;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (24. Mär 2011 um 12:59 Uhr)
  Mit Zitat antworten Zitat