Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Komponenten deaktivieren (https://www.delphipraxis.net/100668-komponenten-deaktivieren.html)

markbolten 2. Okt 2007 09:50


Komponenten deaktivieren
 
Hallo,
ich will eine allgemeingültige Procedure schreiben die Komponenten auf dem gerade
aktiven Formula deaktiert, nur der KomponentenName ist bekannt .

Delphi-Quellcode:
bearbeiten_Komponent := application.mainform.activemdichild.FindComponent('xyz');
 if bearbeiten_Komponent <> nil then
  begin
   ???.enabled := false;
  end;
Um den Programmumfang nicht unermeßliche groß zu machen will ich eine Auflistung
möglicher Arten (tedit,tbutton,tcombobox usw.) vermeiden .

Ist es also möglich nur eine Anweisung bzw. keine genau definierte Auflistung zu verwenden?

Danke

marabu 2. Okt 2007 11:11

Re: Komponenten deaktivieren
 
Hallo,

Enabled ist eine Eigenschaft von TControl:

Delphi-Quellcode:
procedure UpdateEnabled(owner: TComponent; const aName: string; aValue: Boolean);
var
  compo: TComponent;
begin
  compo := owner.FindComponent(aName);
  if Assigned(compo) and (compo is TControl) then
    TControl(compo).Enabled := aValue;
end;
Grüße vom marabu

jbg 2. Okt 2007 11:22

Re: Komponenten deaktivieren
 
So am Rand bemerk:
Zitat:

Zitat von marabu
if Assigned(compo) and (compo is TControl)

"nil is TControl" ergibt False und keine Schutzverletzung.

marabu 2. Okt 2007 13:31

Re: Komponenten deaktivieren
 
Hallo Andreas,

danke für den Hinweis.

Das war mein Gürtel-und-Hosenträger-Syndrom.

Freundliche Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz