Hallo, mit der u.a. Function verhindere ich, dass die Anwendung über das Access-Fenster beendet werden kann.
Ich möchte nun aber auch eine Verkleinerung ausschließen und weiß nicht, wie ich dieses im Code ansprechen kann.
Ich bitte dazu um Hilfe.
Dim mAntwort As Variant
Dim mHandle As Variant
mHandle = GetSystemMenu(Application.hWndAccessApp, False)
mAntwort = EnableMenuItem(mHandle, 6, 1025)
Hallo,
sicher habe ich mich falsch ausgedrückt und meine Frage hat auch nicht mit früheren Vorgängen zu tun.
Was ich will ist, daß im Accessfenster deaktiviert werden
- doppeltes übereinanderliegende Rechteck mit Tipptext: Verkleinern
- X für Schließen.
Es soll nur das Minimieren in die Taskleiste möglich sein.
Das Schliessen verhindere ich mit
Dim mAntwort As Variant
Dim mHandle As Variant
mHandle = GetSystemMenu(Application.hWndAccessApp, False)
mAntwort = EnableMenuItem(mHandle, 6, 1025)
Mir fehlt die Ansprache für " mAntwort = EnableMenuItem(mHandle, ?, ????)"
Könnt Ihr mir helfen?
Wird irrtümlich das Zeichen für Verkleinern genutzt, verschieben sich meine forms, die mit formResize plaziert wurden.
Hier gibts die Erklärung der Funktion:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms647636(v=vs.85).aspx (https://msdn.microsoft.com/en-us/library/windows/desktop/ms647636(v=vs.85).aspx)
Beispiele gibts zuhauf im Netz. z.B. Hier
http://www.vbarchiv.net/api/api_getsystemmenu.html
Da ich die Funktion nie eingesetzt habe kenne ich mich auch nicht aus. Lesen hilft.
Aber wenn du nur das verschieben der Formulare verhindern willst, dann musst du sie nur als Popup öffnen. Dann kannst du das Access Fenster einfach minimieren.
Danke, dass Du geantwortet hast.
Aber es ist nicht das was ich wollte. Deine Links setzen Fähigkeiten voraus, über die ich nicht verfüge.
Ich nutze seit access 2000 die u.a. Function, die ich um das "Verkleinern" erweitern möchte. Nur wie spricht man dieses
doppelte Rechteck an?
Declare Function EnableMenuItem Lib "user32" _
(ByVal hMenu As Long, ByVal wIDEnableItem As Long, _
ByVal wEnable As Long) As Long
Declare Function GetSystemMenu Lib "user32" _
(ByVal hWnd As Long, ByVal bRevert As Long) As Long
Public Function NoExitMenueButton()
On Error GoTo NoExitMenueButton_Err
Dim mAntwort As Variant
Dim mHandle As Variant
mHandle = GetSystemMenu(Application.hWndAccessApp, False) ' macht den Schließenbutton des Accessmenüs grau, so kann der Anwender nur über den beenden Knopf schließen.
mAntwort = EnableMenuItem(mHandle, 6, 1025)
End Function
------------------------------------------------------------------------
Public Function YesExitMenueButton()
Dim mAntwort As Variant
Dim mHandle As Variant
mHandle = GetSystemMenu(Application.hWndAccessApp, False) ' macht den Schließenbutton des Accessmenüs wieder sichtbar.
mAntwort = EnableMenuItem(mHandle, 6, 1024)
End Function
Hallo hawebe,
Direkte Hilfe habe ich leider nicht, aber als Idee; - hast Du mal mit dem Parameter "wIDEnableItem" rumgespielt? Was passiert da bei anderen Werten?
gruss ekkehard
Hallo,
wie kommt man denn an die Codes, bspw. 6 bzw. 1025 und 1024?
Ich vermute da liegt der Schlüssel zum Geheimnis.
PS:
Zitathast Du mal...
"Spielen" würde ich damit eher nicht wollen, wer weiß was dann passiert...?! ???
Du bist hier in einem Access Forum, und was du willst hat halt nichts mit Access Programmierung zu tun.
Und im Web suchen, scheint auch nicht deins zu sein.
schau mal hier nach
http://www.office-loesung.de/ftopic19294_0_0_asc.php
BTW:
ZitatUnd im Web suchen, scheint auch nicht deins zu sein.
Ich weiß, ich war damit nicht gemeint, aber ich habe gestern etliche Zeit mit der Recherche verbracht und bin dabei nicht schlauer geworden. Kann also verstehen, wenn sich ein weniger erfahrener Kandidat damit ebenfalls schwer tut.
...und etwas Neues bringt der verlinkte Thread ja auch nicht, oder was habe ich übersehen?
Hallo MaggieMay,
genau das war meine Frage. Wie lautet der Code zum für das Icon zum Verkleinern.
Hallo Markus88,
ich bin Deinem Link gefolgt und habe mit den Thread angesehen. Genaus dort habe ich auch die Function gefunden,
die ich verwende. Allerdings nur für das Schliessen.
Danke für Deine Belehrung und Deine Mühe.
Zitat von: hawebe am Januar 30, 2016, 11:55:47
Hallo Markus88,
ich bin Deinem Link gefolgt und habe mit den Thread angesehen. Genaus dort habe ich auch die Function gefunden,
Das zweite angeführte Programm beeinflusst die minimieren Funktion.
Du hast halt die Möglichkeit selbst zu suchen, selbst herauszufinden wie es geht ober es findet ein C Programmierer der sich da auskennt, da die .Net Welt das nicht braucht.
Du könntest aber die Fenster wie bereits erwähnt auf Popup umstellen.
Dann werden sie nicht verschoben, falls man Access minimiert oder verkleinert.
Vielleicht ist das ja eine Option.
Falls du das nicht kennst in der Access Hilfe wird das erklärt.
Hallo Markus888,
Du darfst davon ausgehen, dass ich die Variante PopUp schon geprüft hatte, bevor ich diesen Thread begann.
Ich hatte meine Gründe. Sag einfach, dass Du meine Frage nicht beantworten kannst (was Du ja nun wohl hast)
und verzichte bitte auf Deine Spitzen gegenüber Personen, die Du nicht kennst.
Zitat von: hawebe am Januar 30, 2016, 17:03:14
Hallo Markus888,
Du darfst davon ausgehen, dass ich die Variante PopUp schon geprüft hatte, bevor ich diesen Thread begann.
Dann hättest du auch schon beim ersten Nachfragen schon auf die Frage reagieren können.
Zitat von: hawebe am Januar 30, 2016, 17:03:14
Sag einfach, dass Du meine Frage nicht beantworten kannst (was Du ja nun wohl hast)
Das tat ich bereits in meinem ersten Kommentar.
Nur habe ich jetzt nicht die Zeit und den Willen das Thema zu erarbeiten (da es für mich keine sinnvollen Einsatzbereich dafür gibt) - und du offensichtlich auch nicht.
LG Markus
Gelöst werden konnte das Thema leider nicht. Ich beende es daher.