![]() |
alle Eintrage in TListView mit STRG+A makieren
Hallo alle zusammen,
ich möchte unter Delphi 6 mit der Tastenkombination STRG+A alle Einträge in der TListView makieren. Meine erste Idee war:
Delphi-Quellcode:
Leider funktioniert, dass nicht.
procedure TForm1.ListView1KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState); begin // Strg+A abfragen if (Shift = [ssCtrl]) then begin if (Key = Ord('a')) or (Key = Ord('A')) then begin ListView1.SelectAll; end; end; end; Dann meine zweite Idee:
Delphi-Quellcode:
Meine dritte Idee war dann halt:
procedure TForm1.ListView1LocalKeyPress(Sender: TObject; var Key: Char);
begin if (KeyboardStateToShiftState = [ssCtrl]) then begin if LowerCase(Key) = 'a' then begin ListView1.SelectAll; end; end; end;
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin // Strg+A abfragen if (Shift = [ssCtrl]) then begin if (Key = Ord('a')) or (Key = Ord('A')) then begin ListView1.SelectAll; end; end; end;
Delphi-Quellcode:
ist natürlich gesetzt.
Form1.KeyPreView := True
Vielleicht habt ihr noch eine Idee. MfG naujo |
Re: alle Eintrage in TListView mit STRG+A makieren
Hallo naujo,
ziehe von der Standard-Palette eine ActionList auf deine Form, öffne den Action-Editor durch Doppelklick auf die Komponente, wähle im Kontextmenü "Neue Standard-Aktion ..." und dort TEditSelectAll. Im OI trägst du für diese Action dann noch Strg+A als ShortCut ein. Den Rest findest du wahrscheinlich alleine heraus. Grüße vom marabu |
Re: alle Eintrage in TListView mit STRG+A makieren
Hallo marabu,
danke fuer deine schnelle Hilfe. Ich hatte schon eine ActionList auf meinem Formular liegen :) , aber daran hatte ich gar nicht mehr gedacht. :oops: Aber jetzt habe ich noch ein Problem, das ganze funkioniert nicht mit STRG+A sondern nur mit z.B. F9, das verstehe ich jetzt leider nicht wirklich. :?: :pale: Vielleicht hat das was mit dem PopUp-Menü zu tun, dass ich noch an die ListView gebunden habe? Im Porgramm werden zwar noch weitere ShortCuts genutzt, z.B. F3 bis F8, die alle funktionieren. Ich habe die anderen Funktionen wieder aus dem Code wieder entfernt. Oder kann man bei TListView noch weitere Einstellungen vornehmen? MfG naujo |
Re: alle Eintrage in TListView mit STRG+A makieren
Stelle sicher, dass du alle Spuren deiner früheren Versuche rund um den ShortCut Strg+A wieder aus deinem Programm entfernt hast. Vielleicht beißt sich da etwas.
marabu |
Re: alle Eintrage in TListView mit STRG+A makieren
Hallo,
ich habe den Code jetzt von alten Resten befreit. Aber leider ist es mir immer noch nicht möglich, alle Einträge mit STRG+A zu makeiren. Wie bereits erwähnt funktioniert, es mit anderen Tastenkobinationen z.B. STRG+B. Kann es vielleicht sein, dass Delphi bzw. die VCL schon eine Routine mitbringt, die diesen Daten vor wege abfängt und deshalb nicht von der ActionList verarbeitet werden können? Ich hatte schon mal danach im Forum sucht und auch schon mal gegoogelt, aber leider nichts gefunden. Ich werde mir mal den Code des Steuerelements anschauen. MfG naujo |
Re: alle Eintrage in TListView mit STRG+A makieren
Hallo.
Ich neige immer noch zu der Annahme, dass du den ShortCut Strg+A selbst behinderst. Wenn du magst, stelle dein Projekt oder zumindest die Form (PAS und DFM) online. Es wird sich bestimmt jemand finden, der mal drüberschaut. Freundliche Grüße marabu |
Re: alle Eintrage in TListView mit STRG+A makieren
Würde ich auch meinen, da bei mir
Delphi-Quellcode:
problemlos funktioniert, auch mit Popup-Menü :?
procedure TForm1.ListBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin if Shift = [ssCtrl] then if Key = Ord('A') then ListBox1.SelectAll; end; |
Re: alle Eintrage in TListView mit STRG+A makieren
Zitat:
Zitat:
Ich bin aber immer noch der festen Überzeugung, dass TListView selbst auf STRG+A reagieren möchte. MfG naujo |
Re: alle Eintrage in TListView mit STRG+A makieren
Moin,
ich habe jetzt das Problem gelöst, ich hatte schon mal einen Menüpunkt eingefügt, der alles Makieren sollte, aber warum auch immer habe ich die Funktionalität nicht implementiert, aber schon mal das ShortCut festgelegt. Und zwei mal das gleiche ShortCut geht halt nicht wirklich... :oops: :oops: :oops: Vielen Dank auf jeden Fall für eure Hilfe. MfG naujo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz