OwnStyle-UDF (old Aero) V2.3 (Final)

  • Den Titel kenn ich doch irgendwo her. :whistling:

    Zur UDF:
    Das ganze sieht ja schonmal richtig gut aus. ^^

    Vll kannst du dir ja was von meiner OwnStyle UDF abschauen. ;)

    Zitat

    [Heute, 11:39] Raupi: Soll ich es dir machen?
    [Heute, 11:47] BugFix: "Soll ich es dir machen? " - also Raupi !! bitte nicht so öffentlich :rofl:

    Zitat

    [Heute, 11:51] BugFix: und ich werde es mir jetzt machen - das Mittagessen :P

    AMsg UDF v1.00.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%
    OwnStyle UDF Version 1.10.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%

  • hey also ich weiß nicht.Ich will das ganze ja echt nicht schlechtreden aber ich hab jetzt beide bsp von da oben ausprobiert.

    Das alte funktioniert eigentlich. ganz gut nur, es wir es Fenster erstellt, dieses Taucht in den mitte auf und im nächsten moment ist es links oben in der Ecke. Dann ist es so der Minimieren Knopf wird überall über die Vertiakele ausgelöst. Außerdem ist es no, wenn ich das Fenster einmal verschiebe, also von links oben z.b. in die mitte, dann kann ich das fenster weder nochmal verschieben, noch die systembuttons benutzen.

    Beim neuen ist es ähnlich. Ein Fenster taucht auch der hintergrund wird kurz dargestell und verschwindet direkt wieder. Beim Minimieren Knopf ist es dasselbe. Verschieben kann man dieses Fenster gar nicht, da ich egal wo ich in das Fenster klicken will einfach durch klicke :-(.

    Und was mich jetzt nich interessiert, wie bist du an die Binarys des Systemmenüs rangekommen?


    mrfg Darter

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.

  • Das alte funktioniert eigentlich. ganz gut nur, es wir es Fenster erstellt, dieses Taucht in den mitte auf und im nächsten moment ist es links oben in der Ecke. Dann ist es so der Minimieren Knopf wird überall über die Vertiakele ausgelöst. Außerdem ist es no, wenn ich das Fenster einmal verschiebe, also von links oben z.b. in die mitte, dann kann ich das fenster weder nochmal verschieben, noch die systembuttons benutzen.


    Links oben wegen _AeroMove, das 2. verstehe ich nicht bei mir bleibt alles gleich.
    2 Mal verschieben usw. klappt bei mir einwandfrei, ebenso wie die Buttons. Welches Betriebssystem benutzt du denn?

    Beim neuen ist es ähnlich. Ein Fenster taucht auch der hintergrund wird kurz dargestell und verschwindet direkt wieder. Beim Minimieren Knopf ist es dasselbe. Verschieben kann man dieses Fenster gar nicht, da ich egal wo ich in das Fenster klicken will einfach durch klicke :-(.


    Das erste kommt wieder aus dem Quelltext (2x Style gezeichnet), das 2. funktioniert bei mir wiedermal einwandfrei 8|
    Das Durchklicken liegt vielleicht am Style, ist der Transparent?

    Und was mich jetzt nich interessiert, wie bist du an die Binarys des Systemmenüs rangekommen?


    Warum sagst du, dass es dich nicht interessiert? ?( Ich gehe mal vom gemeinten Gegenteil aus und sage, dass ich mir eine Funktion dafür gemacht habe, ProgAndy hat sie mir berichtigt

  • Ja ich habs auf Win7 64bit laufen lassen und das ist es wie beschrieben. Zum 2 naja was heißt tranzparent, das ding ist bis auf den button und das das sys menü komplett durchsichtig.

    Und ja ich meine das gegentei ^^. Die funktion loadfrimmemory oder so ähnlich um bilder direkt aus dem binär darzustellen kenn ich nur mich interessiert ^^ das binäry, denn vom sys menü sieht man beim erstellen in ner normalen GUI nicht mehr als den Style.

    mfg Darter

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.

  • Spoiler anzeigen
    [autoit]

    Func _NewFunc($dat) ;Schiebt Funktion bei Strg+V an Curser
    ;Author: TheShadowAE, thanks to ProgAndy
    Local $t="",$tm=""
    Local $file=FileOpen($dat,16)
    $t&=FileRead($file,1016)
    while 1
    $tm=FileRead($file,1024)
    If @error Then ExitLoop
    $t&=Hex($tm)
    WEnd
    FileClose($file)
    Local $func="Func _XXXXX()"&@CRLF&@TAB&"Local $tmp=''"&@CRLF
    While $t<>""
    $func&=@TAB&"$tmp&='"&StringLeft($t,100)&"'"&@CRLF
    $t=StringTrimLeft($t,100)
    WEnd
    $func&=@TAB&"Return $tmp"&@CRLF&"EndFunc" ;Return Binary()?
    ClipPut($func)
    EndFunc

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

    Func _LoadImage($funcname)
    Local $bin=Call($funcname)
    Local $img=_LoadImageFromBinary($bin)
    Return $img
    EndFunc

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

    ;Authors: Prog@ndy, Zedna
    Func _LoadImageFromMemory($Pointer, $nSize)
    Local $hData, $pData, $pStream, $pBitmap, $hBitmap
    ; use GDI+ for converting to bitmap first
    $hData = _MemGlobalAlloc($nSize,2)
    $pData = _MemGlobalLock($hData)
    _MemMoveMemory($Pointer,$pData,$nSize)
    _MemGlobalUnlock($hData)
    $pStream = DllCall( "ole32.dll","int","CreateStreamOnHGlobal", "int",$hData, "long",1, "Int*",0)
    $pStream = $pStream[3]
    _GDIPlus_Startup()
    $pBitmap = DllCall($ghGDIPDll,"int","GdipCreateBitmapFromStream", "ptr",$pStream, "int*",0)
    $pBitmap = $pBitmap[2]
    Return $pBitmap
    EndFunc

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

    ;Authors: Prog@ndy, based on code by Zedna
    Func _LoadImageFromBinary(ByRef $Binary)
    Local $picdata = Binary($Binary) ; Fetch the Data
    Local $piclength = BinaryLen($picdata) ; Get Length

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

    Local $picstruct = DllStructCreate("byte[" & $piclength & "]")

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

    DllStructSetData($picstruct,1,$picdata)
    Local $picmemory = DllStructGetPtr($picstruct)
    Local $hImage = _LoadImageFromMemory($picmemory, $piclength)
    DllStructSetData($picstruct,1,0)
    $picstruct = ""
    Return $hImage
    EndFunc

    [/autoit]


    _NewFunc zur Pfaddatei ausführen, Strg+V drücken und schon hast du deine Binary Funktion

    PS:
    mach mal bitte ein Bild von deinem Fehler.

  • Neues Update 8):party:
    Keine leichte Geburt
    Ich schätze das ist die Final:

  • falls das hier noch supportet wird?
    ich hab versucht den style wie im beispiel in meine GUI nachträglich einzuarbeiten.
    jetzt muss ich dazu sagen, dass ich keine gdi experte bin und es ehrlich gesagt auch nur benutzen wollte und mich nicht lange einlesen wollte :D
    jedenfalls hab ich folgendes problem: sobald meine GUI erstellt ist und ich das erste GUI objekt hinzufüge, wird die GUI überall weiss bis auf ein paar umrisse.
    ich habe keine ahnung warum.

    [autoit]


    $Form1=_AeroCreate("test",270,370,".\ICONS\Arbeitsplatz.ico",1)
    $size=_AeroGetSize($Form1)
    $style=_AeroStyleCreate(_Array2(0,0),_Array2(0,0),_Array2(0,$size[0]),_Array2(25,$size[1]),_Array2(0x77AAAAAA,0xDD00FF00),_Array2(0xEE555555,0xDD0000FF),0)
    _AeroStyleDraw($Form1,$style)
    $style2=_AeroStyleCreate($size[0],300,$size[1],0xAAAAAAAA,0xDDAAAAAA,0xEEAAAAFF,4)
    GUISetState()
    Sleep(1000)
    $logo = GUICtrlCreatePic(@TempDir & "\logo.jpg", 10, 10, 250, 55) ; hier wirds weiss!
    _AeroWorkAreaSetState($logo,@SW_SHOW)
    Sleep(1000)

    [/autoit]
  • siehe edit2!!!

    danke für die prompte antwort, ich habe jetzt folgendes gemacht (aus dem beispiel abgeschaut):

    [autoit]

    $Form1=_AeroCreate($TileofWin,270,370,".\ICONS\Arbeitsplatz.ico",1)
    $size=_AeroGetSize($Form1)
    $style=_AeroStyleCreate(_Array2(0,0),_Array2(0,0),_Array2(0,$size[0]),_Array2(25,$size[1]),_Array2(0x77AAAAAA,0xDD00FF00),_Array2(0xEE555555,0xDD0000FF),0)
    _AeroStyleDraw($Form1,$style)
    $style2=_AeroStyleCreate($size[0],300,$size[1],0xAAAAAAAA,0xDDAAAAAA,0xEEAAAAFF,4)
    GUISetState()

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

    ;$wa=_AeroWorkAreaCreate($Form1,0,0,99,18,@SW_HIDE)
    ;$Form1 = GUICreate($TileofWin, 270, 370, -1, -1)
    $wa=_AeroWorkAreaCreate($Form1,10,10,250,55,@SW_HIDE) ; hier ist die area für das bild
    $logo = GUICtrlCreatePic(@TempDir & "\logo.jpg", 10, 10, 250, 55)
    _AeroWorkAreaSetState($logo,@SW_SHOW)

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

    Sleep(8000)

    [/autoit]

    das problem ist nur, dass nichts angezeigt wird an der stelle wo das logo hin soll. - auch mit der jetztigen WorkArea!
    (es ist übrigens ein ganz normales, farbiges jpg was ich verwende)
    die GUI bleibt quasi leer.
    das sleep hab ich extra eingebaut, um zu schauen ob es mit dem nachfolgenden code kollidiert.
    (tut es auch es löst einen permanent einen button aus, sobald die sleeptime um ist. das ist dann wohl eine andere baustelle?
    da ich die GUI elemente unterhalb des geposteten codes noch nicht umgearbeitet habe)
    das script kann ich nicht posten, da es einige anhänge hat, aber es müsste doch so schon gehen !?

    EDIT: Doofer Fehler :D ich hab die falsche variable benutzt.... au man, ich bin von dem ganzen probieren schon ganz verwirrt gewesen !
    es geht nun :D

    EDIT2: Ein Problem hab ich noch: wenn ich GUICtrlCreateLabel auf der GUI benutze, welche möglichkeit habe ich die hintergrundfarbe der schrift durchsichtig zu machen oder kann ich eine schrift/möglichkeit nehmen mit transparenten hitergrund ?

    2 Mal editiert, zuletzt von WhiteLion (24. November 2010 um 00:21)

  • Wenn ich das richtig verstehe willst du die AeroGui hitner dem Text haben stimtms? Dann musst du wenn es geht die "Schwebende Buttons" UDF (Google) nehmen oder GDIPlus benutzen

    [autoit]

    _GDIPlus_GraphicsDrawStringEx

    [/autoit]