ZitatUnd? Teils Du uns Deine Lösung auch mit?
Klar. Ich hab nur etwas Zeit gebraucht, um eine UDF zu erstellen ![]()
ZitatUnd? Teils Du uns Deine Lösung auch mit?
Klar. Ich hab nur etwas Zeit gebraucht, um eine UDF zu erstellen ![]()
Hallo,
ich habe vor gerade eine kleine UDF geschrieben, mit der man benutzerdefinierte ToolTips erstellen kann.
Version: 11.10.2009
Bugs und Verbesserungen bitte posten! ![]()
[Blockierte Grafik: http://deepsoftware.spacequadrat.de/Downloads/www.AutoIt.de/ToolTip%20Preview.jpg]
Bis jetzt ist es nur auf Windows XP gestestet. Würde mich sehr freuen, wenn ihr es auf anderen Betriebssystemen testen würdet ![]()
Hallo,
wieso funktioniert das hier:
[autoit]MsgBox(0, "", "", 0, WinGetHandle("Arbeitsplatz"))
[/autoit]und das nicht?
[autoit]#include <WindowsConstants.au3>
[/autoit][autoit][/autoit][autoit]GUICreate("", 300, 300, -1, -1, $WS_CHILD, -1, WinGetHandle("Arbeitsplatz"))
[/autoit][autoit][/autoit][autoit]GUISetState(@SW_SHOW)
[/autoit][autoit][/autoit][autoit]Sleep(5000)
[/autoit]Ich möchte nähmlich ein AutoItGUI als Parent von einem anderen Fenster setzen und s wie oben geht das leider nicht.
Ich habs hinbekommen!!!
So sieht das jetzt aus:
[Blockierte Grafik: http://deepsoftware.spacequadrat.de/Downloads/www.AutoIt.de/ToolTip.jpg]
Trotzdem Danke für die Hilfe. Ich kannte deinen Script schon, aber ich wollte das ohne eine ParentGUI machen. ![]()
Hallo,
kennt jemand eine professionelle Lösung, wie man einen GUI mit Schatten erstellen kann? Die GUI hab ich schon fertig, aber das mit dem Schatten bekomme ich nicht genauso wie auf dem Bild hin:
Ich hab ein kleines Problem dabei. Wenn die GUI unten rechts angedockt wird, sieht man einen Abstand von einem Pixel. Wie kann man das denn so machen, dass die GUI 1 Pixel mehr nach rechts und nach oben angedockt werden kann?
Func WM_WINDOWPOSCHANGING($hWnd, $Msg, $wParam, $lParam)
Local $stWinPos = DllStructCreate("uint;uint;int;int;int;int;uint", $lParam)
Local $nLeft = DllStructGetData($stWinPos, 3)
Local $nTop = DllStructGetData($stWinPos, 4)
Global $PlayerGUI_Handle
If $hWnd = $PlayerGUI_Handle Then
[/autoit] [autoit][/autoit] [autoit]Local $aCurWinPos = WinGetPos($hWnd)
Local $aWorkArea = _GetWorkingArea()
;Left
If Abs($aWorkArea[0] - $nLeft) <= $nRange Then DllStructSetData($stWinPos, 3, $aWorkArea[0])
;Right
If Abs($nLeft + $aCurWinPos[2] - $aWorkArea[2]) <= $nRange Then DllStructSetData($stWinPos, 3, $aWorkArea[2] - $aCurWinPos[2])
;Top
If Abs($aWorkArea[1] - $nTop) <= $nRange Then DllStructSetData($stWinPos, 4, $aWorkArea[1])
;Bottom
If Abs($nTop + $aCurWinPos[3] - $aWorkArea[3]) <= $nRange Then DllStructSetData($stWinPos, 4, $aWorkArea[3] - $aCurWinPos[3])
If Not $IsSideWinStick Then Return 0
[/autoit] [autoit][/autoit] [autoit]Local $ahWnd = WinList()
[/autoit] [autoit][/autoit] [autoit]For $i = 1 To UBound($ahWnd) - 1
If $ahWnd[$i][1] = $hWnd Or Not BitAND(WinGetState($ahWnd[$i][1]), 2) Then ContinueLoop
$aSideWinPos = WinGetPos($ahWnd[$i][1])
If UBound($aSideWinPos) < 3 Then ContinueLoop
Local $XPoint = $aSideWinPos[0] + 15
Local $YPoint = $aSideWinPos[1] + 15
If $XPoint < 0 Then $XPoint = 5
If $YPoint < 0 Then $YPoint = 5
If $aCurWinPos[1] + $aCurWinPos[3] >= $aSideWinPos[1] And $aCurWinPos[1] <= $aSideWinPos[1] + $aSideWinPos[3] Then
;Left
If Abs(($aSideWinPos[0] + $aSideWinPos[2]) - $nLeft) <= $nRange And _
WindowFromPoint($XPoint, $YPoint) = $ahWnd[$i][1] Then _
DllStructSetData($stWinPos, 3, $aSideWinPos[0] + $aSideWinPos[2])
;Right
If Abs($nLeft + $aCurWinPos[2] - $aSideWinPos[0]) <= $nRange And _
WindowFromPoint($XPoint, $YPoint) = $ahWnd[$i][1] Then _
DllStructSetData($stWinPos, 3, $aSideWinPos[0] - $aCurWinPos[2])
EndIf
If $aCurWinPos[0] + $aCurWinPos[2] >= $aSideWinPos[0] And $aCurWinPos[0] <= $aSideWinPos[0] + $aSideWinPos[2] Then
;Top
If Abs(($aSideWinPos[1] + $aSideWinPos[3]) - $nTop) <= $nRange And _
WindowFromPoint($XPoint, $YPoint) = $ahWnd[$i][1] Then _
DllStructSetData($stWinPos, 4, $aSideWinPos[1] + $aSideWinPos[3])
;Bottom
If Abs($nTop + $aCurWinPos[3] - $aSideWinPos[1]) <= $nRange And _
WindowFromPoint($XPoint, $YPoint) = $ahWnd[$i][1] Then _
DllStructSetData($stWinPos, 4, $aSideWinPos[1] - $aCurWinPos[3])
EndIf
Next
EndIf
Return 0
EndFunc ;==>WM_WINDOWPOSCHANGING
Hey,
wenn das so aussehen wird wie aufm Foto dann ist dfas doch spitze ![]()
Die Version 0.1 ist aber auch sehr gut gelungen ![]()
Hallo AutoBert,
unter den Helpfiles hab ich leider keine Beispiele dazu... Liegt vermutlich daran, dass ich nicht die Beta-Version installiert habe?
Hallo,
wie benutzt man die GUIToolTip - UDF? In der Hilfe gibt es kein Beispiel dazu.
Mein Script, das nicht funktioniert:
[autoit]#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIToolTip.au3>
$Form1 = GUICreate("Radio Station Manager", 742, 382, 233, 335)
$button1 = GUICtrlCreateButton("1", 0, 0, 40, 40)
$htool = _GUIToolTip_Create($Form1, $TTS_BALLOON)
_GUIToolTip_SetToolInfo($Form1, "ToolTip!")
_GUIToolTip_Activate($htool, True)
GUISetState(@SW_SHOW)
[/autoit][autoit][/autoit][autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
So, ich habe fast komplett die News.exe neugeschrieben. Wer will, kann es schonmal testen.
Bugs, Fehler oder Extrawünsche bitte melden
.
Screenshot:
Edit: Source ist nicht im Anhang, aber wer Fragen zum Sourcecode hat, kann mich ruhig anschreiben ![]()
Ich will ja keine Icons über Bilder legen sondern Bild über Bild!
Ich hab gerade versucht, die Funktion _LastFM_Auth_getSession() zu erstellen. Ist das richtig sowei?
[autoit]Func
Local $_gsLastFM_APISig = _md5("api_key" & $_gsLastFM_APIkey & "methodauth.getSessiontoken" & _LastFM_Auth_getToken() & "mysecret")
Return _LastFM_Call_API("method=auth.getSession&api_key=" & $_gsLastFM_APIkey & "&api_sig=" & $_gsLastFM_APISig)
;auth.getSession
EndFunc ;==>_LastFM_Auth_getSession
$sSessionKey = _LastFM_Auth_getSession()
MsgBox(0, "", _LastFM_Call_API("method=user.getInfo&api_key=a563d0da6256f81b9037a3f251fca0a4&sk=" & $sSessionKey))
Ich bekomme statt Infos nur eine Nachricht "Invalid Method signature supplied. Status: Failed".
Was genau hab ich wieder falsch gemacht? ![]()
Uff...hast dir ja dabei viel Mühe gegeben. Vilen Dank erstmal, dass Du dir dafür Zeit genommen hast ![]()
Hab eine kleine Frage. Wenn ich die Funktion "user.getInfo" nutzen möchte. Was muss ich dabei genau machen? Also
api_key währe dann das hier: "aa72a3b1161d33d0eba36f986fa1fb43"
api_sig dann das? ==> _LastFM_Generate_Sig($sAPIcall) ?
und sk ==> Keine Ahnung ![]()
api_key (Required) : A Last.fm API key.
api_sig (Required) : A Last.fm method signature. See authentication for more information.
sk (Required) : A session key generated by authenticating a user via the authentication protocol.
Was soll denn der Sessionkey sein??
Hallo,
ich wollte nur mal so wissen, wer von euch Holländisch sprechen kann ![]()
Hallo,
wie kann ich Bilder, die einen Transparenten Hintergrund auf eine GUI zeichnen? Das Problem dabei ist, wenn ich 2 Bilder übereinanderlege, wird die Transparente Fläche weiß angezeigt.
Wie geht das?
Kann doch nicht sein, dass es niemand weiß ![]()
![]()
ZitatMit diesem Programm kannst du meine Homepage aufrufen!
Ich weiß nicht wie Du dir das vorgestellt hast, aber ich glaube hier wird es keinen geben, der Dein Programm braucht um Deine Homepage zu öffnen!?!
Hallo,
ich brauche für einen Script ca. 100 globale Variablen. Also ungefähr so:
[autoit]Global $P0, $P1, $P2, $P3, $P4, $P5, $P6, $P7, $P8, $P9
[/autoit]Kann man diese Variable auch per Schleife Global deklarieren lassen, der muss man das selber machen?
Wie benutzt man genau die UDF? Also So funktioniert das nicht:
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.0.0
Author: myName
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit]Global Const $FR_PRIVATE = 0x10
Global Const $FR_NOT_ENUM = 0x20
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#include <WinAPI.au3>
#include <GDIPlus.au3>
#include <Memory.au3>
Global $aCredits = StringSplit("Super Autoit Mario;;Coded by:;Eukalyptus;Gummibaer;;Special THX to:;Progandy;BrettF;GtaSpider;Zedna;Martin;Funkey;;http://www.autoit.de;http://www.autoitscript.com;http://www.un4seen.com;;Autoit 3.3.0.0;2009;;;This Game is still beta :)", ";")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$Form1 = GUICreate("Form1", 421, 312)
;~ GUISetBkColor(0xFFFFFF)
GUISetState(@SW_SHOW)
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]$Ret = _GDI_AddFontResourceEx(@ScriptDir & "\raindrops.TTF", $FR_PRIVATE)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$hGraphic = _GDIPlus_GraphicsCreateFromHWND($Form1)
$hBMP = _GDIPlus_BitmapCreateFromGraphics(292, 55, $hGraphic)
_GDIPlus_GraphicsDispose($hGraphic)
$hGraphic = _GDIPlus_ImageGetGraphicsContext($hBMP)
_GDIPlus_GraphicsFillRect($hGraphic, 0, 0, 292, 55, _GDIPlus_BrushCreateSolid(0xFFFEFEFE))
_GDIPlus_GraphicsDrawString($hGraphic, "Hallo", 1, 1, "Raindrop Splash")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$hBitmap_GDI = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBMP)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$pic = GUICtrlCreatePic("", 100, 100, 100, 55)
_SetBitmapToCtrl($pic, $hBitmap_GDI)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _SetBitmapToCtrl($CtrlId, $hBitmap)
Local Const $STM_SETIMAGE = 0x0172
Local Const $IMAGE_BITMAP = 0
Local Const $SS_BITMAP = 0xE
Local Const $GWL_STYLE = -16
Local $hWnd = GUICtrlGetHandle($CtrlId)
If $hWnd = 0 Then Return SetError(1, 0, 0)
Local $oldStyle = DllCall("user32.dll", "long", "GetWindowLong", "hwnd", $hWnd, "int", $GWL_STYLE)
If @error Then Return SetError(2, 0, 0)
DllCall("user32.dll", "long", "SetWindowLong", "hwnd", $hWnd, "int", $GWL_STYLE, "long", BitOR($oldStyle[0], $SS_BITMAP))
If @error Then Return SetError(3, 0, 0)
Local $oldBmp = DllCall("user32.dll", "hwnd", "SendMessage", "hwnd", $hWnd, "int", $STM_SETIMAGE, "int", $IMAGE_BITMAP, "int", $hBitmap)
If @error Then Return SetError(4, 0, 0)
If $oldBmp[0] <> 0 Then DllCall("GDI32.dll", "int", "DeleteObject", "int", $oldBmp[0])
Return 1
EndFunc ;==>_SetBitmapToCtrl
Func _GDI_AddFontResourceEx($lpszFilename, $fl, $pdv = 0) ,;Progandy
If Not IsNumber($pdv) Or $pdv <> 0 Then $pdv = 0
Local $aResult = DllCall("gdi32.dll", 'int', 'AddFontResourceExW', 'wstr', $lpszFilename, 'dword', $fl, 'ptr', $pdv)
If @error Then Return SetError(@error, 0, False)
Return $aResult[0]
EndFunc ;==>_GDI_AddFontResourceEx
Wieso stürzt mein Script ab und wie kann ich diesen Fehler beheben?