AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Doppelclick bei Actions verhindern
Thema durchsuchen
Ansicht
Themen-Optionen

Doppelclick bei Actions verhindern

Ein Thema von Thomas Feichtner · begonnen am 1. Okt 2015 · letzter Beitrag vom 8. Okt 2015
Antwort Antwort
Seite 1 von 2  1 2      
Thomas Feichtner

Registriert seit: 30. Nov 2007
Ort: Rum
137 Beiträge
 
Delphi 10.4 Sydney
 
#1

Doppelclick bei Actions verhindern

  Alt 1. Okt 2015, 12:56
Hallo,

wie kann ich verhindern, dass der Anwender auf einen Menüpunkt (Action) einen doppelclick macht?
mfg

Thomas Feichtner
  Mit Zitat antworten Zitat
Zoot

Registriert seit: 30. Jan 2006
Ort: Hessen
113 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Doppelclick bei Actions verhindern

  Alt 1. Okt 2015, 13:11
Die Maus wegnehmen?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Doppelclick bei Actions verhindern

  Alt 1. Okt 2015, 13:25
Die Maus wegnehmen?
So hart? Man kann es doch erst mal mit Hypnose versuchen (beim Anwender und der Maus)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#4

AW: Doppelclick bei Actions verhindern

  Alt 1. Okt 2015, 13:34
Das geht doch gar nicht Das Menü geht schon beim ersten Click zu.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#5

AW: Doppelclick bei Actions verhindern

  Alt 1. Okt 2015, 13:35
Mehr Rum reichen?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#6

AW: Doppelclick bei Actions verhindern

  Alt 1. Okt 2015, 14:03
Hallo, wie kann ich verhindern, dass der Anwender auf einen Menüpunkt (Action) einen doppelclick macht?
... oder anders ausgedrückt: Was ist der Hintergrund deiner Frage? Wieso möchtest du etwas vermeiden, was sowieso niemals eintritt – weil der zweite Klick auf denselben Menüpunkt das Menü wieder schließt?
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Doppelclick bei Actions verhindern

  Alt 1. Okt 2015, 14:15
Beim Klick auf einen Hauptmenü-Eintrag ohne Untermenü geht da gar nix zu.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Thomas Feichtner

Registriert seit: 30. Nov 2007
Ort: Rum
137 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Doppelclick bei Actions verhindern

  Alt 5. Okt 2015, 09:09
Hallo!

Ich hätte mal folgendes probiert:
Eine Ableitung der ActionList und mich reingehängt.
Das funktioniert aber nur so lange in einem OnExecute nicht wieder eine andere Action aufgerufen wird.


Delphi-Quellcode:
unit myActionList;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ActnList, IniFiles, Stdctrls, Menus;

type
  TmyActionList = class(TActionList)
  private
    { Private-Deklarationen }
    oAction: TCustomAction;
    FOnExecuteAction: TNotifyEvent;
    procedure OnActionExecute(Sender: TObject);
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
    constructor Create(AOwner: TComponent); override;
    function ExecuteAction(Action: TBasicAction): Boolean; override;
  published
    { Published-Deklarationen }
  end;

var
  oCallBackToMemLog : TCallBackEventToMemLog;

implementation

constructor TmyActionList.Create(AOwner: TComponent);
begin
  inherited;
  oAction := nil;
end;

function TmyActionList.ExecuteAction(Action: TBasicAction): Boolean;
begin
  if Action is TCustomAction then begin
    FOnExecuteAction := TCustomAction(Action).OnExecute;
    TCustomAction(Action).OnExecute := OnActionExecute;
    oAction := TCustomAction(Action);
    oAction.Enabled := False;
  end;
end;

procedure TmyActionList.OnActionExecute(Sender: TObject);
begin
  if Assigned(FOnExecuteAction) then begin
    FOnExecuteAction(Self);
  end;
  oAction.Enabled := True;
  TCustomAction(oAction).OnExecute := FOnExecuteAction;
end;

end.
mfg

Thomas Feichtner
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Doppelclick bei Actions verhindern

  Alt 5. Okt 2015, 10:42
... und gestern war Sonntag.

Kannst du mal bitte erklären was du warum machen willst und wobei du nun Probleme hast?
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Thomas Feichtner

Registriert seit: 30. Nov 2007
Ort: Rum
137 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Doppelclick bei Actions verhindern

  Alt 5. Okt 2015, 11:04
Ich habe im Hauptformular von DevExpress die TdxNavBar.
Bei den einzelnen Items hängt überall eine Action dahiner.
Nun möchte ich einen Doppelclick des Anwenders verhindern.
Wie soll es funktionieren?
Beim Click wird die Action disabled und anschlißend wieder enabled.
Nun möchte ich das nicht bei jedem OnClick ausführen sondern global verhindern -> Daher meine Ableitung der Actionlist.
Das funktioniert soweit auch. Jedoch wenn ich innerhalb eines OnExcute eine andere Action aufrufe komme ich nicht mehr auf die erste Action zurück.
mfg

Thomas Feichtner
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:45 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