vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: System-Menü eines Forms erweitern II 
Autor: Hawker
Datum: 08.03.08 15:34

Hab da mal was gecoded. Die Prozedur fügt einen Trennstrich und einen neuen Eintrag
hinzu.

Private Sub InsertItem()
    Dim hSysMenu As Long 
    Dim count As Long   
    Dim MenuItem As MENUITEMINFO
    Dim retval As Long  
    Dim menu As Long
 
    menu = GetMenu(Form1.hwnd)
    hSysMenu = GetSubMenu(menu, 1)
   'Anzahl der Elemente:
    count = GetMenuItemCount(hSysMenu)
 
    'Zuerst noch einen Trennstrich einfügen:
    With MenuItem
        .cbSize = Len(MenuItem)
        .fMask = MenuItemM_ID Or MenuItemM_TYPE
        .fType = MFT_SEPARATOR
        .wID = 0 'Die ID des Eintrags
    End With
    retval = InsertMenuItem(hSysMenu, count, 1, MenuItem)
 
    With MenuItem
        .fMask = MenuItemM_STATE Or MenuItemM_ID Or MenuItemM_TYPE Or _
          MenuItemM_SUBMENU
        .fType = MFT_STRING ' Der Eintag ist vom Typ String
        .fState = MFS_ENABLED 'DerEintrag soll enabled sein
        .wID = 1 'ID
        .dwTypeData = "Neuer Eintrag"
        .cch = Len(.dwTypeData)
    End With
    retval = InsertMenuItem(hSysMenu, count + 1, 1, MenuItem)
 
End Sub
Fehlen nur noch die APIs und die MENUITEMINFO-Struktur:

Public Declare Function GetMenuItemCount Lib "user32.dll" (ByVal hMenu As Long) _
  As Long
Public Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal _
  nPos As Long) As Long
Public Declare Function InsertMenuItem Lib "user32.dll" Alias "InsertMenuItemA" _
(ByVal hMenu As Long, ByVal uItem As Long, ByVal fByPosition As Long, lpmii As _
MENUITEMINFO) As Long
 
Public Type MENUITEMINFO
    cbSize As Long
    fMask As Long
    fType As Long
    fState As Long
    wID As Long
    hSubMenu As Long
    hbmpChecked As Long
    hbmpUnchecked As Long
    dwItemData As Long
    dwTypeData As String
    cch As Long
End Type
Public Const MIIM_STATE = &H1
Public Const MIIM_ID = &H2
Public Const MIIM_SUBMENU = &H3
Public Const MIIM_TYPE = &H10
Public Const MFT_SEPARATOR = &H800
Public Const MFT_STRING = &H0
Public Const MFS_ENABLED = &H0
Public Const MFS_CHECKED = &H8
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
System-Menü eines Forms erweitern II1.231dj.tommy07.03.08 20:27
Re: System-Menü eines Forms erweitern II863Hawker08.03.08 15:34
Re: System-Menü eines Forms erweitern II810Hawker08.03.08 15:38
Re: System-Menü eines Forms erweitern II794dj.tommy08.03.08 16:35
Re: System-Menü eines Forms erweitern II777Hawker08.03.08 18:11
Re: System-Menü eines Forms erweitern II752dj.tommy08.03.08 18:34
Re: System-Menü eines Forms erweitern II786Hawker08.03.08 19:11
Re: System-Menü eines Forms erweitern II739dj.tommy08.03.08 19:20
Re: System-Menü eines Forms erweitern II786dj.tommy09.03.08 10:32
Re: System-Menü eines Forms erweitern II771Hawker10.03.08 20:55
Re: System-Menü eines Forms erweitern II763dj.tommy11.03.08 15:33
Re: System-Menü eines Forms erweitern II872Hawker11.03.08 17:30
Re: System-Menü eines Forms erweitern II863Hawker11.03.08 17:32
Re: System-Menü eines Forms erweitern II825dj.tommy11.03.08 20:21
Re: System-Menü eines Forms erweitern II780Hawker11.03.08 21:02
Re: System-Menü eines Forms erweitern II809dj.tommy11.03.08 21:14

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel