Español
Fuente/ Codesnippets

Menü Programmdesign

 

Normann
Strübli
:?: :?: :?:

Como wichtig es Eurer Meinung después de el gute Aussehen uno Programmes?
Klar, lo se simplemente a bedienen y funktionell ser, aber macht lo con algo mehr Pep no ungleich mehr Spaß una Programa a bedienen?
Oder lohnt el Aufwand no y es unnütze Spielerei?

Damit mi Yo ahora no irgendwelche ausgefallenen Fensterformen oder bunten Gráficos en el Hintergrund.
Schlicht debería lo ya ser y el Anwender una gewohntes Bild bieten,
schließlich se él se sí rápidamente zurechtfinden.

Als mögliches Ejemplo tener Yo veces una Popupmenü herangezogen.
Soll como una Menü en el XP-Style aussehen - naja.
Ladet Euch el Ejemplo doch veces runter, entonces puede ser el evtl. mejor
verstehen

Man möge me verzeihen el el Code no wirklich bien auskommentiert es, is sí sólo para probieren.
Außerdem dürfte Andreas Miethe el Grundstruktur bekannt vorkommen, el tener Yo de su XPRFDEMO geklaut

Yo voluntad el Ejemplo auch todavía aufarbeiten y einfacher hacer porque lo fehlen todavía Elemente como una Subpopupmenü oder una einfacher Separador. Verbesserungsvorschläge son auch gerngesehen
Evtl. Packe Yo todos entonces en un Incluir... aber primero Fragen
si el Aufwand lohnt.

Nebenbei sería mis intereses si el Ejemplo cada se ejecuta, kann
lo en me sólo bajo XP testen.

Achja, sin Xprofan se ejecuta como desafortunadamente nix

Escribe me Eure Meinung
 
05.06.2004  
 




Rolf
Koch
Hi Normann,
total GEIL!
Yo persönlich bevorzuge solche grafischen Spielerein. Tal vez ha uno lo el Roc ya angemerkt
Yo bin baff, endlich veces una Grundlage, welche el altbackenen Menüs verwirft - el finde Yo, son mittlerweile algo como de Langweilig.
SUPER
Leider tener Yo auch XP y como es sí logisch, daß lo como con usted se ejecuta.
NORMANN MACH WEITER DAMIT
 
05.06.2004  
 




Ragnar
Rehbein
hi

habe veces a la kurzen test bajo w2k y win98 gemacht.
w2k -> alles ok genau como en XP
win98 -> funktioniert grundsätzlich, sin embargo voluntad el farben el zeile en el el maus befindet no hervorgehoben. sólo el schrift se weiß.
el icons haben zuerst todos el farbe como el hervorgehobene icon.
en einmaligem herüberfahren se ellos entonces heller y ändert se entonces sólo todavía si la maus drüberfährt.

r.r.
 
09.06.2004  
 



Es super!!! El pequeño Symbole links son aba unos pocos pixel a hoch, oder? Yo mi en me son el no mittig.

IF
 
09.06.2004  
 




Dietmar
Horn
¡Hola,

habe kurz bajo ME getestet.

Ergebnis: -> como en r.r. bajo win98

Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
10.06.2004  
 




Normann
Strübli
danke primero, Yo tener como wohl todavía una wenig a tun...

Yo hoffe Yo finde el Tiempo al WE y voluntad todos veces
komplett überarbeiten se sí später auch simplemente einzubinden ser

Den Fehler con el Farben werd Yo entonces wohl auch todavía encontrar
Yo denke todos es una Problema con el Transparenz
 
10.06.2004  
 




Frank
Abbing
Hi,

also Yo finde, el sieht todavía irgendwie falso de (siehe Screenshot).

- El weiße Hintergrundsfarbe stimmt scheinbar no.
- Links neben el Icons es zuviel leerer Platz.
- En markierte Einträgen es el Texto no sichtbar.
- Einträge, el schonmal markiert waren, voluntad links 1-2 Pixel breiter
 
11.06.2004  
 




Normann
Strübli
[quote:f4279d66e3] also Yo finde, el sieht todavía irgendwie falso de (siehe Screenshot). [/quote:f4279d66e3]
Oh, Usted hast sí así bastante...
[quote:f4279d66e3] El weiße Hintergrundsfarbe stimmt scheinbar no. [/quote:f4279d66e3]
Doch, weiß es eigentlich correcto. Su otro Menüs müssten doch auch
así ser oder? ¿Puede sí veces en deiner Systemsteuerung el Farbe para Menüs ajustar entonces el auch anders
[quote:f4279d66e3] Links neben el Icons es zuviel leerer Platz. [/quote:f4279d66e3]
Yep! , fehlt el Bild. Sollte eigentlich así aussehen como unten.
[quote:f4279d66e3] En markierte Einträgen es el Texto no sichtbar. [/quote:f4279d66e3]
Das besagte Problema con el Transparenz.
[quote:f4279d66e3] Einträge, el schonmal markiert waren, voluntad links 1-2 Pixel breiter[/quote:f4279d66e3]
Frechheit!
aber Gracias.

Como ya erwähnt voluntad Yo mich bemühen (Das klingt siempre irgendwie negativo ) todos al Wochenende a bereinigen y una vernünftige Incluir a Basteln el auch ausreichend dokumentiert es.
 
11.06.2004  
 




Normann
Strübli
Hilfäää,

mannomann is el kompliziert para una como mich!
Yo versuche ahora seit Stunden mittels el API-Función
GetMenuItemInfo el Parámetro uno ausgewählten Menüpunktes a
bestimmen aber el Función liefert me siempre 0 zurück.

Aber veces langsam para nachvollziehen...

Erstmal Struktur redactar...
KompilierenMarcaSeparación
Das war schonmal schön simplemente...
also más:

Aufruf el Función:

BOOL WINAPI GetMenuItemInfo(
HMENU hMenu,
UINT uItem,
BOOL fByPosition,
LPMENUITEMINFO lpmii
);

El Función esperado como ersten Parámetro el Handle des Menüs
y como zweiten el ID. Der Dritte Parámetro son sólo a si se en
el zweiten Parámetro una Positions-ID des Menüeintrages oder una
Menu ID handel.

Also tener Yo folgendes gemacht:
WM_Menuselect se gesendet si la Anwender una Eintrag auswählt ha.
El propio Struktur Itemselect enthält sólo el Handle des Menüs
y el gewählten Eintrag.
KompilierenMarcaSeparación
...

IF Message& = ~WM_MENUSELECT

    ItemSelect#.Hmenu& = lParam&                 Handle des gewählten Menüs
    ItemSelect#.uItem& = LOWORD(wParam&)  ID des Eintrages
    Return 0

Endi
...

So ahora saber Yo el Handle des Menüs y el ID.
Theoretisch kann Yo ahora Así que el Función aufrufen.
KompilierenMarcaSeparación
~GetMenuItemInfo(ItemSelect#.Hmenu&,ItemSelect#.uItem&,0,MenuItemInfo#)

Jetzt son me el Función allerdings sólo una nüllchen zurück

Hoffe veces Yo tener el no a kompliziert y knapp erklärt, aber Ihr seid
sí todos bastante schön helle
 
11.06.2004  
 




Normann
Strübli
Ok, entonces ir wir el veces anders a
Also ahora VOLL KONKRET con mini Ejemplo.

El Función GetMenuItemInfo es weder en meiner API-BIBLE aún en
mi geliebten Petzold dokumentiert, obwohl ellos ya seit Win95
disponible es

Sí braucht porque kein Mensch esta überaus notwendige Función???


KompilierenMarcaSeparación
Header-Dateien
 $H windows.ph
 $H structs.ph
Struct MenuItemInfo = ~TMenuItemInfoA
Struktur sieht so aus:
cbSize%, fMask%, fType%, fState%, wID%, hSubMenu&, hbmpChecked&, hbmpUnchecked&, dwItemData&, dwTypeData&, cch%
Declare MenuItemInfo#
Declare hmenu&,Text$,Retval&
DIM MenuItemInfo#,MenuItemInfo
CLS
PopUp "&Datei"                Erstmal Menü erstellen
AppendMenu 100,"irgendwas"
AppendMenu 101,"irgendwie"
hmenu& = ~Getmenu(%hwnd)      her mit dem Menü-Handle
So zwischendurch mal was aus ner VB-Hilfe was den Aufruf von Getmenuiteminfo anbelangt:
Funktions Parameter:
hMenu
Erwartet den Handle eines Existierenden Menüs. (also hmenu&)
uItem
Erwartet einen ID der den Menüeintrag Identifiziert. Dies kann ein Positions-ID oder ein Menü-ID sein,
je nach dem was in "fByPosition" angegeben wird. (also z.B. 100)
fByPosition
Wird hier ein wert "ungleich 0" angegeben so erwartet die Funktion bei "uItem" den Positions-ID des
Menüeintrages, andernfalls muss bei "uItem" der Menü-ID angegeben werden. (also hier 1)
lpmii
Erwartet eine  MENUITEMINFO-Struktur die voreingestellt ist um die Informationen zu Empfangen.
Zu diesem Zweck müssen die "cbSize, fMask, dwTypeData und cch" Optionen der Struktur gesetzt sein
um erfolgreich die Informationen zu ermitteln. (also die Struktur MenuitemInfo#)
Also erstmal cbSize, fMask, dwTypeData und cch mit Werten bestücken:
Text$ = @space$(256)
MenuitemInfo#.cbSize% = @SizeOf(Menuiteminfo#)  Größe der Struktur
MenuitemInfo#.fMask% = ~MIIM_STATE | ~MIIM_TYPE Das was ich an "Info" haben will
MenuitemInfo#.dwTypeData& = @addr(Text$)        Hier bin ich mir nicht sicher wird hier die Adresse der Variablen
erwartet???
MenuitemInfo#.cch% = 256                        Länge des Menü-Item textes
SO JETZT SOLLTE ES DOCH KLAPPEN !?
RETVAL& = ~GetMenuItemInfo(Hmenu&,100,1,Menuiteminfo#)
Print "GetmenuitemInfo Returns:" ,RetVal&

If Retval& = 0

    Print "War wieder nix!"

else

    Print "Ich liebe Dich!"

endif

waitinput
 
13.06.2004  
 




Andreas
Miethe


Ein kleine Anregung ?
KompilierenMarcaSeparación
 $H windows.ph
 $H structs.ph
Struct MenuItemInfo = cbSize&, fMask&, fType&, fState&, wID&, hSubMenu&, hbmpChecked&, hbmpUnchecked&, dwItemData&, dwTypeData&, cch&
Declare MenuItemInfo#
Declare hmenu&,Text$,Retval&
DIM MenuItemInfo#,MenuItemInfo
CLS
PopUp "&Datei"                Erstmal Menü erstellen
AppendMenu 100,"irgendwas"
AppendMenu 101,"irgendwie"
hmenu& = ~Getmenu(%hwnd)      her mit dem Menü-Handle
Text$ = @space$(256)
MenuitemInfo#.cbSize& = SizeOf(Menuiteminfo#)
MenuitemInfo#.fMask& = ~MIIM_STATE | ~MIIM_TYPE
MenuitemInfo#.fType& = ~MFT_STRING
MenuitemInfo#.dwTypeData& = addr(Text$)
MenuitemInfo#.cch& = 256Buffer-Groesse für Text$
RETVAL& = ~GetMenuItemInfo(Hmenu&,100,0,Menuiteminfo#)
Print "GetmenuitemInfo Returns:" ,RetVal&

If Retval& = 0

    Print "War wieder nix!"

else

    Print "Ich liebe mich!"
    Print Trim$(Text$)

endif

waitinput
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
13.06.2004  
 




Normann
Strübli
Arrghh!

Nein, y yo Trottel tener mich siempre en el Struktur en el Windows.ph verlassen!

Aber el einzige Diferencia es doch el en el Headerdatei teilweise integer en lugar de longint. posición

Aber en el Profano hilfe es doch:[quote:89b0dfcc1a] Integervariablen puede en un 32-Bit-Sistema el gleichen Werte como Longint-Variables haben [/quote:89b0dfcc1a]
Also por qué funzt el así no?
Ist el una Fehler en el Windows.ph?

Auch sólo otra vez así para Verständnis...

Auf jedenfall Andreas Yo DANKE DIR!!!

 
13.06.2004  
 




Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

26.504 Views

Untitledvor 0 min.
Gast.081525.08.2024
Thomas Freier30.01.2024
RudiB.18.04.2021
Manfred Barei28.03.2020
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie