Thema: Delphi nonVCL Kapselung

Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: nonVCL Kapselung

  Alt 14. Okt 2007, 13:04
TControlList ist eine Klasse die Pointer zu allen Child-Control eines Formulars speichert.

Delphi-Quellcode:
function TControllist.Find(id: HMENU): Pointer;
var i: Integer;
begin
  Result := nil;
  for i := 0 to Count-1 do
   if TNVCLControl(Items[i]).FID = id then
     Result := Items[i];
end;
Man übergibt die ID des Controls und erhält den Pointer auf selbiges. Und da im LoWord des WParams der WM_COMMAND Message die ID des Controls gespeichert ist ...normalerweise.. kann ich so herausfinden auf welchen Control geklickt wurde und dann eben das OnClick Ereignis auslösen. Das hatte damals auch wunderbar geklappt als ich noch nicht diesen Dispatcher benutzt habe.

Frage: Warum wird versucht die Klasse zweimal zu registrieren wenn man sie im Constructor registriert? Und ich meine: Beim ersten Formular funktionierts ja.

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat