AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi alle Eintrage in TListView mit STRG+A makieren
Thema durchsuchen
Ansicht
Themen-Optionen

alle Eintrage in TListView mit STRG+A makieren

Ein Thema von naujo · begonnen am 12. Sep 2006 · letzter Beitrag vom 13. Sep 2006
Antwort Antwort
naujo

Registriert seit: 31. Jan 2005
25 Beiträge
 
Delphi 6 Enterprise
 
#1

alle Eintrage in TListView mit STRG+A makieren

  Alt 12. Sep 2006, 07:22
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:
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;
Leider funktioniert, dass nicht.

Dann meine zweite Idee:

Delphi-Quellcode:
procedure TForm1.ListView1LocalKeyPress(Sender: TObject; var Key: Char);
begin
  if (KeyboardStateToShiftState = [ssCtrl]) then
  begin
    if LowerCase(Key) = 'athen
    begin
      ListView1.SelectAll;
    end;
  end;
end;
Meine dritte Idee war dann halt:

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;
Form1.KeyPreView := True ist natürlich gesetzt.

Vielleicht habt ihr noch eine Idee.

MfG

naujo
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: alle Eintrage in TListView mit STRG+A makieren

  Alt 12. Sep 2006, 07:38
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
  Mit Zitat antworten Zitat
naujo

Registriert seit: 31. Jan 2005
25 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: alle Eintrage in TListView mit STRG+A makieren

  Alt 12. Sep 2006, 08:04
Hallo marabu,

danke fuer deine schnelle Hilfe. Ich hatte schon eine ActionList auf meinem Formular liegen , aber daran hatte ich gar nicht mehr gedacht.

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.

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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: alle Eintrage in TListView mit STRG+A makieren

  Alt 12. Sep 2006, 08:38
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
  Mit Zitat antworten Zitat
naujo

Registriert seit: 31. Jan 2005
25 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: alle Eintrage in TListView mit STRG+A makieren

  Alt 13. Sep 2006, 09:15
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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: alle Eintrage in TListView mit STRG+A makieren

  Alt 13. Sep 2006, 13:18
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
  Mit Zitat antworten Zitat
Benutzerbild von idontwantaname
idontwantaname

Registriert seit: 31. Aug 2004
Ort: Traiskirchen
575 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: alle Eintrage in TListView mit STRG+A makieren

  Alt 13. Sep 2006, 13:33
Würde ich auch meinen, da bei mir
Delphi-Quellcode:
procedure TForm1.ListBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Shift = [ssCtrl] then
    if Key = Ord('A') then
      ListBox1.SelectAll;
end;
problemlos funktioniert, auch mit Popup-Menü
Oliver Hanappi
  Mit Zitat antworten Zitat
naujo

Registriert seit: 31. Jan 2005
25 Beiträge
 
Delphi 6 Enterprise
 
#8

Re: alle Eintrage in TListView mit STRG+A makieren

  Alt 13. Sep 2006, 14:14
Zitat von idontwantaname:
Würde ich auch meinen, da bei mir
Delphi-Quellcode:
procedure TForm1.ListBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Shift = [ssCtrl] then
    if Key = Ord('A') then
      ListBox1.SelectAll;
end;
problemlos funktioniert, auch mit Popup-Menü
danke, aber ich verwende ein TListView-Objekt, das hat noch ein paar mehr Eingeschaften, die ich ich benötige.


Zitat von marabu:
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
Das ist sehr umfangreich, alles kann ich leider nicht zur Verfügung stellen.


Ich bin aber immer noch der festen Überzeugung, dass TListView selbst auf STRG+A reagieren möchte.

MfG

naujo
  Mit Zitat antworten Zitat
naujo

Registriert seit: 31. Jan 2005
25 Beiträge
 
Delphi 6 Enterprise
 
#9

Re: alle Eintrage in TListView mit STRG+A makieren

  Alt 13. Sep 2006, 15:41
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...

Vielen Dank auf jeden Fall für eure Hilfe.

MfG

naujo
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz