Español
Fuente/ Codesnippets

Profano Sidebar

 

KompilierenMarcaSeparación
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
SideBar mit Profan
Sidebar ähnlich wie zum Beispiel in Spybot-Search & Destroy, die Buttons sind noch nicht so gelungen
bei Verwendung von getmessage anstatt waitinput kann man schon Hoover-Effekte erzielen.
Unter Xprofan 8.0 geschrieben müsste aber unter anderen Versionen laufen
habe deshalb die Tooltips von Xprofan ausgelassen.
getestet unter W Me und W XP prof.
Die Icons kommen aus der Shell32.dll, deshalb kann es sein, dass in einigen Windowsversionen
Icons fehlen.
Autor 2004 Dieter Zornow
zur freien Verwendung oder Weiterentwicklung
DEF ExtractIcon(3) ! SHELL32,ExtractIconA
Declare static&,menu1&,menu2&,menu3&,menu4&,menue%
Declare icon1&,icon2&,icon3&,icon4&,icon5&,icon6&,icon7&,icon8&,icon9&
Declare icon10&,icon11&,icon12&,icon13&,icon14&,icon15&,icon16&,icon17&,icon18&,icon19&
SETTRUECOLOR 1
menue% = 1

PROC CreateIconButton

    Parameters hndl&,icoInd&,Res$,x%,y%,x1%,y1%
    Declare ico#,icohndl&,Bhndl&
    Dim ico#,Add(Len(Res$),1)
    String ico#,0 = Res$
    Let icohndl& = ExtractIcon(%Hinstance,ico#,icoInd&)
    Bhndl&=Control(BUTTON,,$5400C340,x%,y%,x1%,y1%,hndl&,0,%hinstance,$0)
    Bhndl&=Control(BUTTON,,$5400C040,x%,y%,x1%,y1%,hndl&,0,%hinstance,$020)
    Sendmessage(Bhndl&,$00F7,1,icohndl&)
    Dispose ico#
    Return Bhndl&

ENDPROC

proc Make1

    CreateICONBUTTON static&,4,SHELL32.DLL,0,0,0,0
    ICON1&=@&(0)
    CreateICONBUTTON static&,1,SHELL32.DLL,0,0,0,0
    ICON2&=@&(0)
    CreateICONBUTTON static&,5,SHELL32.DLL,0,0,0,0
    ICON3&=@&(0)
    CreateICONBUTTON static&,13,SHELL32.DLL,0,0,0,0
    ICON4&=@&(0)
    CreateICONBUTTON static&,17,SHELL32.DLL,0,0,0,0
    ICON5&=@&(0)
    CreateICONBUTTON static&,21,SHELL32.DLL,0,0,0,0
    ICON6&=@&(0)
    CreateICONBUTTON static&,27,SHELL32.DLL,0,0,0,0
    ICON7&=@&(0)

endproc

proc Make2

    CreateICONBUTTON static&,22,SHELL32.DLL,0,0,0,0
    ICON8&=@&(0)
    CreateICONBUTTON static&,23,SHELL32.DLL,0,0,0,0
    ICON9&=@&(0)
    CreateICONBUTTON static&,31,SHELL32.DLL,0,0,0,0
    ICON10&=@&(0)
    CreateICONBUTTON static&,41,SHELL32.DLL,0,0,0,0
    ICON11&=@&(0)

endproc

proc Make3

    CreateICONBUTTON static&,53,SHELL32.DLL,0,0,0,0
    ICON12&=@&(0)
    CreateICONBUTTON static&,70,SHELL32.DLL,0,0,0,0
    ICON13&=@&(0)
    CreateICONBUTTON static&,68,SHELL32.DLL,0,0,0,0
    ICON14&=@&(0)
    CreateICONBUTTON static&,88,SHELL32.DLL,0,0,0,0
    ICON15&=@&(0)

endproc

proc Make4

    CreateICONBUTTON static&,104,SHELL32.DLL,0,0,0,0
    ICON16&=@&(0)
    CreateICONBUTTON static&,102,SHELL32.DLL,0,0,0,0
    ICON17&=@&(0)
    CreateICONBUTTON static&,90,SHELL32.DLL,0,0,0,0
    ICON18&=@&(0)
    CreateICONBUTTON static&,95,SHELL32.DLL,0,0,0,0
    ICON19&=@&(0)

endproc

proc show1

    SetWindowPos icon1&=40,40-32,32;0
    SetWindowPos icon2&=40,80-32,32;0
    SetWindowPos icon3&=40,120-32,32;0
    SetWindowPos icon4&=40,160-32,32;0
    SetWindowPos icon5&=40,200-32,32;0
    SetWindowPos icon6&=40,240-32,32;0
    SetWindowPos icon7&=40,280-32,32;0

endproc

proc hide1

    SetWindowPos icon1&=0,0-0,0;1
    SetWindowPos icon2&=0,0-0,0;1
    SetWindowPos icon3&=0,0-0,0;1
    SetWindowPos icon4&=0,0-0,0;1
    SetWindowPos icon5&=0,0-0,0;1
    SetWindowPos icon6&=0,0-0,0;1
    SetWindowPos icon7&=0,0-0,0;1

endproc

proc show2

    SetWindowPos icon8&=40,60-32,32;0
    SetWindowPos icon9&=40,100-32,32;0
    SetWindowPos icon10&=40,140-32,32;0
    SetWindowPos icon11&=40,180-32,32;0

endproc

proc hide2

    SetWindowPos icon8&=0,0-0,0;1
    SetWindowPos icon9&=0,0-0,0;1
    SetWindowPos icon10&=0,0-0,0;1
    SetWindowPos icon11&=0,0-0,0;1

endproc

proc show3

    SetWindowPos icon12&=40,80-32,32;0
    SetWindowPos icon13&=40,120-32,32;0
    SetWindowPos icon14&=40,160-32,32;0
    SetWindowPos icon15&=40,200-32,32;0

endproc

proc hide3

    SetWindowPos icon12&=0,0-0,0;1
    SetWindowPos icon13&=0,0-0,0;1
    SetWindowPos icon14&=0,0-0,0;1
    SetWindowPos icon15&=0,0-0,0;1

endproc

proc show4

    SetWindowPos icon16&=40,100-32,32;0
    SetWindowPos icon17&=40,140-32,32;0
    SetWindowPos icon18&=40,180-32,32;0
    SetWindowPos icon19&=40,220-32,32;0

endproc

proc hide4

    SetWindowPos icon16&=0,0-0,0;1
    SetWindowPos icon17&=0,0-0,0;1
    SetWindowPos icon18&=0,0-0,0;1
    SetWindowPos icon19&=0,0-0,0;1

endproc

Proc setmenue

    SetWindowPos static&=0,0-125,@Height(%Hwnd);0

    if menue% = 1

        SetWindowPos menu1&=0,0-119,25;0
        case @Height(%Hwnd) > 79:SetWindowPos menu2&=0,(@Height(%Hwnd)-79) - 119,25;0
        case @Height(%Hwnd) > 55:SetWindowPos menu3&=0,(@Height(%Hwnd)-55) - 119,25;0
        case @Height(%Hwnd) > 31:SetWindowPos menu4&=0,(@Height(%Hwnd)-31) - 119,25;0

    elseif menue% = 2

        SetWindowPos menu1&=0,0 - 119,25;0
        SetWindowPos menu2&=0,24 - 119,25;0
        case @Height(%Hwnd) > 55:SetWindowPos menu3&=0,(@Height(%Hwnd)-55) - 119,25;0
        case @Height(%Hwnd) > 31:SetWindowPos menu4&=0,(@Height(%Hwnd)-31) - 119,25;0

    elseif menue% = 3

        SetWindowPos menu1&=0,0 - 119,25;0
        SetWindowPos menu2&=0,24 - 119,25;0
        SetWindowPos menu3&=0,48 - 119,25;0
        case @Height(%Hwnd) > 31:SetWindowPos menu4&=0,(@Height(%Hwnd)-31) - 119,25;0

    elseif menue% = 4

        SetWindowPos menu1&=0,0 - 119,25;0
        SetWindowPos menu2&=0,24 - 119,25;0
        SetWindowPos menu3&=0,48 - 119,25;0
        SetWindowPos menu4&=0,72 - 119,25;0

    endif

    setfocus(%Hwnd)

endproc

proc createSideBar

    static& = Control(STATIC,,$54000105,0,0,125,@Height(%Hwnd),%hwnd,0,%hinstance,$020200)
    menu1&=@Create(Button,static&,Menue 1,0,0,0,0)
    menu2&=@Create(Button,static&,Menue 2,0,0,0,0)
    menu3&=@Create(Button,static&,Menue 3,0,0,0,0)
    menu4&=@Create(Button,static&,Menue 4,0,0,0,0)
    menue%=1
    setmenue
    make1
    show1
    make2
    make3
    make4

endproc

###########################################################################
DEF GETSYSCOLOR(1) !USER32,GetSysColor
DECLARE ENDE%

Proc GoEvent

    parameters text$
    Messagebox(Das wäre Ihr Preis gewesen,Ich komme von: +text$,64)

endproc

WINDOWSTYLE 63
WINDOWTITLE 1 Versuch einer Side bar
WINDOW SUB(DIV(%MAXX,2),DIV(800,2)),SUB(DIV(%MAXY,2),DIV(600,2))-800,600
CLS GETSYSCOLOR(15)
USEFONT MS Sans Serif,13,0,0,0,0
SETDIALOGFONT 1
createSideBar

WHILENOT ENDE%

    waitinput

    If @EQU(%KEY,2)

        LET ENDE%= 1

    elseIf @EQU(%KEY,4)

        setmenue

    elseif getfocus(menu1&)

        menue%=1
        hide2
        hide3
        hide4
        setmenue
        show1
        setfocus(%hwnd)

    elseif getfocus(menu2&)

        menue%=2
        hide1
        hide3
        hide4
        setmenue
        show2
        setfocus(%hwnd)

    elseif getfocus(menu3&)

        menue%=3
        hide1
        hide2
        hide4
        setmenue
        show3
        setfocus(%hwnd)

    elseif getfocus(menu4&)

        menue%=4
        hide1
        hide2
        hide3
        setmenue
        show4
        setfocus(%hwnd)

    ENDIF

    Iconcontrol

    if getfocus(Icon1&) Menue 1

        goevent Icon 1

    elseif getfocus(Icon2&)

        goevent Icon 2

    elseif getfocus(Icon3&)

        goevent Icon 3

    elseif getfocus(Icon4&)

        goevent Icon 4

    elseif getfocus(Icon5&)

        goevent Icon 5

    elseif getfocus(Icon6&)

        goevent Icon 6

    elseif getfocus(Icon7&)

        ende%=1

    elseif getfocus(Icon8&) Menue2

        goevent Icon 8

    elseif getfocus(Icon9&)

        goevent Icon 9

    elseif getfocus(Icon10&)

        goevent Icon 10

    elseif getfocus(Icon11&)

        goevent Icon 11

    elseif getfocus(Icon12&) Menue 3

        goevent Icon 12

    elseif getfocus(Icon13&)

        goevent Icon 13

    elseif getfocus(Icon14&)

        goevent Icon 14

    elseif getfocus(Icon15&)

        goevent Icon 15

    elseif getfocus(Icon16&) Menue 4

        goevent Icon 16

    elseif getfocus(Icon17&)

        goevent Icon 17

    elseif getfocus(Icon18&)

        goevent Icon 18

    elseif getfocuss=s2>(Icon19&)

        goevent Icon 19

    endif

WEND

 
16.07.2007  
 



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

1.992 Views

Untitledvor 0 min.
Gast.081525.08.2024
ecki30.07.2023
Matzbub29.12.2018
Uwe Lang02.01.2018
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

unbekannt (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