1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Freaky

Beiträge von Freaky

  • Label auf GDI+ Background

    • Freaky
    • 10. März 2012 um 03:21
    Zitat von teamnoobPDB

    Probiers mal mit:

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

    _GDIPlus_GraphicsSetSmoothingMode($hGraphics, $iSmooth)

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

    $hGraphics Handle to a Graphics object
    $iSmooth Smoothing mode:
    0 - Smoothing is not applied
    1 - Smoothing is applied using an 8 X 4 box filter
    2 - Smoothing is applied using an 8 X 8 box filter

    [/autoit]

    Hey, danke aber leider kann ich kaum GDI+
    Desweiteren muss ich den Text alle paar Sekunden aktualliseren und dann muss ich den Text immer säubern befor ich drüber schreibe und das bekomme ich nicht hin.

    Zitat von Greenhorn


    Dieses Problem hatte ich auch schon einmal, als ich in einem Speicher-Gerätekontext einen Text gezeichnet habe und dann den Mem-DC in den originalen Speicherkontext geblittet habe. Ich nehme an hier wird es sich ähnlich oder genauso verhalten.
    Eine Lösung habe ich dafür bisher allerdings nicht gefunden, leider.

    Versuche es doch einmal so herum (nicht getestet):

    [autoit]

    ; ...
    SetTransparentBitmap($hWnd, $hImage) ; Zuerst "SetTransparentBitmap",
    $iLabel = _GuiCreateLabel ($hWnd, "test", 0,0,100,20) ; und dann "_GuiCreateLabel" aufrufen.

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

    GUISetState(@SW_SHOW, $hWnd)
    ; ...

    [/autoit]


    Gruß
    Greenhorn

    Alles anzeigen

    Probiert und funktioniert leider nicht. Trotzdem danke :)

    Zitat von UEZ

    Nimm' mal eine dunkle Transparentfarbe:

    [autoit]


    Func _GuiCreateLabel ($iHwnd, $iText, $iX, $iY, $iW, $iH)
    $iGui = GUICreate ("",$iW, $iH, $iX, $iY,BitOR($WS_POPUP, $WS_VISIBLE), BitOR ($WS_EX_MDICHILD,$WS_EX_LAYERED), $iHwnd)
    GUICtrlCreateLabel ($iText,2,0,$iW,$iH,-1,$GUI_WS_EX_PARENTDRAG )
    GUICtrlSetColor (-1,0xff0000)
    GUICtrlSetFont (-1,10,400,0,"Arial", 4) ;teste auch mal 5 anstatt 4
    GUISetBkColor(0x010000, $iGui)
    _WinAPI_SetLayeredWindowAttributes($iGui, 0x010000, 255)
    EndFunc

    [/autoit]

    Gruß,
    UEZ

    Alles anzeigen

    Wenn ich ein andere Hintergrundfarbe auswähle, wird diese nicht nicht stark schöner. Gibt es da keine andere lösung die mich zum Ziehl führt? Vielleicht mit der WinApi draufzeichenen?
    Sorry kenne mich da nicht so aus.
    Und aus der 4 zu 5 ändern, bringt nicht viel, da man dann den Hintergrund sieht.
    mfg Freaky

  • Label auf GDI+ Background

    • Freaky
    • 9. März 2012 um 05:33

    Hey,
    danke. Es funktioniert jetzt. Leider sieht es nun etwas nicht so schön aus in meiner Form.
    [Blockierte Grafik: http://s3.imgimg.de/uploads/ladeb072a407png.png]
    Oben wie es aussehen soll, unten wie es aussieht.
    Gibt es eine Möglichkeit die Qualität vom Label zu verbessern, sodass es wie auf dem Bild aussieht?

  • Irgend was anderes als IE in einer Form?

    • Freaky
    • 8. März 2012 um 06:30

    Hey,
    vielen Dank. Genauso meine ich das aber halt ohne das die Person FireFox installiert haben muss.
    Mir ist es halt egal welcher Browser unterstüzt wird, hauptsache es ist nicht der IE.
    mfg Freaky :)

  • Irgend was anderes als IE in einer Form?

    • Freaky
    • 7. März 2012 um 05:42

    Hallo,
    gibt es eine Möglichkeit irgend ein anderen Browser als IE in eine Form einzubinden?
    Mir gefällt es nämlich nicht mich immer an den IE anzupassen und dann noch einmal extra für alle anderen.
    Mir würde es gefallen wenn ich Opera, Google Chrome oder Firefox einbinden könnte ohne den Browser eigentlich zu besitzen.
    Gibt es da Möglichkeiten?
    Wenn ja, welche ausser sich das ganze selbst zu schreiben und anzeigen zu lassen :D
    mfg Freaky

  • Label auf GDI+ Background

    • Freaky
    • 6. März 2012 um 01:58

    Hey,
    die 4 am Ende bewirkt ja richtige Wunder :) Danke.
    Nun sitze ich aber immer noch an dem Problem, dass es eine schwarze Box mit transparenten Hintergrund ist.
    Also, eine Box aussen.
    [Blockierte Grafik: http://s3.imgimg.de/uploads/ecke858f4c03png.png]
    Gibt es dafür auch irgend ein Befehl um den Rand zu entfernen?
    mfg Freaky

  • Label auf GDI+ Background

    • Freaky
    • 5. März 2012 um 04:46

    Hey, der Punkt is nicht den Hintergrund schwarz zu haben.
    Ich möchte ein sauberen Text ohne Hintergrund auf meiner Form haben. Mein normales Bild ist natürlich nicht das langweilige schwarze Bild, dass was ich für das Beispiel benutzt habe.
    Das was bis jetzt am nächsten dran ist, ist das von progandy, aber es ist nicht genau das was ich haben möchte.
    mfg Freaky

  • Label auf GDI+ Background

    • Freaky
    • 4. März 2012 um 22:05

    Hey danke.
    Jetzt sieht man den Hintergrund nicht mehr :)
    So, nun kommen aber 2 weitere Probleme dabei raus.
    1. Die Schrift vom Label ist kaum lesbar und das ändern der Größe und Farbe hilft da nicht wirklich.
    2. Man sieht nun ein schwarzen Rand, also es entsteht eine Box und die ist nicht vom Label.
    Wie kann ich diese 2 Sachen behebn?

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <Constants.au3>
    #include <StaticConstants.au3>
    #include <GDIPlus.au3>
    #include <IE.au3>
    #include <Array.au3>

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

    Global $iImagePfad = @ScriptDir & "\Bilder\"

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

    ;~ Global Const $IMAGE_BITMAP = 0
    Global Const $SC_DRAGMOVE = 0xF012
    Global Const $STM_SETIMAGE = 0x0172
    ;~ Global Const $LWA_ALPHA = 0x00000002

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

    Global $hWnd, $oIE, $hBmp, $hImage, $hBrush, $iWidth, $iHeight, $hbrOld, $iButtonHover

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

    _GDIPlus_Startup()

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

    $hImage = _GDIPlus_ImageLoadFromFile($iImagePfad & "background.png")

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

    $iWidth = _GDIPlus_ImageGetWidth($hImage)
    $iHeight = _GDIPlus_ImageGetHeight($hImage)

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

    $hBmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)

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

    ; Create the main window
    $hWnd = GUICreate("Test", $iWidth, $iHeight, -1, -1, BitOR($WS_POPUP, $WS_CLIPCHILDREN), BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST))
    GUIRegisterMsg($WM_LBUTTONDOWN, "_WM_LBUTTONDOWN")

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

    $iLabel = _GuiCreateLabel ($hWnd, "test", 0,0,100,20)

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

    GUISetState(@SW_SHOW, $hWnd)

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

    SetTransparentBitmap($hWnd, $hImage)

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

    _WinAPI_DeleteObject($hBmp)
    _GDIPlus_ImageDispose($hImage)

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

    ; Message loop
    While (True)

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

    Switch (GUIGetMsg())
    Case $GUI_EVENT_CLOSE
    GUIDelete($hWnd)
    ExitLoop
    EndSwitch
    WEnd

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

    _WinAPI_DeleteObject($hBrush)
    _GDIPlus_Shutdown()

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

    Func _GuiCreateLabel ($iHwnd, $iText, $iX, $iY, $iW, $iH)
    $iGui = GUICreate ("",$iW, $iH, $iX, $iY,BitOR($WS_POPUP, $WS_VISIBLE,$WS_BORDER), BitOR ($WS_EX_MDICHILD,$WS_EX_LAYERED), $iHwnd)
    GUICtrlCreateLabel ($iText,2,0,$iW,$iH,-1,$GUI_WS_EX_PARENTDRAG )
    GUICtrlSetColor (-1,0xff0000)
    GUICtrlSetFont (-1,10,400,0,"Arial")
    GUISetBkColor(0xABCDEF, $iGui)
    _WinAPI_SetLayeredWindowAttributes($iGui, 0xABCDEF, 255)
    EndFunc

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

    Func _WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam)
    _SendMessage($hWnd, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
    EndFunc ;==>_WM_LBUTTONDOWN

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

    Func SetTransparentBitmap($hGUI, $hImage, $iOpacity = 0xFF)
    Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
    $hScrDC = _WinAPI_GetDC(0)
    $hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
    _WinAPI_ReleaseDC(0, $hScrDC)
    $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
    $hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
    $tSize = DllStructCreate($tagSIZE)
    $pSize = DllStructGetPtr($tSize)
    DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage))
    DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
    $tSource = DllStructCreate($tagPOINT)
    $pSource = DllStructGetPtr($tSource)
    $tBlend = DllStructCreate($tagBLENDFUNCTION)
    $pBlend = DllStructGetPtr($tBlend)
    DllStructSetData($tBlend, "Alpha", $iOpacity)
    DllStructSetData($tBlend, "Format", 1)
    _WinAPI_UpdateLayeredWindow($hGUI, 0, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
    _WinAPI_SelectObject($hMemDC, $hOld)
    _WinAPI_DeleteObject($hBitmap)
    _WinAPI_DeleteDC($hMemDC)
    EndFunc ;==>SetTransparentBitmap

    [/autoit]


    mfg Freaky

  • Label auf GDI+ Background

    • Freaky
    • 4. März 2012 um 19:31

    Hey,
    danke. Dies funktioniert in der AutoIt Hilfe wie immer supper. Leider funktioniert das ganze mit meinem Problem irgend wie mal garnicht.
    Ich kann die Transparents auf 50 setzen und es ist durchsichtig, trotzdem ist der Kasten da und die Schirft wird auch durchsichtig. Ich möchte aber nur den Hintergrund durchsichtig haben und nicht die Schirft :/

    So habe ich es ausprobiert:

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <Constants.au3>
    #include <StaticConstants.au3>
    #include <GDIPlus.au3>
    #include <IE.au3>
    #include <Array.au3>

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

    Global $iImagePfad = @ScriptDir & "\Bilder\"

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

    ;~ Global Const $IMAGE_BITMAP = 0
    Global Const $SC_DRAGMOVE = 0xF012
    Global Const $STM_SETIMAGE = 0x0172
    ;~ Global Const $LWA_ALPHA = 0x00000002

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

    Global $hWnd, $oIE, $hBmp, $hImage, $hBrush, $iWidth, $iHeight, $hbrOld, $iButtonHover

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

    _GDIPlus_Startup()

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

    $hImage = _GDIPlus_ImageLoadFromFile($iImagePfad & "background.png")

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

    $iWidth = _GDIPlus_ImageGetWidth($hImage)
    $iHeight = _GDIPlus_ImageGetHeight($hImage)

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

    $hBmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)

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

    ; Create the main window
    $hWnd = GUICreate("Test", $iWidth, $iHeight, -1, -1, BitOR($WS_POPUP, $WS_CLIPCHILDREN), BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST))
    GUIRegisterMsg($WM_LBUTTONDOWN, "_WM_LBUTTONDOWN")

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

    $iLabel = _GuiCreateLabel ($hWnd, "test", 10,10,100,20)

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

    GUISetState(@SW_SHOW, $hWnd)

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

    SetTransparentBitmap($hWnd, $hImage)

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

    _WinAPI_DeleteObject($hBmp)
    _GDIPlus_ImageDispose($hImage)

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

    ; Message loop
    While (True)

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

    Switch (GUIGetMsg())
    Case $GUI_EVENT_CLOSE
    GUIDelete($hWnd)
    ExitLoop
    EndSwitch
    WEnd

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

    _WinAPI_DeleteObject($hBrush)
    _GDIPlus_Shutdown()

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

    Func _GuiCreateLabel ($iHwnd, $iText, $iX, $iY, $iW, $iH)
    $iGui = GUICreate ("",$iW, $iH, $iX, $iY,BitOR($WS_POPUP, $WS_VISIBLE,$WS_BORDER), BitOR ($WS_EX_MDICHILD,$WS_EX_LAYERED), $iHwnd)
    GUICtrlCreateLabel ($iText,2,0,$iW,$iH,-1,$GUI_WS_EX_PARENTDRAG )
    _WinAPI_SetLayeredWindowAttributes($iGui, 0xABCDEF, 255)
    EndFunc

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

    Func _WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam)
    _SendMessage($hWnd, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
    EndFunc ;==>_WM_LBUTTONDOWN

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

    Func SetTransparentBitmap($hGUI, $hImage, $iOpacity = 0xFF)
    Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
    $hScrDC = _WinAPI_GetDC(0)
    $hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
    _WinAPI_ReleaseDC(0, $hScrDC)
    $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
    $hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
    $tSize = DllStructCreate($tagSIZE)
    $pSize = DllStructGetPtr($tSize)
    DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage))
    DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
    $tSource = DllStructCreate($tagPOINT)
    $pSource = DllStructGetPtr($tSource)
    $tBlend = DllStructCreate($tagBLENDFUNCTION)
    $pBlend = DllStructGetPtr($tBlend)
    DllStructSetData($tBlend, "Alpha", $iOpacity)
    DllStructSetData($tBlend, "Format", 1)
    _WinAPI_UpdateLayeredWindow($hGUI, 0, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
    _WinAPI_SelectObject($hMemDC, $hOld)
    _WinAPI_DeleteObject($hBitmap)
    _WinAPI_DeleteDC($hMemDC)
    EndFunc ;==>SetTransparentBitmap

    [/autoit]
  • Label auf GDI+ Background

    • Freaky
    • 3. März 2012 um 05:26

    Hallo,
    ich habe da so eine schöne Form mit PNG Hintergrund und so. Ich möchte nun ein Label drauf benutzen.
    Funktioniert so erst mal ja garnicht, nech :D
    Dann habe ich einfach eine neue Form gemacht und dies als Child gesetzt und dem Child habe ich das Label gebene und dies funktioniert wunderbar.
    Nun das Problem. Ich sehe ein häsligen grauen Kasten als Hintergrund vom Label.
    Wie bekomme ich nun den Hintergrund vom Child/Label weg?

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <Constants.au3>
    #include <StaticConstants.au3>
    #include <GDIPlus.au3>
    #include <IE.au3>
    #include <Array.au3>

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

    Global $iImagePfad = @ScriptDir & "\Bilder\"

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

    ;~ Global Const $IMAGE_BITMAP = 0
    Global Const $SC_DRAGMOVE = 0xF012
    Global Const $STM_SETIMAGE = 0x0172
    ;~ Global Const $LWA_ALPHA = 0x00000002

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

    Global $hWnd, $oIE, $hBmp, $hImage, $hBrush, $iWidth, $iHeight, $hbrOld, $iButtonHover

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

    _GDIPlus_Startup()

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

    $hImage = _GDIPlus_ImageLoadFromFile($iImagePfad & "background.png")

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

    $iWidth = _GDIPlus_ImageGetWidth($hImage)
    $iHeight = _GDIPlus_ImageGetHeight($hImage)

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

    $hBmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)

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

    ; Create the main window
    $hWnd = GUICreate("Test", $iWidth, $iHeight, -1, -1, BitOR($WS_POPUP, $WS_CLIPCHILDREN), BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST))
    GUIRegisterMsg($WM_LBUTTONDOWN, "_WM_LBUTTONDOWN")

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

    $iLabel = _GuiCreateLabel ($hWnd, "test", 10,10,100,20)

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

    GUISetState(@SW_SHOW, $hWnd)

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

    SetTransparentBitmap($hWnd, $hImage)

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

    _WinAPI_DeleteObject($hBmp)
    _GDIPlus_ImageDispose($hImage)

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

    ; Message loop
    While (True)

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

    Switch (GUIGetMsg())
    Case $GUI_EVENT_CLOSE
    GUIDelete($hWnd)
    ExitLoop
    EndSwitch
    WEnd

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

    _WinAPI_DeleteObject($hBrush)
    _GDIPlus_Shutdown()

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

    Func _GuiCreateLabel ($iHwnd, $iText, $iX, $iY, $iW, $iH)
    GUICreate ("",$iW, $iH, $iX, $iY,BitOR($WS_POPUP, $WS_VISIBLE,$WS_BORDER), $WS_EX_MDICHILD, $iHwnd)
    GUICtrlCreateLabel ($iText,2,0,$iW,$iH,-1,$WS_EX_TRANSPARENT )
    EndFunc

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

    Func _WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam)
    _SendMessage($hWnd, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
    EndFunc ;==>_WM_LBUTTONDOWN

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

    Func SetTransparentBitmap($hGUI, $hImage, $iOpacity = 0xFF)
    Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
    $hScrDC = _WinAPI_GetDC(0)
    $hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
    _WinAPI_ReleaseDC(0, $hScrDC)
    $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
    $hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
    $tSize = DllStructCreate($tagSIZE)
    $pSize = DllStructGetPtr($tSize)
    DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage))
    DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
    $tSource = DllStructCreate($tagPOINT)
    $pSource = DllStructGetPtr($tSource)
    $tBlend = DllStructCreate($tagBLENDFUNCTION)
    $pBlend = DllStructGetPtr($tBlend)
    DllStructSetData($tBlend, "Alpha", $iOpacity)
    DllStructSetData($tBlend, "Format", 1)
    _WinAPI_UpdateLayeredWindow($hGUI, 0, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
    _WinAPI_SelectObject($hMemDC, $hOld)
    _WinAPI_DeleteObject($hBitmap)
    _WinAPI_DeleteDC($hMemDC)
    EndFunc ;==>SetTransparentBitmap

    [/autoit]


    mfg Freaky

    ps: Das Hintergrundbild ist im Anhang und muss in einem Ordner Bilder leigen das im Hauptverzeichnis des Scripts liegt.

    Dateien

    background.png 4,48 kB – 0 Downloads
  • Mehrer Arrays zu einem zweidimensionalen Array kombinieren

    • Freaky
    • 3. März 2012 um 03:01
    Zitat von Xenobiologist

    Warum speicherst du sie nicht gleich im Array?
    Mit einer Schleife und zum Beispiel Execute solltest du doch die variablen ansprechen und im Array speichern können.

    Ich habe ein eine Funktion um ein speciellen Button zu erstellen. Diese Function gibt mir ControlID, BildID, X, Y, W, H zurück und dies ist in einem Array.
    So, leider kann ich es ja nicht so machen und es zu einem zweidimensionalem Array umwandeln:

    [autoit]

    $iButton[1] = ButtonFunction (...)

    [/autoit]


    Oder ist es doch möglich?

    Zitat von TheLuBu

    Du könntest auch die Anzahl der Items im Array zählen und ein neues Array erstellen und dieses dann befüllen

    Spoiler anzeigen
    [autoit]

    Local $Array1 [10]
    Local $Array2 [17]
    Local $Array3 [18]
    Local $Array4 [12]
    Local $Array5 [120]
    Local $Array6 [18]

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

    Local $biggest = 0

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

    If UBound($Array1) > $biggest Then $biggest = UBound($Array1)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $biggest = ' & $biggest & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    If UBound($Array2) > $biggest Then $biggest = UBound($Array2)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $biggest = ' & $biggest & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    If UBound($Array3) > $biggest Then $biggest = UBound($Array3)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $biggest = ' & $biggest & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    If UBound($Array4) > $biggest Then $biggest = UBound($Array4)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $biggest = ' & $biggest & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    If UBound($Array5) > $biggest Then $biggest = UBound($Array5)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $biggest = ' & $biggest & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    If UBound($Array6) > $biggest Then $biggest = UBound($Array6)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $biggest = ' & $biggest & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console

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

    Global $gesamtarray[$biggest][6]

    [/autoit]
    Alles anzeigen

    Problem ist ja, dass ich nicht immer weiß wie viele Variablen bzw. Arrays habe. Somit kann ich nicht sagen wie viele Abfragen ich dazu benötige.

  • Mehrer Arrays zu einem zweidimensionalen Array kombinieren

    • Freaky
    • 2. März 2012 um 05:36

    Hallo,
    ich habe unwissend wie viele Arrays mit Information in einzelnen Variablen.
    Wie kann ich alle Arrays so zusammen fügen, dass ich am Ende jede Information in nur noch einem zweidimensionalen Array habe?
    Das größte Problem dabei ist, das ich nicht weiß wie viele Variablen ich am Ende habe, und wenn ich es weiß, dann sieht es ungefähr so aus:

    [autoit]

    $var1 = ...
    $var2 = ...
    $var3 = ...
    $var4 = ...
    $var5 = ...
    $var6 = ...

    [/autoit]


    Ich möchte halt beim zweidimensionalen Array einfach es so angeben:

    [autoit]

    MsgBox (0,"",$2var[1][...])
    MsgBox (0,"",$2var[2][...])
    MsgBox (0,"",$2var[3][...])
    MsgBox (0,"",$2var[4][...])
    MsgBox (0,"",$2var[5][...])
    MsgBox (0,"",$2var[6][...])
    MsgBox (0,"",$2var[7][...])

    [/autoit]


    Ich hoffe ihr habt mich verstanden und könnt mir auch helfen.
    mfg Freaky

  • Zeit & Datum mit Zeit & Datum vergleichen in 2 verschiedenen Formaten.

    • Freaky
    • 29. Februar 2012 um 02:21

    Hey,
    vielen dank euch beiden.
    Welche Lösung ist jetzt eigentlich schneller?
    Mir gehts nicht um Millisekunden, eher um einzelne Sekunden.
    Wenn es nur im Millisekundenbereich liegt, spielt es ja keine Rolle.
    Dank nochmal :)
    mfg Freaky

  • Zeit & Datum mit Zeit & Datum vergleichen in 2 verschiedenen Formaten.

    • Freaky
    • 28. Februar 2012 um 06:09

    Hallo,
    ich möchte gerne 2 verschiedene Formate von Zeit & Datum vergleichen.
    Ich möchte nämlich einmal ein Wert aus dem Internet auslesen wie z.B. 8:47:03 AM - 02/28/2012
    Und dies mit meiner aktuellen Uhrzeit (Amerikanisch) vergleichen.
    Es soll mir einfach ein True wiedergeben wenn die Zeit aus dem Internet schon um/gerade ist mit der Zeit vom System.
    Gibt es da eine Möglichkeit?
    MfG Freaky

  • _GUICtrlListView_CreateSolidBitMap & _GUIImageList_Add farbe ändern

    • Freaky
    • 28. Februar 2012 um 01:37

    Das waere eine Idee aber ich habe na eig. kein Icon sondern eine einfache Farbe.
    Und zu der letzten Frage habe ich bereits eine Antwort gefunden. Mir würde jetzt mehr um das Problem gehen, wie ich nur bestimmten Items eine Farbe geben kann und nur bei bestimmten Items die Farbe ändern kann.

  • _GUICtrlListView_CreateSolidBitMap & _GUIImageList_Add farbe ändern

    • Freaky
    • 27. Februar 2012 um 05:06

    Hallo,
    ich möchte so kleine farbige Kästen vor einem ListViewItem machen. Dies habe ich auch in der Hilfe bereits gefunden.
    Nun möchte ich eine möglichkeit finden, dies aber zu ändern.
    Aslo, wenn wir hier z.B. das Beispiel aus der Hilfe nehmen:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <GuiImageList.au3>

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

    $Debug_LV = False ; Check ClassName being passed to ListView functions, set to True and use a handle to another control to see it work

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

    _Main()

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

    Func _Main()
    Local $hImage, $hListView

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

    GUICreate("ListView Create Solid BitMap", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUISetState()

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

    ; Load images
    $hImage = _GUIImageList_Create()
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($hListView), 0xFF0000, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($hListView), 0x00FF00, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($hListView), 0x0000FF, 16, 16))
    _GUICtrlListView_SetImageList($hListView, $hImage, 1)

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

    ; Add columns
    _GUICtrlListView_AddColumn($hListView, "Items", 100)

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

    ; Add items
    _GUICtrlListView_AddItem($hListView, "Item 1", 0)
    _GUICtrlListView_AddItem($hListView, "Item 2", 1)
    _GUICtrlListView_AddItem($hListView, "Item 3", 2)

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

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>_Main

    [/autoit]

    Wie kann ich jetzt z.B. mit dem drücken von der Taste a die Farbe rot vom ersten Eintrag zu gelb ändern?
    Es gibt nämlich keine _GUIImageList_Change Funktion oder ähnliches. Und wie kann ich nur bestimmten Items eine bestimmte Farbe verpassen bzw. ändern?

    Desweiteren, würde ich gerne wissen wie ich die Farbe auslesen kann, welche vergeben wurde.
    mfg Freaky

  • shutdown -i automatisieren

    • Freaky
    • 16. Februar 2012 um 06:39

    Ja ich meine die shutdown.exe.
    Drück mal Windoofstaste + R und schreibt: shutdown -i
    Dann öffnet sich das CMD und ein anderes Fenster.
    Ich mag das Fenster aber nicht, ich möchte einfach z.B. eingeben: shutdown -i -ip:127.0.0.1 -dauer:20 -grund:weil wegen baum
    mfg Freaky

  • shutdown -i automatisieren

    • Freaky
    • 16. Februar 2012 um 00:20

    Hallo,
    ich moechte fuer mein Netzwerk zu Hause ein kleinen Manager schreiben um PCs herrunter zu fahren oder abzumelden.
    Da gibt es bei Windows so ne schoene Funktion die sich shutdown -i nennt. Leider hat dies eine mega Form und ist nicht schoen.
    Gibt es ein Weg alle Information ueber Parameter an shutdown zu senden ohne das man die Form ins Gesicht gehauen bekommt?
    Ich maere euch sehr dankbar fuer eure Hilfe.
    mfg Freaky :)

  • Fenster in den Vordergrund holen und dominieren lassen

    • Freaky
    • 11. Februar 2012 um 08:00

    Vielen dank für eure Hilfe.
    Ich habe es jetzt geschafft aber habe kein Beispiel dar, aber ich erkläre euch wie ich es gemacht habe.
    Ich habe mein Fenster mit winsetontop auf 1 gestellt und alle anderen Fenster auf 0. Nun der lustige Teil.ndas dominierte Fenster ist trotzdem im Vordergrund, dafür aber mein Fenster über dem Fenster und somit habe ich mein Ziel erreicht. Danke euch.

  • Fenster in den Vordergrund holen und dominieren lassen

    • Freaky
    • 10. Februar 2012 um 07:34

    Hey,
    danke für deine Hilfe. Leider möchte ich nicht eine Form von mir in den Vordergrund hauen, sondern irgend ein Fenster wie z.B. dieses Firefox Fenster hier was ich offen habe.
    MfG Freaky

  • Fenster in den Vordergrund holen und dominieren lassen

    • Freaky
    • 10. Februar 2012 um 03:44

    Hallo,
    ich möchte ein Fenster in den Vordergrund holen lassen. Dies soll dann aber über alles andere dominieren.
    Ich habe mir mit WinGetState von AutoIt v3 Window Info geholt, weil es ja eigentlich immer über alles drüber ist, aber da gibt es leider immer noch Fenster die "stärker" sind.
    Gibt es ein Weg mein Fenster, bzw. irgend ein Fenster, über alles rüber zu hauen?
    mfg Freaky

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™