er dit spørgsmål hvordan du kalder en Event til en komponent fra en anden komponent ?? hvis ja, så vil jeg gerne have svaret ( forstår ikke helt martins måde )
razersedge: nej, jeg tror ikke det var det mit spørgsmål handlede om ...
martin: tak for svaret, men det var ikke lige det jeg ledte efter - selvfølgelig kan man fange en message, og så behanlde den selv, men så går alle keyboard events til min komponent - det er kun nogen enkelte taster jeg vil fange, andre taster skal fortsat gå videre til f.eks. den form, som jeg placerer min komponent på ... idéen med de to procedurer jeg har override\'et er (så vidt jeg har kunnet læse mig til i delphi\'s help) at man overrider dem, og så sætter man Key:=0 hvis man har behandlet tasten (det er derfor den er en Var parameter) - hvis man ikke sætter Key:=0, så går event\'en videre til instansen\'s parent (f.eks. en form) ... I TCustomControl er de to procedurer erklæret som Dynamic, netop fordi det er meningen at man skal kunne override\'e dem ... men det virker altså ikke??
skal de også ligge i protected? ... det virker nemlig HELLER ikke! :/ ... af en eller anden mærkelig grund bliver de aldrig kaldt. jeg har en ret simpel måde at teste det på - jeg har puttet en ShowMessage(\'Tast!\') i min implementation af begge procedurer ... men der sker ingenting! meget underligt ....
Min CustomControl indeholder for resten en masse instanser af en anden custom komponent, som er baseret på TGraphicControl - men det burde vel ikke gøre nogen forskel? den type komponenter kan jo ikke få fokus, og skulle derfor ikke kunne \"stjæle\" tastatur-inputtet inden min custom control når at få fat i det??
Øh .. nu opdagede jeg ved et tilfælde, at jeg kan få den til at blive kaldt, hvis jeg trykker venstre musseknap ned over min customcontrol og holder den nede, mens jeg trykker på en tast! men ellers ikke ... det må jo betyde at der er et eller andet fokus-problem, men jeg kan godt nok ikke regne ud hvad det så skulle være? ... de GraphicControls der ligger på min CustomControl kan jo ikke få fokus .. eller kan de??
Jeg har løst problemet - the bruger CNKeyDown og CNKeyUp, som du sagde i din første besked - ikke WMKeyUp/WMKeyDown som du sagde her til sidst (var det en fejl?) ... nu virker det. Man skal åbenbart selv sætte fokus med kald til SetFocus, når komponenten får MouseDown - det troede jeg egentlig inherited proceduren tog sig af ... guess not :) ... anyways, tak for hjælpen, Martin - jeg lukker spørgsmålet.
Tjae, det har du ret i det er egentlig også mærkeligt at du selv skal det, men godt nok du fik det til at virke *S*
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.