Italia
Foro

Menuetext ändern

 

Manfred
Barei
Ciao,

gibt es per das Fenster Menu sowas wie Settext um den Menuetext zu ändern

Saluto
 
Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 |
13.01.2011  
 



Hilft Dir SetMenuItemInfo  [...]  ?
 
14.01.2011  
 




Rolf
Koch
oder zur Not eine Proc schreiben. Kompl. Menü löschen und mit neuen Werten (z.B. Parameterübergabe in Proc) neu erstellen. So würde ich es machen.
 
14.01.2011  
 




Detlef
Jagolski
Oder so?
Declare appexit%
Declare Button1&
Declare Menu#, hSubMenu&
 $H WINDOWS.PH
 $H MESSAGES.PH

Proc CreateMainMenu

    Popup "Beispiel"
    AppendMenu 1,"Text1"

EndProc

Set("TrueColor", 1)
WindowStyle $003F
WindowTitle "DesignForm"
Window %maxX + 5,114 - 498,415
Cls ~GetSysColor(15)
UseFont "MS Sans Serif",13,0,0,0,0
SetDialogFont 1
CreateMainMenu
Button1&=Create("Button",%hwnd,"Menü ändern",93,65,75,25)
SetWindowPos %hwnd = 207,114 - 498,415;0

WhileNot appexit%

    WaitInput

    If %key = 2

        appexit% = 1

    ElseIf MenuItem(1)

        'Menü Text1

    ElseIf Clicked(Button1&)

        Dim Menu#,255
        hSubMenu& = ~GetSubMenu(&hMenu,0)
        String Menu#,0="Ich bin der neue Text"
        ~ModifyMenu(hSubMenu&,0,~MF_BYPOSITION | ~MF_STRING,1,Menu#)
        Dispose Menu#

    ElseIf %key = 4

        ' Fenstergröße

    ElseIf %key = 5

        ' Aiuto

    EndIf

Wend

 
XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11
14.01.2011  
 




Manfred
Barei
Hallo Detlef,

so habe ich das schon hinbekommen, jedoch möchte Io l' Hauptmenueintrag (Oberste Ebene) auch ändern (das ist dass was ich noch nicht hinbekomme), per weitere Vorshläge bin ich offen.

Habe es so gemacht, wie Rolf es vorgeschlagen hat, jedoch sollte es doch auch eine andere Möglichkeit geben, andere Programme bekommen das doch auch hin.

Das ist vieleicht ein vorschlag per XProfan13 (SetText auch per das Menu), Roland ist dies eventuel umsetzbar?

Saluto
 
Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 |
14.01.2011  
 




Rolf
Koch
Dürfte doch kein Problem sein:

Also nur &hmenu angeben.
 
14.01.2011  
 




Rolf
Koch
ach vergessen, damit es auch direkt aktualisiert danach noch ein:
 
14.01.2011  
 




Detlef
Jagolski
Besser ist
 
XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11
14.01.2011  
 




Manfred
Barei
Hallo Detlef,

kannst du noch einmal helfen, bekomme es einfach nicht hin.
Den hMenu Eintrag kann ich nun ändern, jedoch bekomme ich das mit dem hSubMenu Eintrag einfach nicht hin, siehe Code.
Declare appexit%
Declare Button1&,Button2&
Declare Menu#,hMenu&,hSubMenu&
Dim Menu#,255
 $H WINDOWS.PH
 $H MESSAGES.PH

Proc CreateMainMenu

    Popup "Hauptmenü1"
    AppendMenu 1,"Text1"
    Popup "Hauptmenü2"
    AppendMenu 2,"Text2"

EndProc

Proc ChangeMenu

    Parameters m%,nr%,Text$
    ' m%, bei 0 ist das hMenu gemeint, bei 1 das hSubMenu
    ' nr%, die Position des hMenu bzw. d MenuItem
    ' Text$ enthält den neuen Text
    hMenu& = ~GetMenu(&hMenu,0)
    hSubMenu& = ~GetSubMenu(&hMenu,0)
    String Menu#,0=Text$
    Case m%=0 : ~ModifyMenu(&hMenu,nr%,~MF_BYPOSITION | ~MF_STRING,1,Menu#)
    Case m%=1 : ~ModifyMenu(hSubMenu&,nr%,~MF_BYPOSITION | ~MF_STRING,1,Menu#)
    ~DrawMenuBar(%hwnd)

EndProc

Set("TrueColor", 1)
WindowStyle $003F
WindowTitle "DesignForm"
Window %maxX + 5,114 - 498,415
Cls ~GetSysColor(15)
UseFont "MS Sans Serif",13,0,0,0,0
SetDialogFont 1
CreateMainMenu
Button1&=Create("Button",%hwnd,"hMenü ändern",93,65,100,25)
Button2&=Create("Button",%hwnd,"subMenü ändern",93,100,100,25)
SetWindowPos %hwnd = 207,114 - 498,415;0

WhileNot appexit%

    Waitinput

    If %key = 2

        appexit% = 1
        Dispose Menu#

    ElseIf MenuItem(1)

        'Menü Text1

    ElseIf Clicked(Button1&)

        ChangeMenu 0,0,"Hauptmenü OK"

    ElseIf Clicked(Button2&)

        ChangeMenu 1,1,"Test2 OK"

    ElseIf %key = 4

        ' Fenstergröße

    ElseIf %key = 5

        ' Aiuto

    EndIf

Wend


Saluto
 
Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 |
21.01.2011  
 




Detlef
Jagolski
Hallo Manfred,

so sollte es gehen.

GetMenu hat nur ein Parameter und muss %hwnd sein in unserem Fall, &hMenu ist das Handle vom Menü des Hauptfensters.deshalb brauchen wir hMenu& = ~GetMenu(%hwnd) nicht, hatte bei Dir auch keine Funktion.
Declare appexit%
Declare Button1&,Button2&
Declare Menu#,hMenu&,hSubMenu&
Dim Menu#,255
 $H WINDOWS.PH
 $H MESSAGES.PH

Proc CreateMainMenu

    Popup "Hauptmenü1"
    AppendMenu 1,"Text1"
    Popup "Hauptmenü2"
    AppendMenu 2,"Text2"

EndProc

Proc ChangeMenu

    Parameters m%,nr%,Pos%,Text$
    ' m%, bei 0 ist das hMenu gemeint, bei 1 das hSubMenu
    ' nr%, die Position des hMenu bzw. d MenuItem
    ' Pos% gibt die Position an per das hSubMenu an
    ' Text$ enthält den neuen Text
    hSubMenu& = ~GetSubMenu(&hMenu,Pos%)
    String Menu#,0=Text$
    Case m%=0 : ~ModifyMenu(&hMenu,nr%,~MF_BYPOSITION | ~MF_STRING,1,Menu#)
    Case m%=1 : ~ModifyMenu(hSubMenu&,nr%,~MF_BYPOSITION | ~MF_STRING,1,Menu#)
    ~DrawMenuBar(%hwnd)

EndProc

Set("TrueColor", 1)
WindowStyle $003F
WindowTitle "DesignForm"
Window %maxX + 5,114 - 498,415
Cls ~GetSysColor(15)
UseFont "MS Sans Serif",13,0,0,0,0
SetDialogFont 1
CreateMainMenu
Button1&=Create("Button",%hwnd,"hMenü ändern",93,65,100,25)
Button2&=Create("Button",%hwnd,"subMenü ändern",93,100,100,25)
SetWindowPos %hwnd = 207,114 - 498,415;0

WhileNot appexit%

    Waitinput

    If %key = 2

        appexit% = 1
        Dispose Menu#

    ElseIf MenuItem(1)

        'Menü Text1

    ElseIf Clicked(Button1&)

        ChangeMenu 0,0,-1,"Hauptmenü OK"

    ElseIf Clicked(Button2&)

        ChangeMenu 1,0,0,"Test2 OK"

    ElseIf %key = 4

        ' Fenstergröße

    ElseIf %key = 5

        ' Aiuto

    EndIf

Wend

 
XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11
22.01.2011  
 




Manfred
Barei
Hallo Detlef,

DAAAAAAAANNNNNKKKEE, jetzt funtz es wie ich es brauche.
Das mit dem zweiten Parameter bei ~GetSubMenu wahr dass was ich immer falsch gemacht habe, hat das kanze Lesen im Netz nichts genützt.

Nochmals Danke per die Aiuto auch an alle anderen.

Saluto aus der Heide
 
Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 |
22.01.2011  
 




Detlef
Jagolski
Detlef Jagolski (22.01.11)
Hallo Manfred,

so sollte es gehen.

GetMenu hat nur ein Parameter und muss %hwnd sein in unserem Fall, &hMenu ist das Handle vom Menü des Hauptfensters.deshalb brauchen wir hMenu& = ~GetMenu(%hwnd) nicht, hatte bei Dir auch keine Funktion.
Declare appexit%
Declare Button1&,Button2&
Declare Menu#,hMenu&,hSubMenu&
Dim Menu#,255
 $H WINDOWS.PH
 $H MESSAGES.PH

Proc CreateMainMenu

    Popup "Hauptmenü1"
    AppendMenu 1,"Text1"
    Popup "Hauptmenü2"
    AppendMenu 2,"Text2"

EndProc

Proc ChangeMenu

    Parameters m%,nr%,Pos%,Text$
    ' m%, bei 0 ist das hMenu gemeint, bei 1 das hSubMenu
    ' nr%, die Position des hMenu bzw. d MenuItem
    ' Pos% gibt die Position an per das hSubMenu
    ' Text$ enthält den neuen Text
    hSubMenu& = ~GetSubMenu(&hMenu,Pos%)
    String Menu#,0=Text$
    Case m%=0 : ~ModifyMenu(&hMenu,nr%,~MF_BYPOSITION | ~MF_STRING,1,Menu#)
    Case m%=1 : ~ModifyMenu(hSubMenu&,nr%,~MF_BYPOSITION | ~MF_STRING,1,Menu#)
    ~DrawMenuBar(%hwnd)

EndProc

Set("TrueColor", 1)
WindowStyle $003F
WindowTitle "DesignForm"
Window %maxX + 5,114 - 498,415
Cls ~GetSysColor(15)
UseFont "MS Sans Serif",13,0,0,0,0
SetDialogFont 1
CreateMainMenu
Button1&=Create("Button",%hwnd,"hMenü ändern",93,65,100,25)
Button2&=Create("Button",%hwnd,"subMenü ändern",93,100,100,25)
SetWindowPos %hwnd = 207,114 - 498,415;0

WhileNot appexit%

    Waitinput

    If %key = 2

        appexit% = 1
        Dispose Menu#

    ElseIf MenuItem(1)

        'Menü Text1

    ElseIf Clicked(Button1&)

        ChangeMenu 0,0,-1,"Hauptmenü OK"

    ElseIf Clicked(Button2&)

        ChangeMenu 1,0,0,"Test2 OK"

    ElseIf %key = 4

        ' Fenstergröße

    ElseIf %key = 5

        ' Aiuto

    EndIf

Wend


 
XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11
22.01.2011  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

19.571 Views

Untitledvor 0 min.
RudiB.01.02.2022
Georg Teles10.03.2018
Ernst12.05.2016
Michael W.22.08.2015
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie