Den Titel kenn ich doch irgendwo her.
Zur UDF:
Das ganze sieht ja schonmal richtig gut aus.
Vll kannst du dir ja was von meiner OwnStyle UDF abschauen.
Den Titel kenn ich doch irgendwo her.
Zur UDF:
Das ganze sieht ja schonmal richtig gut aus.
Vll kannst du dir ja was von meiner OwnStyle UDF abschauen.
Danke, ja der Titel ist von dir, mir ist kein eigener eingefallen und er passt so gut
Neue Version:
-Bug beseitigt
-neuen Style-Modus hinzugefügt
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 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
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
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
Func _LoadImage($funcname)
Local $bin=Call($funcname)
Local $img=_LoadImageFromBinary($bin)
Return $img
EndFunc
;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
;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
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
_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.
sieht ja schon sehr gut aus, aber das ding zieht 15 % cpu im leerlauf beim meinem P7350
Bei mir brauch das keine 3% CPU, erst 2% dann alngsam zu 0%
Neues Update
Keine leichte Geburt
Ich schätze das ist die Final:
ZitatAlles anzeigen
Update [DL7]
Man kann jetzt Bilder als Hintergrund nehmen, die Buttons habe ich ein wenig beichtigt man kann runde oder eckige Kanten auswählen und noch ein paar Bugs beseitigt. Gegen die Prozessorleistung könnt ihr wenn igr wollt Adlibregeister _AeroProc auf weniger als 20 MS setzen, allerdings reagiert der Button usw dann nicht so schnell
2 neue Screenshots:
1 hat als Hintergrund ein Bild, das 2. auch, aber auch andere Bilder draufgemalt, einmal gefüllt und einmal gemalt (siehe Beispiel). Ich schätze das wird so ziemlich die Final, man kann ja jetzt so ziemlich viel machen:
-Bilder fürs Design
-Farben fürs Design
-eine Farbe als Design
-eckig/rund
-Transparenz (farblich und/oder das ganze Fenster)
.. Keine Antworten, so schlimm ist die doch nicht oder?
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
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.
$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)
Du solltest natürliche ersteinmal die WorkArea erstellen, dann sollte es auf der neuen Child-GUI erscheinen und nicht weiß, es sei denn das Bild ist weiß oder transparent und ein anders Fenster weiß
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()
;$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)
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 ich hab die falsche variable benutzt.... au man, ich bin von dem ganzen probieren schon ganz verwirrt gewesen !
es geht nun
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 ?
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]