AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ModalResult bei Doppelklick auf ListView

Ein Thema von TheMiller · begonnen am 8. Apr 2009 · letzter Beitrag vom 8. Apr 2009
Antwort Antwort
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

ModalResult bei Doppelklick auf ListView

  Alt 8. Apr 2009, 11:39
Hallo,

ich stehe mal wieder vor einem Problem - besser gesagt vor einer AV.

Folgendes Szenario: Ich habe Formulare für all meine Projekte erstellt. Je nach dem, welches ich gerade brauche, binde ich in ein Proejkt ein bzw. erstelle es zur Laufzeit.

In diesem Fall geht es um ein Suchformular von Adressen. Ich zeige es mit ShowModal an, suche die Adresse und klicke auf einen der beiden Buttons. Der eine hat mrOK, der andere mrCancel.

Wenn ich nun eine Adresse auswähle und auf den Button (mrOK) klicke, dann wird alles übernommen.

Doch man kann in meinem Formular die Adresse auch per Doppelklick auf den Listeneintrag der ListView bestätigen. Nur dann bekomme ich keinen ModalResult-Wert zurück. Geht das generell nicht, oder mache ich nur was falsch?

Hier mal Quellcode:

Delphi-Quellcode:
var
  AdressForm: TfPJAdressSuche;
  re: TFrxRichView;
begin
  adressForm:=uPJAdresssuche.TfPJAdresssuche.Create(Self);
  try
    if (AdressForm.ShowModal = mrOK) then
    begin
      //u.s.w
    end;
  finally
    FreeAndNil(adressForm);
  end;
end;


//Das Adressformular:

procedure TfPJAdresssuche.PngBitBtn2Click(Sender: TObject);
begin
  SelectAddress;
end;

procedure TfPJAdresssuche.ListView1DblClick(Sender: TObject);
begin
  //Das war ein Trick, damit das ModalResult gesetzt wird. Geht aber nicht.
  PngBitBtn2.OnClick(Self);
end;

procedure TfPJAdresssuche.SelectAddress;
begin
  if (ListView1.Selected <> nil) then
  begin
    proceed:=True;
    Tel:=ListView1.Selected.SubItems.Strings[5];
    eMail:=ListView1.Selected.SubItems.Strings[6];
    Adressname:=ListView1.Selected.SubItems.Strings[2]+' '+ListView1.Selected.SubItems.Strings[1];
    Anrede:=ListView1.Selected.Caption;
    Firmenname:=ListView1.Selected.SubItems.Strings[0];
    Nachname:=ListView1.Selected.SubItems.Strings[1];
    Vorname:=ListView1.Selected.SubItems.Strings[2];
    Strasse:=ListView1.Selected.SubItems.Strings[3];
    PLZ:=ListView1.Selected.SubItems.Strings[4];
    Ort:=ListView1.Selected.SubItems.Strings[5];
    Telefon:=ListView1.Selected.SubItems.Strings[6];
    eMail:=ListView1.Selected.SubItems.Strings[7];
    aid:=Integer(ListView1.Selected.Data);
  end else
  begin
    MessageDLG('Es ist keine Adresse ausgewählt.', mtInformation, [mbOK], 0);
  end;
end;
Wenn ich einen Doppelklick in die Liste mache, passiert einfach nichts.

Bitte hiermit offiziell um Hilfe

Danke!
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: ModalResult bei Doppelklick auf ListView

  Alt 8. Apr 2009, 11:45
Probier mal das:
Delphi-Quellcode:
procedure TfPJAdresssuche.ListView1DblClick(Sender: TObject);
begin
  //Das war ein Trick, damit das ModalResult gesetzt wird. Geht aber nicht.
  PngBitBtn2.Click;
end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: ModalResult bei Doppelklick auf ListView

  Alt 8. Apr 2009, 11:47
Das müsste doch prinzipiell so gehen:
Delphi-Quellcode:
procedure TfPJAdresssuche.ListView1DblClick(Sender: TObject);
begin
  SelectAddress;
  ModalResult := mrOK; //oder halt ein anderer Wert
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#4

Re: ModalResult bei Doppelklick auf ListView

  Alt 8. Apr 2009, 11:56
Danke DeddyH, deine Lösung hat funktioniert. Habe noch nie mit ModalResults gearbeitet. Erspart aber eine menge Arbeit!

Danke euch beiden!
  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:46 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