Der etwas andere GUI - Form

  • Hi
    also da ich mittlerweile fast nurnoch scripts die hauptsächlich aus guis bestehen schreibe,
    wird mir diese blöde 4 ecken immer mehr aufem sack...

    ich wollt mich mal erkundigen wie es zb mit nem gui aussieht dessen hintergrund transparent ist die controls jedoch sichtbar.
    oder wie ich aus 4 ecken irgendeine andere Gui Form machen kann (zb ein stern oder so)

    die Xskin UDF kenn ich, aber da basiert auch alles auf einem 4 ecken gui

    MfG Azunai

  • hallo

    ich glaube irgendwer hatte hir im forum mal mit ner dll ne runde gu fabriziert ich weis leider nicht mehr was das war musst ma danach suchen.
    ich such ma den beitrag

    hoffe das das geholfen hat ich hab mich damit noch net so auseinandergesetzt.

    Edit:
    gefunden ^^ aber das iss nur nen loch in ner GUI und das fenster iss immer noch eckig aber daraus lässt sich bestimmt was

    machen viel spass

    Einmal editiert, zuletzt von Dustin (27. Januar 2008 um 10:40)

  • Abrundung kann man so machen:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    HotKeySet("{ESC}", "_end")

    [/autoit] [autoit][/autoit] [autoit]

    Global $start = MouseGetPos()

    [/autoit] [autoit][/autoit] [autoit]

    $gui = GUICreate("GUI", 100, 100, $start[0] - 15, $start[1] - 15, -1, $WS_EX_TOPMOST)
    GUISetBkColor(0x0000FF)

    [/autoit] [autoit][/autoit] [autoit]

    _GUICreateRoundRect($gui, 50,50)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit (0)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _GUICreateRoundRect($hwnd, $radx=15,$rady=15)
    $pos = WinGetPos($hwnd)

    [/autoit] [autoit][/autoit] [autoit]

    $1 = 0
    $2 = 0
    $3 = $pos[2]
    $4 = $pos[3]
    $ret = DllCall("gdi32.dll", "long", "CreateRoundRectRgn", "long", $1, "long", $2, "long", $3, "long", $4,"long",$radx,"long",$rady)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $hwnd, "long", $ret[0], "int", 1)
    EndFunc ;==>_GUICreateRoundRect

    [/autoit] [autoit][/autoit] [autoit]

    Func _end()
    Exit(0)
    EndFunc

    [/autoit]
  • jo abgerundet hab ich auch schon öfter gemacht :P
    abder danke dennoch

    @ loch im gui, kann man es nicht einfach umkehren? also das man in diesem fall sozusagen die ecken unsichtbar macht?
    als kleines bsp:

    man nehem einen quadrat qui,
    man schneide den rand ab ( all 4 seiten)

    dann "faltet " man die ecken nach inen :P
    so eine form zb wäre mein ziel...
    halt fürn anfang

  • Nimm doch eine Layered GUI mit HintergrundBild. Bsp:
    Dabei sollte das Pixel links oben in der Ecke die transparente Farbe festlegen (ist hier weiß) :)
    Das Biuld ist im Anhang

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("My GUI",640,480,-1,-1,$WS_POPUP,$WS_EX_LAYERED) ; will create a dialog box that when displayed is centered
    GUICtrlCreatePic("test.gif",0,0,640,480)
    GUICtrlSetState(-1,$GUI_DISABLE)
    GUICtrlCreateLabel("Titelbar - zum Bewegen klicken!",0,0,621,18,-1,$GUI_WS_EX_PARENTDRAG)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetColor(-1,0xFFFF00)
    $close = GUICtrlCreateLabel("X",621,0,23,18)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetColor(-1,0xFF0000)
    GUISetState (@SW_SHOW) ; will display an empty dialog box

    [/autoit] [autoit][/autoit] [autoit]

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg()

    If $msg = $GUI_EVENT_CLOSE Or $msg = $close Then ExitLoop
    Wend

    [/autoit]
  • kannst du pls den quellcode für deinen stern gui posten, würde mich mal interessieren.
    danke im vorraus

    gruß stormy

  • kannst du pls den quellcode für deinen stern gui posten, würde mich mal interessieren.
    danke im vorraus

    gruß stormy

    wäre ich auch dran interessiert!

    EDIT: ich hab mir aus das obrige beispiel angeschaut ... leider bekomme ich damit kein animiertes gif zum laufen! - so wie im spern...

    Einmal editiert, zuletzt von WhiteLion (2. Mai 2008 um 14:00)