GUI - frage zum editfeld!

  • Das geht einfach über Autoit3Wrapper, der verwendet aber auch ResHacker :)

    Spoiler anzeigen
    [autoit]

    #AutoIt3Wrapper_Res_File_Add=BG.bmp, bitmap, BACK_BMP

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

    ; Image: BG.bmp, needs to be in ScriptDir

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

    #include <GUIConstants.au3>

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

    #region - GUI Create
    GUICreate('Test',100,100)
    $picBG = GUICtrlCreatePic("",0,0,100,100)

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

    If @Compiled Then
    _ResourceSetImageToCtrl($picBG, "BACK_BMP", $RT_BITMAP)
    Else
    GUICtrlSetImage($picBG,@ScriptDir&"\BG.bmp")
    EndIf

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

    GUISetState()
    #endregion

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

    #region - GUI SelectLoop
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    EndSelect
    WEnd
    #endregion

    [/autoit]
  • ich darf verkünden das es funktioniert ein JPG oder ein BMP in die Datei zu includen ohne das es ausgelagert wird.
    funktioniert mit dem ResHack Tool.
    Bereite noch schnell ein Beispiel vor.

    Edit: LOL es gab ja schon eine Seite 2 8o hatte net aktualisiert.

    MfG
    Der_Doc

  • Der_Doc: Ja, klar geht das. Hab doch schon ein Bsp. geposted :)

    Zitat


    EDIT: danke für dein beispiel, - die transperzen funktioniert jetzt leider nicht mehr (liegt sicher an der von mir falsch gewählten farbe?)

    Welche Transparenzen denn? Vom Bild? Ja, die Transparenten Farben müssen im Bild, bei GUISetBkColor und Bei _API_SetLayered.. gleich sein :)

  • @progandy
    Ich war nur zulangsam.
    Habe aber eine andere Lösung gefunden die auch funktioniert.

    mein Problem ist nur ich weis nicht wo der RESHACK hinkopiert werden muss.
    Habe Ihn jetzt einfach unter SciTE nen Oder ResHack angelegt und Ihn dareinkopiert.
    Hätte aber gerne ne andere Lösung ..... weis jemand eine?

    Link zu ResHack
    Link zum Forumsbeitrag

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_useupx=n
    #AutoIt3Wrapper_run_after=%scitedir%/ResHack/ResHacker.exe -add %out%, %out%, test.jpg, rcdata, TEST_JPG, 0
    #AutoIt3Wrapper_run_after=upx.exe --best --compress-resources=0 "%out%"
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <resources.au3>

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

    GUICreate("mygui",640,200,-1,-1,$WS_POPUP,$WS_EX_LAYERED) ;,$WS_POPUP,$WS_EX_LAYERED
    GUICtrlCreatePic("",0,0,640,200) ;gif soll in exe eingebunden werden ohne auslagerung beim start
    _ResourceSetImageToCtrl(-1, "TEST_JPG") ; <---------- das kommt dabei
    GUICtrlSetState(-1,$GUI_DISABLE)
    GUICtrlCreateLabel("",0,0,621,90,-1,$GUI_WS_EX_PARENTDRAG)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetColor(-1,0xFFFF00)
    $Button1 = GUICtrlCreateLabel("Patch",150,145,40,18)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetColor(-1,0xFF5500)
    GUICtrlSetFont(5, 8)
    $Button2 = GUICtrlCreateLabel("About",368,145,40,18)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetColor(-1,0xFF5500)
    GUICtrlSetFont(6, 8)
    $Edit1 = GUICtrlCreateEdit("- Patch -",210,96,130,40, BitOR($ES_WANTRETURN, $ES_READONLY),0) ;hat einen Rand der unten und rechts (Streifen) transperent ist!soll nicht manuel editerbar sein!
    GUICtrlSetBkColor(-1, 0x555555)
    GUISetBkColor(0xFFFFFF)
    GUICtrlSetFont(7, 8)
    $Edit2 = GUICtrlCreateEdit("Status",210,140,130,18, BitOR($ES_WANTRETURN, $ES_READONLY),0) ;hat einen Rand der unten und rechts (Streifen) transperent ist! soll nicht manuel editerbar sein!
    GUICtrlSetBkColor(-1, 0x555555)
    GUISetBkColor(0xFFFFFF)
    GUICtrlSetFont(8, 8)
    $close = GUICtrlCreateLabel("eXit",415,94,23,18)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetColor(-1,0xFFFF00)
    GUISetState (@SW_SHOW)

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    [/autoit]

    MfG
    Der_Doc

    • Offizieller Beitrag

    ResHacker gehört in das Verzeichnis AutoIt3Wrapper unter SciTE!

  • jop, danke erstmal für die zahlreiche beteiligung und hilfe!! - ist ja echt super hier ... muss ja mal gesagt werden.
    ... aber wenn ich es richtig verstehe, muss ich mis reshacker das teil noch von hand includieren ??

    EDIT: ich hab noch eine andere GUI-Frage:
    wenn ich folgendes habe:
    GUICreate("mygui",640,200,-1,50,$WS_POPUP,$WS_EX_LAYERED)
    was muss ich tun, damit auf der horizontalen die GUI nicht nur zentriert sondern zentriert PLUS ca 100 pixel nach rechts ist!?

    EDIT2: Ach und nochwas :) :
    Wie bekomme ich meine GUI "allways on top" also immer im Vordergrund!?

    Einmal editiert, zuletzt von WhiteLion (4. Mai 2008 um 19:37)

    • Offizieller Beitrag
    [autoit]

    GUICreate("mygui",640,200,(@DesktopWidth - 640) / 2 + 100,50,$WS_POPUP,BitOR($WS_EX_LAYERED,$WS_EX_TOPMOST))

    [/autoit]
  • danke bernd! - verdammt da wäre ich nie drauf gekommen meine zeile so umzuschreiben! woher weiss ich wann ich was in klammern schreiben bzw einen "/" setzen muss !?

    OK, gucken und denken hilft ... ich habs geschnallt ... nur bei der GUI hab ich mit folgendenbefehl aus der hilfe zusammengereimt: GUICtrlSetState(-1,$GUI_ONTOP)

    passiert ist da gar nix, was war daran falsch ?

    2 Mal editiert, zuletzt von bernd670 (4. Mai 2008 um 20:18)

    • Offizieller Beitrag

    Das ist doch eine einfache Rechenformel, auch hier gilt wie im wahren Leben Punkt- vor Strichrechnung!

    (Bildschirmbreite - Fensterbreite) / 2 + 100

    wobei "(Bildschirmbreite - Fensterbreite) / 2" Fenstermitte auf Seitenmitte setzt Plus die 100 pixel nach rechts!

    $GUI_ONTOP holt nur ein Fenster in den Vordergrund wenn andere Fenster darüberliegen!

  • ja, hab die rechnung auch geschnallt... sie dient dazu den bildschirmmitelpunkt abzüglich der grafikgröße zu ermitteln...
    wie schon geschrieben, hab zu früh gefragt ....sorry

    Einmal editiert, zuletzt von WhiteLion (5. Mai 2008 um 13:59)

  • ja ja die liebe GUI.... ich hab wieer fragen :)

    Also, ich möchte gerne eine zweite GUI einfügen, diese sollte folgendes erfüllen:
    mittig sein
    immer die oberste ebene sein
    unbeweglich sein
    ebenfalls tranzperent sein (am besten mehr als eine farbe tranzperent)

    hab also folgendes gemacht:

    [autoit]


    FileInstall("mygui.tmp", @TempDir&"/mygui.tmp")
    FileInstall("mygui2.tmp", @TempDir&"/mygui2.tmp")

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

    GUICreate("GUI2",420,300,-1,-1,$WS_POPUP,BitOR($WS_EX_LAYERED,$WS_EX_TOPMOST,$WS_EX_TOOLWINDOW))
    GUICtrlCreatePic(@TempDir&"/mygui2.tmp",0,0,420,300)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
    GUISetState (@SW_SHOW)
    Sleep("5000")
    GUICreate("GUI1",640,200,(@DesktopWidth - 640) / 2 + 50,(@DesktopHeight - 200) / 2 - 180,$WS_POPUP,BitOR($WS_EX_LAYERED,$WS_EX_TOPMOST,$WS_EX_TOOLWINDOW))
    GUICtrlCreatePic(@TempDir&"/mygui.tmp",0,0,640,200)
    GUICtrlSetState(-1,$GUI_DISABLE)
    GUICtrlCreateLabel("",0,0,621,90,-1,$GUI_WS_EX_PARENTDRAG)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetColor(-1,0xFFFF00)
    $Button1 = GUICtrlCreateLabel("Patch",152,145,40,18)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetColor(-1,0xFF3300)
    GUICtrlSetFont(5, 8)
    $Button2 = GUICtrlCreateLabel("About",368,145,40,18)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetColor(-1,0xFF3300)
    GUICtrlSetFont(6, 8)
    $Edit1 = GUICtrlCreateEdit("..............................................................",204,94,142,52, BitOR($ES_WANTRETURN, $ES_READONLY), 0)
    GUICtrlSetBkColor(-1, 0x555555)
    GUISetBkColor(0xFFFFFF)
    GUICtrlSetColor(7, 0xFF5500)
    GUICtrlSetFont(7, 8)
    $Edit2 = GUICtrlCreateEdit("Status",204,147,142,14, BitOR($ES_WANTRETURN, $ES_READONLY), 0)
    GUICtrlSetBkColor(-1, 0x555555)
    GUISetBkColor(0xFFFFFF)
    GUICtrlSetColor(8, 0xFF5500)
    GUICtrlSetFont(8, 8)
    $close = GUICtrlCreateLabel("eXit",417,94,23,18)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetFont(9, 6)
    GUICtrlSetColor(-1,0xFFFF00)
    GUISetState (@SW_SHOW) ; will display an empty dialog box
    $Version = GUICtrlCreateLabel("V1. 0",115,94,23,18)
    GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetFont(10, 6)
    GUICtrlSetColor(-1,0xFFFF00)
    GUISetState (@SW_SHOW)
    .....

    [/autoit]

    folgende probleme traten auf:
    - die erste GUI verlohr die steuerung bei den buttons! :(
    - die schriftgröße und formatierungen (wie farbe...) der ersten buttons der GUI1 wurden nicht mehr genommen!
    - die GUI2 erfüllt nich meine gewünschten anforderungen (siehe oben)

  • Hallo, ich hätte zu dem Resource Hacker eine Frage.

    Kann ich damit auch eine WAV oder MP3 Datei in eine AutoIt ausführbare Datei einbinden?
    Und wenn ja, wie wird diese Datei dann angesprochen?