![]() |
NONVCL: Dialog mit ENTER bzw. ESCAPE schliessen
Hallo Leute!
Habe hier eine mittlerweile recht grosse NonVCL-Anwendung mit NonWindows graphischer Benutzeroberfläche gebastelt. Die Dialoge erstelle ich mit DialogBoxParam. Die Steuerelemente werden in WM_INITDIALOG erzeugt. Es gibt eine Reihe Steuerelemente, die kein Fensterhandle aufweisen. Kann man mit dem VCL Konstrukt [b]vergleichen. Es gibt also auch Dialoge, die ausser dem Dialog selber kein Fensterhandle mehr mitbringen. Das nur so als Einleitung. Nun möchte ich ermöglichen, dass die Dialoge alternativ auch mit Return (OK) und Escape (Abbrechen) geschlossen werden können. Ich reagiere dazu auf die Message WM_COMMAND:
Delphi-Quellcode:
Diese Vorgehensweise funktioniert in der laufenden Anwendung genau ein einziges Mal. Danach höre ich auf jeden weiteren Tastendruck nur Ping Ping Ping. :?: Dieses Phänomen ist unabhängig davon, ob die dasselbe Fenster oder ein anderes öffne. WM_KEYDOWN oder WM_KEYUP kann ich nicht verwenden, da die Messages nicht mehr zum Dialog durchdringen, sobald ich ein Control mit Fensterhandle verwende.
WM_COMMAND: Begin
Case LoWord(wParam) of 1: EndDialog(AWnd,1); 2: EndDialog(AWnd,0); End; End; Freue mich auf jeden Hinweis! Werde derweil versuchen, ob ich mit ner Accelerator Tabelle ne Lösung hinbekomme ... Mahlzeit Der OLLI |
Re: NONVCL: Dialog mit ENTER bzw. ESCAPE schliessen
Brauchst du nicht. Guckst du mal bei Luckie in die Tutorials rein? Kapitel über Dialoge. ENTER geht, wenn du den Default-Button setzt; sprich: der OK-Button (oder welcher auch immer) muss den Default-Stil haben. Und ESC geht über WM_COMMAND. Habe ich aber gerade nicht zur Hand ... *such*
Oh, there it is: Zitat:
|
Re: NONVCL: Dialog mit ENTER bzw. ESCAPE schliessen
Hallo Mathias
Zitat:
Des weiteren entspricht der Code, den Du mir gepostet hast, doch in etwa dem, was ich bisher verwende. In Windows.pas ist IDCANCEL=2 definiert ... Das Problem ist jedoch nach wie vor, dass der Spass nur GENAU EIN EINZIGES MAL funktioniert! Gruss Der OLLI |
Re: NONVCL: Dialog mit ENTER bzw. ESCAPE schliessen
Zitat:
Zitat:
|
Re: NONVCL: Dialog mit ENTER bzw. ESCAPE schliessen
Zitat:
Man kann auch Buttons ohne die Windows Klasse Button realisieren; siehe Winamp und Konsorten. Btw: Das Prob hat sich inzwischen erledigt. Ganz profane Geschichte, die im Fenster ohne Controls Not tut:
Delphi-Quellcode:
Gruss
WM_CREATE: Begin
... SetFocus(AWnd); End; Der OLLI |
Re: NONVCL: Dialog mit ENTER bzw. ESCAPE schliessen
Zitat:
|
Re: NONVCL: Dialog mit ENTER bzw. ESCAPE schliessen
Hallo Luckie!
Also nochmal:
Schönen Abend noch Der OLLI |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 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-2025 by Thomas Breitkreuz