-
Forum: Win32/Win64 API (native code)
Delphi
by TUX_der_Pinguin,
17. Feb 2017
So ich habe es jetzt scheinbar endlich geschafft ob die Lösung jetzt allem Standhält muss sich noch herausstellen.
private
procedure WMInitMenu(var Msg: TWMInitMenu); message WM_INITMENU;
procedure TForm1.WMInitMenu(var Msg: TWMInitMenu);
begin
//Behandlung abbrechen
abort;
end;
-
Forum: Win32/Win64 API (native code)
Delphi
by TUX_der_Pinguin,
17. Feb 2017
Das wäre mir schon wichtig das der X-Button sichtbar wäre, aber danke dir trotzdem.
-
Forum: Win32/Win64 API (native code)
Delphi
by TUX_der_Pinguin,
17. Feb 2017
Danke für den Tipp aber leider kommt das auf das selbe raus wenn ich in der Option BorderIcons das Systemmenü abschalten, es verschwindet der X-Button, den ich aus Design Gründen ganz gerne behalten würde. Alles nicht so das ware, es läuft wohl auf einen Kompromiss hinaus.
Wobei meine erste Lösung zumindest die ALT+Leertaste Problematik behebt, danach war mir auf gefallen das schon das...
-
Forum: Win32/Win64 API (native code)
Delphi
by TUX_der_Pinguin,
17. Feb 2017
Das schließen wird ja auch über das OnKeyDown Event des Formulars gelöst, wie bereits beschrieben, dazu muss noch KeyPreview des Formulars aktiv sein. Rufe ich die Anwendung auf ohne irgendwas zu machen und drücke die ESC-Taste beendet sich die Anwendung sofort und umgehend. Drücke ich nach dem Start jedoch ALT+Leertaste und dann die ESC-Taste passiert nichts, erst beim erneuten drücken der...
-
Forum: Win32/Win64 API (native code)
Delphi
by TUX_der_Pinguin,
17. Feb 2017
Ja ich drücke ALT-Space, dann drücke ich ESC um mein Formular zu schließen und es passiert nichts weil DAS SYSTEMMENÜ DEN FOCUS HAT UND SICH DURCH DRÜCKEN DER ESC-TASTE SCHLIESST, drücke ich dann ein zweites mal ESC wird endlich das KeyDown Ereignis des Formulars ausgelöst und das Formular schließt sich.
Die Anwendung soll nur über die Tastatur zu bedienen sein und wenn der Anwender...
-
Forum: Win32/Win64 API (native code)
Delphi
by TUX_der_Pinguin,
17. Feb 2017
Ist das Menü weg: JA
Bekommt das UNSICHTBARE Menü immer noch den Focus: JA
Muss ich immer noch ZWEIMAL die ESC-Taste drücken um das Formular zu schließen: JA
Ist es das was ich will: NEIN
Es tut mir leid das das vielleicht etwas harsch wirkt, aber das ist doch genau das wo von ich die ganze Zeit spreche das es zwar Funktioniert aber nicht so wie ich das will. Vielleicht reden wir auch an...
-
Forum: Win32/Win64 API (native code)
Delphi
by TUX_der_Pinguin,
17. Feb 2017
Es geht ja auch kein Menü auf, wenn man alle Einträge löscht, aber trotzdem ist es noch da bzw. erhält den Focus. Wenn man TFrom.KeyPreview := True einstellt und im TFrom.KeyDown die Esc-Taste abfrage reagiert das Ereignis erst wenn man die Taste zweimal drückt, da beim ersten drücken das Menü geschlossen wird, welches unsichtbar ist und beim zweiten wird dann das Ereignis ausgelöst.
Ja ich weiß...
-
Forum: Win32/Win64 API (native code)
Delphi
by TUX_der_Pinguin,
17. Feb 2017
Und das hilft mir jetzt wie weiter?
Wenn ich die Eintrage aus dem Systemmenü lösche ist es trotzdem noch da, zwar unsichtbar, aber durch drücken der Tastenkombination ALT+Leertaste bekommt das Menü trotzdem den Focus und das will ich grade nicht.
-
Forum: Win32/Win64 API (native code)
Delphi
by TUX_der_Pinguin,
17. Feb 2017
Wenn ich dich jetzt richtig verstehe, du meinst das Ergebnis einfach auf Null setzten und nichts weiteres. Das klappt nicht, das Systemmenu wird trotzdem angezeigt.
procedure TfrmDlgIdent.WMInitMenuPopup(var Msg: TWMInitMenuPopup);
begin
Msg.Result := 0;
end;
-
Forum: Win32/Win64 API (native code)
Delphi
by TUX_der_Pinguin,
17. Feb 2017
Für den Fall das es noch jemanden interessiert, ich habe inzwischen eine Akzeptable Lösung gefunden. Das Menü erscheint nicht mehr beim drücken der Tastenkombination ALT + Leertaste und der Focus hängt auch nicht mehr im unsichtbaren Menü fest.
private
procedure WMInitMenuPopup(var Msg: TWMInitMenuPopup); message WM_INITMENUPOPUP;
procedure TForm1.WMInitMenuPopup(var Msg:...
-
Forum: Win32/Win64 API (native code)
Delphi
by TUX_der_Pinguin,
17. Feb 2017
Hi,
ich versuche gerade einen Weg zu finden wie ich verhindern kann das das Systemmenü eines Fensters aufgerufen werden kann. Ohne in der Option 'BorderIcons' das Menü zu deaktivieren, dann verschwindet das "Rote X" und BorderStyle bsToolWindow ist auch keine Option. Mein erster weg war einfach im OnCreate() von TForm die Einträge aus dem Menü zu löschen was auch funktioniert und das Menü...