Español
Fuente/ Codesnippets

Ownerdraw Subclass Trackmenu

 
TrackMenu SubClass OwnerDraw  [...] 

Andreas Miethe
Ist en el Schnelle zusammenkopiert, also todavía no bastante ausgereift.
'Encabezamiento-Archivos
 $H windows.ph
 $H messages.ph
Declarar Ende&
Declarar Rect1#,hIcon1&,lpmis#,Size#
Dim Rect1#,16
Dim lpmis#,24
Dim Size#,8
Declarar MyItem#[3]'reicht para 4 Einträge
Struct Item = Eintrag&,Icon&
Dim MyItem#[],Item
Var Texto$ = "Info"
Var Texto2$ = "Beenden"
MyItem#[0].Eintrag& = Addr(Texto$)
MyItem#[1].Eintrag& = Addr(Texto2$)
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])
    Volver @TrackMenu()

ENDPROC

Windowstyle 26 + 512
Título de la ventana "Test"
Ventana 0,0-640,480
SubClass %HWnd, 1

Sinestar encargado Ende&

    Waitinput

    If %MousePressed = 2'Rechter Mausbutton gedrückt

        Menue()

        If (%MenuItem = 101)

            @Messagebox("Programmiert en XProfan 11","Hinweis",64)

        ElseIf (%MenuItem = 103)

            Ende&=1

        EndIf

    Endif

Endwhile

Disponer Rect1#,lpmis#,Size#
End

SubClassProc

    If SubClassMessage(%hWnd,~WM_MEASUREITEM)

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

    ElseIf SubClassMessage(%hWnd,~WM_DRAWITEM)

        IF Largo(&slParam,16) & 1'si selektiert

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

        Más

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

        EndIf

        'Rechteck para el Edición ermitteln
        Largo Rect1#,0 = Largo(&slParam,28)'X
        Largo Rect1#,4 = Largo(&slParam,32)'Y
        Largo Rect1#,8 = Largo(&slParam,36)'Breite
        Largo Rect1#,12 =Largo(&slParam,40)'Höhe
        'Edición
        ~ExtTextOut(Largo(&slParam,24),Largo(&slParam,28)+20,Largo(&slParam,32),~ETO_OPAQUE,Rect1#,Largo(Largo(&slParam,44),0),Len(String$(Largo(Largo(&slParam,44),0),0))  ,0)
        ~DrawIconEx(Largo(&slParam,24),0,Largo(&slParam,32),Largo(Largo(&slParam,44),4),13,13,0,0,~DI_NORMAL)
        Conjunto("WinProc", 0)

    EndIf

ENDPROC

 
14.02.2009  
 



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

2.279 Views

Untitledvor 0 min.
Jörg Sellmeyer02.07.2018
Georg Teles30.01.2016
Ernst30.04.2014
Peter Max Müller10.09.2013
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

iF (1x)


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