Français
Wünsche et Anregungen

Wunsch: SubClassMode erweitern

 

Uwe
''Pascal''
Niemeier
Hi Roland!

Habe justement festgestellt, qui sich SubClassProc  pas sur OwnerDraw-Menüs anwenden läßt, weil selbige per TrackPopupMenu -API aufgerufen volonté doit et SubClassProc  dabei pas greift (seulement chez WaitInput  ou bien dem Profan-Internen TrackMenu )

Vorschlag: un SubClassMode ou bien Ähnliches, chez dem qui Proc permanent aufgerufen wird, aussi si cela Prog pas explizit sur irgendwas wartet (alors analog zur Methode avec ProcAddr ).
Möglicherweise pas entier unproblematisch chez qui Anwendung, mais: No Risk, No Fun
Wäre pour Sonderfälle jedenfalls nützlich.

SeeYou
Pascal
 
14.02.2009  
 




Andreas
Miethe


Uwe Pascal Niemeier
Hi Roland!

Habe justement festgestellt, qui sich SubClassProc  pas sur OwnerDraw-Menüs anwenden läßt, weil selbige per TrackPopupMenu -API aufgerufen volonté doit et SubClassProc  dabei pas greift (seulement chez WaitInput  ou bien dem Profan-Internen TrackMenu )

Vorschlag: un SubClassMode ou bien Ähnliches, chez dem qui Proc permanent aufgerufen wird, aussi si cela Prog pas explizit sur irgendwas wartet (alors analog zur Methode avec ProcAddr ).
Möglicherweise pas entier unproblematisch chez qui Anwendung, mais: No Risk, No Fun
Wäre pour Sonderfälle jedenfalls nützlich.

SeeYou
Pascal


pourquoi doit qui car per TrackPopupMenu aufgerufen volonté ?
cela kapier je irgendwie pas.
je prends à, Du beziehst toi ici sur Trackmenüs ? ou bien aussi 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!


pourquoi doit qui car per TrackPopupMenu aufgerufen volonté ?
je prends à, Du beziehst toi ici sur Trackmenüs ?


Yepp! et qui doit oui per API angelegt volonté, um vous trop manipuler (OwnerDraw mettons), weil cela profane CreateMenu  ne...aucune Handle zurückgibt. renversé bezieht sich Profans TrackMenu  seulement sur Menüs, qui plan per Profan erzeugt wurden. ou bien gibts pour déjà ne Systemvariable?

Es sei car...(suis je tantôt sur elle gekommen )
si on ne...aucune TrackMenü anlegt et quand même versucht, eines aufzurufen, erscheint stattdessen cela dernier Popup-menu des Fensters, à cela on oui per &hMenu  drankommt.

Abgesehen en peux es oui aussi Fälle donner, dans denen on SubClassing generell nutzen veux, au cours de cela Programme justement avec irgendwas beschäftigt ist (aussi si cela Timing là peut-être quelque chose haarig volonté pourrait)

SeeYou
Pascal
 
14.02.2009  
 




Andreas
Miethe


Uwe Pascal Niemeier
Hi Andreas!

Yepp! et qui doit oui per API angelegt volonté, um vous trop manipuler (OwnerDraw mettons), weil cela profane CreateMenu  ne...aucune Handle zurückgibt. renversé bezieht sich Profans TrackMenu  seulement sur Menüs, qui plan per Profan erzeugt wurden. ou bien gibts pour déjà ne Systemvariable?



cela Beispiel zeigt, dass es aussi anders allez.
Ist sur qui Schnelle zusammenkopiert, alors encore pas entier ausgereift.
KompilierenMarqueSéparation
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  
 



cela funktioniert super chez mir!
 
14.02.2009  
 



 
14.02.2009  
 




Uwe
''Pascal''
Niemeier
*sichvordenkopfschlag*

je sag oui: je et qui Système... (irgendwie denke je toujours, qui Biester wären konstant )

quand même lasse je meinen Vorschlag la fois so stehen

@ Andreas: Leite deinen Code doch la fois à HoHo plus!

SeeYou
Pascal
 
14.02.2009  
 




RGH
Salut,
entre CreateMenu et TrackMenu() hat &Menu cela Handle des PopUp-Menüs!

Salut
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  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

3.454 Views

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

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie