Announcement

Collapse
No announcement yet.

Focus an Windowsanwendung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Focus an Windowsanwendung

    Hallo,
    ich möchte an eine beliebige Windowsanwendung durch ein Delphiprogramm
    gesteuert den Windowsfocus übergeben und habe keine Ahnung wie das geht.
    Kann mir vielleicht jemand helfen?
    Im voraus schon einmal vielen Dank.
    Gruss Michael

  • #2
    SetForegroundWindow(Handle);<br>
    SetFocus(Handle);<br>

    Gruß Hage

    Comment


    • #3
      Hi, ich habe ein ähnliches Problem.
      Mit nhdl:=GetWindow(<AktivesControl.handle>,GW_HWNDNEX T) hole ich das nächste Handle in der Z-Order. Aber wie kann ich es setzen ? Wenn ich SetFocus(nhdl) benutze möchte er die SetFocus - Routine aufrufen die zu einem Elmenet in Delphi 6 gehört. Wie kann ich ihm sagen, daß er die WinAPI-Funktion SetFocus aufrufen soll

      Comment


      • #4
        <pre>
        <b>Windows</b>.SetFocus(Handle)
        </pre>
        Viele Grüße, Hans-Pete

        Comment


        • #5
          Super. Danke. Hätt ich auch selber draufkommen können.
          Habe nur nicht dran gedacht das es in der Windows-Unit ist ich Blödmann...

          Gibt es eigentlich dafür auch Delphi-Routinen um das nächste Element zu fokusieren - ohne umständlich über die Controls[x] eine Schleife zu ziehen ?

          Viele Grüße
          Fran

          Comment


          • #6
            Hier ein Ausschnitt aus einer meiner Komponenten. Den TWinControlCracker braucht man, da FindNextControl protected ist und daher nur in abgeleiteten Klassen sichtbar ist. AutoNext ist eine property meiner Komponente.
            <pre>
            type
            TWinControlCracker = class(TWinControl);

            procedure TClawButton.NextButton;
            var
            Nxt: TWinControl;
            begin
            if AutoNext and (Parent <> nil) then
            try
            Nxt := TWinControlCracker(Parent).FindNextControl(Self, True, True, True);
            if Nxt <> nil then
            Nxt.SetFocus;
            except
            end;
            end;
            </pre&gt

            Comment

            Working...
            X