Italia
Foro

Button-Stil

 

Thomas
Freier
Kann man verhindern, dass der Button bei Hover oder nach dem Klick unter XP bis W7 sein Aussehen verändert?
 
Gruß Thomas
Windows XP SP2, XProfan X2
06.06.2010  
 




Jörg
Sellmeyer
verhindern, daß er sein Aussehen nicht verändert? Doppelte Verneinung Absicht?
Irgendwie verstehe ich die Frage gar nicht...
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
06.06.2010  
 




Thomas
Freier
@Jörg, stimmt, war zuviel. Also bei Hover kein Fabumschlag und nach Klick ein Punktrahmen.
Die Alternative ist naturalmente eine Bmp und Abfrage wo ein Klick statt fand.

11 kB
Hochgeladen:06.06.2010
Downloadcounter159
Download
 
Gruß Thomas
Windows XP SP2, XProfan X2
06.06.2010  
 




Rolf
Koch
Wegen dem Punkterahmen: Vielleicht (nur eine banale Idee) einen unsichtbaren funktionslosen Button erstellen und nach Klick dummymässig darauf den Focus verlegen? Siehste, so was gibt es unter Windows 7 nicht mehr (ekliger Punktrahmen)
 
06.06.2010  
 




ByteAttack
Naja. Entweder via Picture ein eigenen Button erstellen, oder einfach SKControl [...]  benutzen.
 
Website:  [...] 
Facebook:  [...] 
06.06.2010  
 



Thomas Freier, Beitrag=57377, Zeitpunkt=06.06.2010
Kann man verhindern, dass der Button bei Hover oder nach dem Klick unter XP bis W7 sein Aussehen verändert?


Hallo Thomas,

nach EnableWindow button&,0 .

Oder solch hässlicher Konstrukt:
KompilierenMarkierenSeparieren
Einfach ists imho nicht possibile. ^^
KompilierenMarkierenSeparieren
 $H windows.ph
cls
var myButton&=createMySonderButton(%hWnd,"Hallo Welt",10,10,100,100)

whilenot %key

    waitInput
    case clicked(myButton&) : messageBox "","",0

wend

deleteObject ~getWindowLong(myButton&,~gwl_userData)
end

proc createMySonderButton

    parameters parent&,text$,x&,y&,xx&,yy&
    var myButton&=create("button",parent&,text$,x&,y&,xx&,yy&)
    mcls xx&,yy&
    startPaint myButton&
    copyBmpToMem 0,0 - xx&,yy& > 0,0
    endPaint
    var myHPic&=create("hNewPic",xx&,yy&,0)
    startPaint myHPic&
    mCopyBmp 0,0 - xx&,yy& > 0,0;0
    endPaint
    ~setWindowLong(myButton&,~gwl_userData,myHPic&)
    subClass myButton&,1
    return myButton&

endproc

subClassProc

    if subClassMessage(myButton&,15)//wm_paint

        set("winProc",0)
        startPaint myButton&
        drawPic ~getWindowLong(myButton&,~gwl_userData),0,0;0
        endPaint
        ~validateRect(myButton&,0)
        return 1

    endif

endproc


Ist aber "Murx" zumindest z.B. weil das Control nur korrekt angezeigt wird wenn es sichbar (nicht verdeckt) _erzeugt wurde.

Für so einfache Spielereien aber vlt. ausreichend - ich würde wohl eher (wie auch bereits vorgeschlagen) ein Bitmap(-Static) nutzen statt solch Konstrukt. ^^

314 kB
Hochgeladen:07.06.2010
Downloadcounter100
Download
 
07.06.2010  
 




ByteAttack
Hier mal ein einfaches Beispiel eines Hover-Button unter XProfan:
KompilierenMarkierenSeparieren
USERMESSAGES 16
Declare appexit%,Button&,Hover&
Set("TrueColor",1)
WindowStyle 26
WindowTitle "Hover-Button"
Window ((%maxX/2)-320),((%maxY/2)-240)-640,480
Lade Button
Button&=Create("HPic",-1,$ProgDir+"button_a.bmp")
Lade HoverButton
Hover&=Create("HPic",-1,$ProgDir+"button_b.bmp")
Zeichne Button
DrawPic Button&,10,10;0

WhileNot appexit%

    GetMessage
    Case %Umessage=16:appexit%=1

    if Mouse(10,10-135,50)  Wenn MouseOver Button

        DrawPic Hover&,10,10;0  Zeichne Hover

        While Mouse(10,10-135,50)

            Warten auf Mausereigniss wenn MouseOver Button

        EndWhile

        DrawPic Button&,10,10;0 MouseOut

    endif

EndWhile

DeleteObject Button&
DeleteObject Hover&
end

Beispiel im Anhang

673 kB
Hochgeladen:07.06.2010
Downloadcounter107
Download
 
Website:  [...] 
Facebook:  [...] 
07.06.2010  
 




Paul
Glatz

KompilierenMarkierenSeparieren
cls
var myButton&=Button(%hWnd,"Hallo Welt",10,10,100,100)

whilenot %key

    waitInput
    case clicked(myButton&) : messageBox "","",0

wend

end

proc Button

    parameters parent&,text$,x&,y&,xx&,yy&
    var myButton&=create("button",parent&,text$,x&,y&,xx&,yy&)
    mcls xx& + 2,yy& + 2
    startPaint myButton&
    copyBmpToMem 0,0 - xx&,yy& > 0,0
    endPaint
    var myHPic&=create("hNewPic",xx&,yy&,0)
    startPaint myHPic&
    mCopyBmp 0,0 - xx&,yy& > 0,0;0
    endPaint
    destroyWINDOW(mybutton&)
    mybutton& = Create("PicButton",parent&,myHPic&,x&,y&,xx& + 1,yy& + 1)
    deleteObject myHPic&
    return myButton&

endproc

 
07.06.2010  
 




Thomas
Freier
Danke per die Hinweise. Da die SKControl ohnehin im Programm im Einsatz ist, war es der geringste Aufwand einen SKCtrl_CreateUserButton einzusetzen.
 
Gruß Thomas
Windows XP SP2, XProfan X2
07.06.2010  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

5.070 Views

Untitledvor 0 min.
Georg14.01.2021
H.Brill10.01.2019
Walter08.06.2018
Peter Max Müller02.11.2017
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie