Einzelnen Beitrag anzeigen

Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#3

Re: OnKeyDown: Tastendruck abbrechen

  Alt 17. Apr 2005, 23:23
So (oder so ähnlich) sollte es gehen. Zeig doch mal etwas Code, wie es bei dir aussieht.[/quote]
Ok, wenn du willst. alleridngs ist es bei mir niocht so einfach wie in deinem Beispiel. Denn der User soll einstellen können, welche Zeichen ecodiert werden sollen und diese werden in einem array aufbewahrt. Naja, key ist außerdem vom Typ word und nicht char:
Delphi-Quellcode:
//der Variablentyp:
  THotKeyItem =record
    Taste: TShortCut;
    gridLine: TStrings; //fungiert als Objektzeiger auf Ein Stringgrid
  end;

//globale Variable:
var umlautliste: array of THotKeyItem;
//gloabel Konstanten:
const
  AUSGABE =1;
  TEXTTASTE =0;

//die onkeydown-procedure:
procedure TEditorForm.SynEdit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var tastenkombi :TShortcut;
    i:integer;
begin
    if confForm.CheckBox2.Checked then //das ist nur ob tastenencoding aktiviert ist.
    begin
        tastenkombi :=ShortCut(Key, Shift);
        for i:=0 to length(umlautliste)-1 do with umlautliste[i] do if taste =tastenkombi then
        begin
            Synedit1.SelText :=gridLine[AUSGABE];
            key :=0;
            exit;
        end;
    end;
end;
Mir fällt auf, das record nicht fett hervorgehoben wird. Direkt mal in der DP-Fragen sparte meckern
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat