Español
Wünsche y Sugerencias

Wunsch: SubClassMode erweitern

 

Uwe
''Pascal''
Niemeier
Hi Roland!

Posesiones gerade festgestellt, daß se SubClassProc  no en OwnerDraw-Menüs anwenden läßt, porque selbige por TrackPopupMenu -API aufgerufen voluntad necesario y SubClassProc  esta no greift (sólo en WaitInput  oder el Profano-Internen TrackMenu )

Vorschlag: Ein SubClassMode oder Ähnliches, en el el Proc permanent aufgerufen se, auch si el Prog no explizit en algo wartet (also analog a Método con ProcAddr ).
Möglicherweise no bastante unproblematisch en Anwendung, aber: No Risk, No Fun
Wäre para Sonderfälle jedenfalls nützlich.

SeeYou
Pascal
 
14.02.2009  
 




Andreas
Miethe


Uwe Pascal Niemeier
Hi Roland!

Posesiones gerade festgestellt, daß se SubClassProc  no en OwnerDraw-Menüs anwenden läßt, porque selbige por TrackPopupMenu -API aufgerufen voluntad necesario y SubClassProc  esta no greift (sólo en WaitInput  oder el Profano-Internen TrackMenu )

Vorschlag: Ein SubClassMode oder Ähnliches, en el el Proc permanent aufgerufen se, auch si el Prog no explizit en algo wartet (also analog a Método con ProcAddr ).
Möglicherweise no bastante unproblematisch en Anwendung, aber: No Risk, No Fun
Wäre para Sonderfälle jedenfalls nützlich.

SeeYou
Pascal


¿Por qué necesario el porque por TrackPopupMenu aufgerufen voluntad ?
Das kapier Yo irgendwie no.
Yo nehme a, Usted beziehst Usted hier en Trackmenüs ? Oder auch Fenstermenüs ?
 
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 :  [...] 
14.02.2009  
 




Uwe
''Pascal''
Niemeier
Hi Andreas!


¿Por qué necesario el porque por TrackPopupMenu aufgerufen voluntad ?
Yo nehme a, Usted beziehst Usted hier en Trackmenüs ?


Yepp! Und el necesario sí por API creado voluntad, en ellos a manipulieren (OwnerDraw conjunto), porque el profane CreateMenu  kein Handle zurückgibt. Umgekehrt bezieht se Profans TrackMenu  sólo en Menüs, el eben por Profano producido fueron. Oder gibts dafür ya ne Systemvariable?

Lo sei porque...(Bin Yo eben sólo en él gekommen )
Wenn uno kein TrackMenü anlegt y trotzdem intenta, uno aufzurufen, erscheint stattdessen el letzte Popup-Menü la ventana, a el uno sí por &hMenu  drankommt.

Abgesehen su kann lo en efecto Fälle geben, en denen uno SubClassing generell nutzen voluntad, während el Programa gerade con algo beschäftigt es (auch si el Timing como tal vez algo haarig voluntad podría)

SeeYou
Pascal
 
14.02.2009  
 




Andreas
Miethe


Uwe Pascal Niemeier
Hi Andreas!

Yepp! Und el necesario sí por API creado voluntad, en ellos a manipulieren (OwnerDraw conjunto), porque el profane CreateMenu  kein Handle zurückgibt. Umgekehrt bezieht se Profans TrackMenu  sólo en Menüs, el eben por Profano producido fueron. Oder gibts dafür ya ne Systemvariable?



Das Ejemplo zeigt, dass lo auch anders va.
Ist en el Schnelle zusammenkopiert, also todavía no bastante ausgereift.
KompilierenMarcaSeparación
Header-Dateien
 $H windows.ph
 $H messages.ph
Declare Ende&
Declare Rect1#,hIcon1&,lpmis#,Size#
Dim Rect1#,16
Dim lpmis#,24
Dim Size#,8
Declare MyItem#[3]reicht für 4 Einträge
Struct Item = Eintrag&,Icon&
Dim MyItem#[],Item
Var Text$ = Info
Var Text2$ = Beenden
MyItem#[0].Eintrag& = Addr(Text$)
MyItem#[1].Eintrag& = Addr(Text2$)
MyItem#[0].Icon&    = ~LoadIcon(%hInstance,A)
MyItem#[1].Icon&    = ~LoadIcon(%hInstance,Eimer)

Proc Menue

    CreateMenu
    AppendMenu 101, Info
    ~ModifyMenu(&hMenu,101,~MF_BYCOMMAND | ~MF_OWNERDRAW,101,MyItem#[0])
    AppendMenu 103, Beenden
    ~ModifyMenu(&hMenu,103,~MF_BYCOMMAND | ~MF_OWNERDRAW,103,MyItem#[1])
    Return @TrackMenu()

EndProc

Windowstyle 26 + 512
WindowTitle Test
Window 0,0-640,480
SubClass %HWnd, 1

Whilenot Ende&

    Waitinput

    If %MousePressed = 2Rechter Mausbutton gedrückt

        Menue()

        If (%MenuItem = 101)

            @Messagebox(Programmiert in XProfan 11,Hinweis,64)

        ElseIf (%MenuItem = 103)

            Ende&=1

        EndIf

    Endif

Endwhile

Dispose Rect1#,lpmis#,Size#
End

SubClassProc

    If SubClassMessage(%hWnd,~WM_MEASUREITEM)

        lpmis# = &slParam
        ~GetTextExtentPoint32(%hdc,Long(Long(&slParam,20),0),Len(String$(Long(Long(&slParam,20),0),0)),Size#)
        Long lpmis#,12 = Long(Size#,0)
        Set(WinProc, 0)

    ElseIf SubClassMessage(%hWnd,~WM_DRAWITEM)

        IF Long(&slParam,16) & 1wenn selektiert

            ~SetTextColor(Long(&slParam,24),$FFFFFF)
            ~SetBkColor(Long(&slParam,24),$8000)

        Else

            ~SetTextColor(Long(&slParam,24),0)
            ~SetBkColor(Long(&slParam,24),$FCFDC8)

        EndIf

        Rechteck für die Ausgabe ermitteln
        Long Rect1#,0 = Long(&slParam,28)X
        Long Rect1#,4 = Long(&slParam,32)Y
        Long Rect1#,8 = Long(&slParam,36)Breite
        Long Rect1#,12 =Long(&slParam,40)Höhe
        Ausgabe
        ~ExtTextOut(Long(&slParam,24),Long(&slParam,28)+20,Long(&slParam,32),~ETO_OPAQUE,Rect1#,Long(Long(&slParam,44),0),Len(String$(Long(Long(&slParam,44),0),0))  ,0)
        ~DrawIconEx(Long(&slParam,24),0,Long(&slParam,32),Long(Long(&slParam,44),4),13,13,0,0,~DI_NORMAL)
        Set(WinProc, 0)

    EndIf

ENDPROC

 
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 :  [...] 
14.02.2009  
 



Das funktioniert super en me!
 
14.02.2009  
 



 
14.02.2009  
 




Uwe
''Pascal''
Niemeier
*sichvordenkopfschlag*

Yo sag sí: Yo y el Systemvariablen... (irgendwie denke Yo siempre, el Biester wären konstant )

Trotzdem lasse Yo media Vorschlag veces así posición

@ Andreas: Leite deinen Code doch veces a HoHo más!

SeeYou
Pascal
 
14.02.2009  
 




RGH
¡Hola,
zwischen CreateMenu y TrackMenu() ha &Menu el Handle des PopUp-Menüs!

Saludo
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
14.02.2009  
 



Respuesta


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

3.472 Views

Untitledvor 0 min.
Jörg Sellmeyer16.05.2018
Ernst30.04.2014
iF09.09.2012
Uwe ''Pascal'' Niemeier05.04.2012

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