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. bertizwo

Beiträge von bertizwo

  • control über Text erkennen

    • bertizwo
    • 3. Januar 2018 um 22:26

    Hallo Gemeinde,

    folgende Herausforderung:

    Eingabe1: Programm.exe # Das zu durchsuchende Programm

    Eingabe2: Test # der zu suchende Text (z.B. ein Button mit der Aufschrift "Test")

    Ausgabe: ControlID (des Buttons Test)

    Hört sich leicht an, ist aber (für mich) ziemlich knifflig.

    Irgendwelche Ideen ?

    Gruss @Berti

  • GUI unsichtbar, control sichtbar

    • bertizwo
    • 1. Mai 2012 um 17:23

    Danke minx, cooles Beispiel... ^^

    aber:
    Mein Script funktionierte vor einem Jahr noch
    unter einer anderen Version von AutoIT.

    Damals war der hellblaue Hintergrund n i c h t zu sehen.

    Hat jemand eine Lösung? (max. 3Zeiler)

    Als Ansatz hier ein Beispiel mit einer Bilddatei,
    in der der unsichtbare Bereich ausradiert wurde.

    Spoiler anzeigen
    [autoit]


    #include <GuiConstants.au3>
    #include <WindowsConstants.au3>

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

    GuiCreate("Radiertes Bild", 43, 52,0,0,$WS_POPUP,$WS_EX_LAYERED)
    GUICtrlCreatePic("background_43x52.bmp",0,0,43,52)
    ; hier dann die Definition des Tortendiagrams
    GuiSetState(@SW_SHOW)

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

    While 1
    IF GuiGetMsg() = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

    [/autoit]


    Leider scheint diese Bild jetzt immer im Vordergrund zu sein und meine Definition des Diagrams verschwindet ins Nirvana .

  • GUI unsichtbar, control sichtbar

    • bertizwo
    • 1. Mai 2012 um 15:32

    hallo Gemeinde, 8|
    wie bekomme ich den hellblauen Hintergrund der GUI unsichtbar?
    Ich möchte nur mein control sehen.

    Autoit v3.3.8.1

    [autoit]


    #include <GUIConstantsEx.au3> ;$GUI_
    #include <WinAPI.au3> ;_WinApi_
    #include <WindowsConstants.au3> ;$WS_
    #include <StaticConstants.au3> ;$SS_SIMPLE
    #Region - Timestamp
    ; 2011-04-30 16:23:02
    #EndRegion

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

    CreatePie(50)
    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

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

    Func CreatePie($sum=0)
    local $HUD[10],$fond
    ;unsichtbare, im Vordergrund stehende und verschiebbare GUI
    $HUD[1] = GUICreate("HUD 1", 43, 52, 565, 90, $WS_POPUP, bitOr($WS_EX_LAYERED, $WS_EX_TOPMOST, $WS_EX_CONTROLPARENT))
    GUISetBkColor(0xABCDEF)
    _WinAPI_SetLayeredWindowAttributes($HUD[1], 0xABCDEF,255)

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

    ;erstelle Tortendiagramm
    GUICtrlCreateGraphic(20, 20, 20, 20) ;Layer
    ;Torte
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0x009933, 0x009933)
    GUICtrlSetGraphic(-1, $GUI_GR_PIE, 0, 0, 15, 90, -180)
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0xff, 0xff)
    GUICtrlSetGraphic(-1, $GUI_GR_PIE, 0, 0, 15, -90,-180)
    ;Text in der Torte
    GUICtrlCreateLabel($sum, 14, 13.5,20,20,$SS_SIMPLE)
    GUICtrlSetFont(-1, 9, 400, 0, "Britannic Bold",5)
    GUICtrlSetColor(-1,0xFFFFFF) ;white

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

    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT ); Hitergrundfarbe auf Transparent
    GUICtrlSetState(-1 ,$GUI_DISABLE); Control nicht anklickbar. Dadurch nimmt die Grafik den Klick an

    GUISetState()
    EndFunc ;==>CreatePie

    [/autoit][autoit][/autoit][autoit][/autoit]
  • Tortendiagramm in einer transparenten GUI

    • bertizwo
    • 30. April 2011 um 17:11

    Die klare Darstellung der Zahl im Diagramm ohne lästigen Schatten geht
    dank $SS_SIMPLE in GUICtrlCreateLabel 8o

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3> ;$GUI_
    #include <WinAPI.au3> ;_WinApi_
    #include <WindowsConstants.au3> ;$WS_
    #include <StaticConstants.au3> ;$SS_SIMPLE
    #Region - Timestamp
    ; 2011-04-30 16:23:02
    #EndRegion

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

    CreatePie(50)
    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

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

    Func CreatePie($sum=0)
    local $HUD[10],$fond
    ;unsichtbare, im Vordergrund stehende und verschiebbare GUI
    $HUD[1] = GUICreate("HUD 1", 43, 52, 565, 90, $WS_POPUP, bitOr($WS_EX_LAYERED, $WS_EX_TOPMOST, $WS_EX_CONTROLPARENT))
    GUISetBkColor(0xABCDEF)
    _WinAPI_SetLayeredWindowAttributes($HUD[1], 0xABCDEF,255)

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

    ;erstelle Tortendiagramm
    GUICtrlCreateGraphic(20, 20, 20, 20) ;Layer
    ;Torte
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0x009933, 0x009933)
    GUICtrlSetGraphic(-1, $GUI_GR_PIE, 0, 0, 15, 90, -180)
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0xff, 0xff)
    GUICtrlSetGraphic(-1, $GUI_GR_PIE, 0, 0, 15, -90,-180)
    ;Text in der Torte
    GUICtrlCreateLabel($sum, 14, 13.5,20,20,$SS_SIMPLE)
    GUICtrlSetFont(-1, 9, 400, 0, "Britannic Bold",5)
    GUICtrlSetColor(-1,0xFFFFFF) ;white

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

    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT ); Hitergrundfarbe auf Transparent
    GUICtrlSetState(-1 ,$GUI_DISABLE); Control nicht anklickbar. Dadurch nimmt die Grafik den Klick an

    GUISetState()
    EndFunc ;==>CreatePie

    [/autoit]


    Wie kann ich das Tortendiagramm sauberer Zeichnen?
    Richtig rund ist es ja nicht gerade.

  • Tortendiagramm in einer transparenten GUI

    • bertizwo
    • 30. April 2011 um 11:21

    Wie kommt man eigentlich an den Quelltext von GUICtrlCreateLabel ?
    :rolleyes:

  • Tortendiagramm in einer transparenten GUI

    • bertizwo
    • 29. April 2011 um 20:08

    raupi hat recht, gemeint war die linke Maustaste .... :whistling:


    Eine Aufgabe hab ich noch:
    - es gibt Probleme mit GUICtrlCreateLabel

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WinAPI.au3> ;_WinApi_
    #include <WindowsConstants.au3> ;WS_
    #include <StaticConstants.au3> ;$SS_
    #Region - Timestamp
    ; 2011-04-29 17:11:47
    #EndRegion
    main()
    Func main()
    Local $msg, $i=1
    CreatePie()
    Do
    $msg = GUIGetMsg()
    If $i < 0 Then Exit
    Until $msg = $GUI_EVENT_CLOSE
    EndFunc

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

    Func CreatePie($sum=0)
    local $HUD[10],$fond
    ;unsichtbare, im Vordergrund stehende und verschiebbare GUI
    $HUD[1] = GUICreate("HUD 1", 43, 52, 565, 90, $WS_POPUP, bitOr($WS_EX_LAYERED, $WS_EX_TOPMOST, $WS_EX_CONTROLPARENT))
    GUISetBkColor(0xABCDEF)
    _WinAPI_SetLayeredWindowAttributes($HUD[1], 0xABCDEF,255)

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

    ;erstelle ein Tortendiagramm
    GUICtrlCreateGraphic(20, 20, 20, 20)

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

    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0xffffff, 0xffffff)
    GUICtrlSetGraphic(-1, $GUI_GR_PIE, 0, 0, 10, 90, -180)
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0xff, 0xff)
    GUICtrlSetGraphic(-1, $GUI_GR_PIE, 0, 0, 10, -90,-180)

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

    ;Text in der Torte
    GUICtrlCreateLabel($sum, 15, 15)
    GUICtrlSetFont(-1, 9, 400, 1, "Tahoma")
    GUICtrlSetColor(-1,0xffffff)

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

    GUISetState()
    EndFunc ;==>CreatePie

    [/autoit]


    1) Es stört das kleine Rechteck mit dem Desktophintergrund.
    2) Wie treffe ich die genaue Mitte der Torte

  • Tortendiagramm in einer transparenten GUI

    • bertizwo
    • 29. April 2011 um 18:22

    :thumbup: wow, das ging ja schnell
    ich teste gleich mal

    Dank an raupi & name22

  • Tortendiagramm in einer transparenten GUI

    • bertizwo
    • 29. April 2011 um 17:51

    Raupi ist der Beste... perfekt 8)

    Ich habe noch zwei Anliegen:
    1. Diagramm bei mehreren Fenstern immer im Vordergrund
    2. Wie realisiere ich das Verschieben des Diagramms mit der rechten Maustaste ?


    Vielen Dank :rock:

  • Tortendiagramm in einer transparenten GUI

    • bertizwo
    • 29. April 2011 um 16:23

    hallo Gemeinde, 8|
    ich möchte ein Tortendiagramm auf dem Desktop darstellen
    [GUI unsichtbar (0%), Torte sichtbar (100%)]

    Bei meinem Versuch habe ich als Hintergrund immer noch ein graues Rechteck:

    C
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>   	;$WS_
    ;#include <ProgressConstants.au3>  	;$PBS_
    
    
    main()
    Func main()
    	Local $msg, $i=1	
    	CreatePie()
    	Do
    		$msg = GUIGetMsg()
    		If $i < 0 Then Exit
    	Until $msg = $GUI_EVENT_CLOSE
    EndFunc   
    
    
    Func CreatePie()
    	local $HUD[10],$g
    	$HUD[1] = GUICreate("HUD 1", 43, 52, 565, 90, $WS_POPUP, $WS_EX_TRANSPARENT)
    	WinSetTrans($HUD[1], '', 255) ;transparenz von 0 wie unsichtbar bis 255
    
    
    	$g = GUICtrlCreateGraphic(20, 20, 20, 20)
    	;GUICtrlSetBkColor($HUD[1], $GUI_BKCOLOR_TRANSPARENT) 	;geht nicht
    	;GUICtrlSetBkColor($g, $GUI_BKCOLOR_TRANSPARENT)		;geht nicht
    
    	GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xffffff)
    	GUICtrlSetGraphic(-1, $GUI_GR_PIE, 0, 0, 10, 90, -180)
    	GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0xff, 0xff)
    	GUICtrlSetGraphic(-1, $GUI_GR_PIE, 0, 0, 10, -90,-180)
    
    	GUISetState()
    EndFunc   ;==>CreatePie
    Alles anzeigen

    P.S. Ich glaube, es liegt nicht an der GUI, sondern an GUICtrlCreateGraphic

  • Text per Drag&Dop verschieben

    • bertizwo
    • 15. April 2009 um 18:15

    hallo funkey, vielen Dank für die schnelle Antwort.
    Ich hatte beim testen ein paar Fehlermeldungen, deshalb hier die
    gefixte Version von anygui.au3 mit Beispielen.
    http://www.autoitscript.com/forum/index.php?act=attach&type=post&id=24409

    Gruss @Berti

  • Text per Drag&Dop verschieben

    • bertizwo
    • 11. April 2009 um 23:52

    danke funkey, genau sowas hatte ich gesucht.

    P.S. Wie lasse ich eine oder mehrere von mir erzeugte static's
    auf einer Fremdanwendung anzeigen?

  • Text per Drag&Dop verschieben

    • bertizwo
    • 8. April 2009 um 18:28

    hallo Gemeinde, 8|
    habe kleinen Text "hallo" [static1] auf einer GUI erstellt.
    Dieser soll jetzt aber evtl. mittels rechter Maustaste verschoben werden.

    Wie geht das?
    Danke @Berti

  • Text sichtbar GUI unsichtbar

    • bertizwo
    • 7. April 2009 um 22:19

    vielen Dank jam00, eukalyptus, ..

    Mein Ergebnis saehe dann so aus:

    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <WinAPI.au3>

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

    setWinHide("Test",400,200,0,0)
    setText(10,40,"roter Text in Groesse 9 ",0xFF0000,"MS Reference Sans Serif",9)
    setText(20,80,"default Text")

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    ;myFunction
    Func setText($x,$y,$text,$color=0x00000D,$fontname="MS Times New Roman",$textgroesse=12)
    local $label = GUICtrlCreateLabel ($text, $x, $y,StringLen($text)*$textgroesse,$textgroesse*2)
    GUICtrlSetFont($label, $textgroesse, 400, -1, $fontname)
    GUICtrlSetColor($label, $color)
    EndFunc

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

    ;Erstellt eine transparente GUI
    Func setWinHide($title, $width, $height, $left, $top)
    local $hGui = GUICreate($title, $width, $height, $left ,$top ,$WS_POPUP, $WS_EX_LAYERED)
    local $bkcolor = 0x000000
    GUISetBkColor($bkcolor)
    DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hGui, "long", $bkcolor, "byte", 255, "long", 0x03)
    GUISetState()
    EndFunc

    [/autoit]

    Es funktioniert und es waren nur drei Zeilen zusaetzlich.
    Nochmals Danke
    @Berti

  • Text sichtbar GUI unsichtbar

    • bertizwo
    • 7. April 2009 um 20:32

    oh mein Gott ... :wacko:

    ...ich bin zu dumm dafür.

  • Text sichtbar GUI unsichtbar

    • bertizwo
    • 7. April 2009 um 19:05

    hallo gemeinde,
    wie muss ich meinen Quelltext aendern, damit man nur den Text ohne GUI sieht ?

    [autoit]


    #include <GUIConstants.au3>

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

    GUICreate("Test", 400, 200)
    setText(10,40,"Teste einen roten Text in Groesse 9 ",0xFF0000,"MS Times New Roman",9)
    GUISetState()

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    ;myFunction
    Func setText($x,$y,$text,$color,$fontname,$textgroesse)
    local $label = GUICtrlCreateLabel ($text, $x, $y,StringLen($text)*$textgroesse,$textgroesse*2)
    GUICtrlSetFont($label, $textgroesse, 400, -1, $fontname)
    GUICtrlSetColor($label, $color)
    EndFunc

    [/autoit]

    Ich habs schon mit GUISetState(@sw_hide) probiert.
    Ergebnis: die GUI war weg, leider auch der Text.

    Eine direkte Lösung wird gesucht. (keine Links, Kommentare, Fragen etc.)
    Gruss @Berti

  • doppelten Programmaufruf vermeiden

    • bertizwo
    • 6. Juni 2008 um 15:08

    vielen dank, es klappt

  • doppelten Programmaufruf vermeiden

    • bertizwo
    • 6. Juni 2008 um 14:29

    hallo Jo,
    gehen wir einfach mal davon aus, das script sei compiliert...

    der processname ist schon richtig, da das programm sich selbst abschiesst.
    es soll sich aber nur selbst abschiessen, wenn das programm schon einmal aufgerufen wurde.
    anders ausgedrueckt: es soll schauen, ob ein proramm mit gleichem namen schon laeuft.

  • doppelten Programmaufruf vermeiden

    • bertizwo
    • 6. Juni 2008 um 14:19

    hallo gemeinde,

    ich will, dass mein programm nur ein mal aufgerufen wird.


    mein versuch in myProgram.au3...
    IF ProcessExists("myProgram.exe") Then
    Exit 0
    EndIF
    ... musste ja logischerweise scheitern.

    irgendwelche loesungen parat? (fuer dummies)
    danke bertizwo

  • string2array

    • bertizwo
    • 23. Januar 2008 um 17:05

    hallo Poldi, :thumbup:

    Frage3: ok
    StringSplit zum erstellen des Arrays - darauf muss man erst mal kommen.

    Vielen Dank,
    Gruss @Berti


    Zitat

    geht bestimmt auch viiiiiiiiiel einfacher

    Wie?

  • string2array

    • bertizwo
    • 23. Januar 2008 um 12:10

    Hallo Gemeinde, 8|

    Beispiel:
    $t = WinGetClassList("","")
    MsgBox(0, "Text read was:", $t)

    Frage1: Wie lösche ich alles, was mehr als 1x in String $t vorkommt ?
    (Welche Elemente gibt es, ausser @LG)
    Frage2: Welche Elemente sind wie oft in $t vorhanden ? (ausser @LG)
    Frage3: Wie wandel ich den String $t in ein Array um ?

    Bitte nur direkte Antworten und keine Verweise etc.
    Vielen Dank @Berti

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™