Announcement

Collapse
No announcement yet.

dieser sch... BEEP

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

  • dieser sch... BEEP

    Hallo wieder einmal....

    ich möchte meine Anwendung komplett mit der Tastatur bedienbar gestalten. CR anstatt TAB usw...

    nun meckert mir das BS fast jedesmal mit dem Piepston, wenn ein Feld verlassen wird, allerdings auch nicht immer in jeder Situation ????

    Ich habe sowohl den KEYPREVIEW des Formulares auf TRUE als dass ich darin abfange:
    <PRE>
    case (Key) of
    13 :
    begin // Enter Taste
    key:= 0;
    Self.Perform (WM_NextDlgCtl, 0, 0);
    end;
    </PRE>

    selbst in den Eingabefeldern frage ich ähnlich ab (ONKEYPRESS, ONKEYDOWN ....) nur irgendwas will mich ständig mit dem BEEP nerven....

    Nun meine Frage: Hab ich was übersehen ? Kann man den BEEP global für eine Anwendung eliminieren ? oder lass ich es einfach weiter hupen ???

    Heiko

  • #2
    Hallo Heiko,<BR>
    damit sollte der nervige Piepton eigentlich abgeschaltet sein und zum nächsten Eingabefeld gesprungen werden:
    <PRE>
    procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char);
    begin
    if key=#13 then begin
    key:=#0;
    if sender=edit1 then edit2.SetFocus;
    if sender=edit2 then edit3.SetFocus;
    if sender=edit3 then edit1.SetFocus
    ...
    end
    end;

    </PRE>
    Viele Grüße,<BR>
    Marku

    Comment


    • #3
      Hallo Markus,

      das dachte ich mir auch, tut aber leider nicht. Mein Code oben macht genau dasselbe, nur eben im KeyDown Ereignis des Formulares... Ich verzweifel noch...

      Gruß

      Heik

      Comment


      • #4
        Hallo Heiko,<BR>
        sehr sehr komisch, bei mir funktionierts so immer. Weiß auch nicht, was man da anders machen sollte. Vielleicht liegts an der Delphi-Version? Ich hab D5. Wenns bei Dir so nicht geht, weiß ich leider auch nicht weiter. <BR>
        Marku

        Comment


        • #5
          Hallo Heiko,<BR><BR>
          du musst den onKeyPress - Event nehmen:
          <PRE>
          procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
          begin
          if (key=#13) then
          begin
          key := #0;
          SendMessage(self.Handle, CM_DIALOGKEY, VK_TAB, 0);
          end
          end;
          </PRE>
          Fran

          Comment

          Working...
          X