[Code] [Auto It] Bilder in GUI mittig positionieren

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von HuNdI, 19. Dezember 2008 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 19. Dezember 2008
    [Auto It] Bilder in GUI mittig positionieren

    Direkt mal mein Problem:

    Ich bekomme es nicht in, das ein Bild in einer GUI horizontal und vertikal zentriert ist.
    Naja.. Eig bekomme ich nicht mal eines von beiden hin :p

    Hätte da jemand eine Idee oder ein bisschen Code?:rolleyes:
     

  2. Anzeige
    Heute: Deals & Sale mit stark reduzierten Angeboten finden.
  3. #2 20. Dezember 2008
    AW: [Auto It] Bilder in GUI mittig positionieren

    ich kenne das programm zwar nicht aber...
    nim doch einfach die gesamt breite und höhe von dem fenster und halbier diese dann...
    nimmst du die hälfte von der gesamtbreite und höhe von dem bild und...
    ziehst die breite von dem bild von der breite von dem pic ab und das gleiche bei der höhe und schon sollte dein bild zentriert sein ;)

    falls ich unsinniges zeug laber könnt ihr meinen post löschen ;)

    greetz
     
  4. #3 21. Dezember 2008
    AW: [Auto It] Bilder in GUI mittig positionieren

    Ich weiß genau was gemeint ist da ich genau diese Idee auch schon hatte.

    Nur weiß ich auch (und find ich auch) genau so wenig darüber wie über das zentrieren.

    Trotzdem danke ;)
     
  5. #4 21. Dezember 2008
    AW: [Auto It] Bilder in GUI mittig positionieren

    hi
    ich habe das auch so gemacht wie DA_DOM es schon angesprochen hat.
    da ich die gui ja eh selbst erstelle und die größe angeben muß, habe ich sie mir vorher in ne variable geschrieben. genau das selbe beim bild.
    Code:
    #include <GuiConstants.au3>
    
    ; GUI
    $gui_width = 400
    $gui_height = 400
    
    GuiCreate("Sample GUI", $gui_width, $gui_height)
    
    ; Bild
    $bild_width = 200
    $bild_height = 150
    
    ; Bild zentrieren
    $bild_x = ($gui_width/2)-($bild_width/2)
    $bild_y = ($gui_height/2)-($bild_height/2)
    
    GUICtrlCreatePic("klickdichnichtweg.jpg",$bild_x, $bild_y, $bild_width, $bild_height)
    
    
    
    
    ; GUI MESSAGE LOOP
    GuiSetState()
    While GuiGetMsg() <> $GUI_EVENT_CLOSE
    WEnd
     
  6. #5 21. Dezember 2008
    AW: [Auto It] Bilder in GUI mittig positionieren

    probiers mal mit "Der Koda(FormDesigner)" vielleicht bekommst du des damit hin....

    HIER KLICKEN

    mfg bebop
     
  7. #6 21. Dezember 2008
    AW: [Auto It] Bilder in GUI mittig positionieren

    @ 0x23: Das Problem ist das das Fenster von der Größe her verändert werden kann und dann weiß ich nicht mehr wie groß das Fenster ist, muss daher auslesen können wie groß dieses ist.

    @ b3Op123: Hab Koda noch nie verwendet aber nach dem was ich auf der Seite finde ist das ja eher was um selbst GUI's zu erstellen und nicht um da iwas von Code selber zu erstellen. (Was ich in diesem Fall ja bräuchte, da der Code mir das Bild mittig positionieren soll)

    :(
     
  8. #7 21. Dezember 2008
    AW: [Auto It] Bilder in GUI mittig positionieren

    das mit dem größe ändern habe ich vermutet :)
    ich habe mal ein bissle weiter versucht und glaube eine gute lösung gefunden zu haben.

    Code:
    #include <GuiConstants.au3>
    
    ; GUI
    $gui_width = 220
    $gui_height = 170
    
    GuiCreate("Sample GUI", $gui_width, $gui_height, Default, Default, $WS_SIZEBOX)
    
    ; Bildgröße
    $bild_width = 200
    $bild_height = 150
    
    ; Bild zentrieren
    $gui_size = WinGetPos("Sample GUI") ; holt (x,y,width,height)
    $bild_x = ($gui_size[2]-6)/2 - $bild_width/2 ; -6 wegen dem Rahmen (kann sich auch ändern bei anderen Styles)
    $bild_y = ($gui_size[3]-36)/2 - $bild_height/2 ; -36 wegen dem Rahmen ...
    
    $nPic = GUICtrlCreatePic("klickdichnichtweg.jpg",$bild_x, $bild_y, $bild_width, $bild_height)
    
    GUICtrlSetResizing ($nPic,$GUI_DOCKHCENTER+$GUI_DOCKSIZE+$GUI_DOCKVCENTER) ;nimmt das bild und zentriert es nachem gui ändern
    
    ; GUI MESSAGE LOOP
    GuiSetState()
    While GuiGetMsg() <> $GUI_EVENT_CLOSE
    WEnd
    die zeile unten dürfte eigendlich reichen.
    Code:
    GUICtrlSetResizing ($nPic,$GUI_DOCKHCENTER+$GUI_DOCKSIZE+$GUI_DOCKVCENTER)
     
  9. #8 21. Dezember 2008
    AW: [Auto It] Bilder in GUI mittig positionieren

    Soweit so gut. Das klappt.

    Jetzt ist nur noch die Frage wie ich die Größe der Bilder rausbekomme, da es auch nicht immer das selbe Bild ist.
     
  10. #9 5. Januar 2009
    AW: [Auto It] Bilder in GUI mittig positionieren

    Hab nach langem suchen endlich etwas gefunden.
    Wen es interessiert:

    Code:
    [COLOR="Green"]
    ;================================
    ; Function Name: _GetExtProperty
    ; Author(s): Simucal
    ;================================
    [/COLOR]
    [COLOR="RoyalBlue"]
    Func [/COLOR][COLOR="Magenta"]_GetExtProperty[/COLOR]([COLOR="Red"]$sPath[/COLOR], [COLOR="Red"]$iProp[/COLOR])
     Local [COLOR="Red"]$iExist,[/COLOR] [COLOR="Red"]$sFile[/COLOR], [COLOR="Red"]$sDir[/COLOR], [COLOR="Red"]$oShellApp[/COLOR], [COLOR="Red"]$oDir[/COLOR], [COLOR="Red"]$oFile[/COLOR], [COLOR="Red"]$aProperty[/COLOR], [COLOR="Red"]$sProperty[/COLOR]
     [COLOR="Red"]$sFile[/COLOR] = StringTrimLeft([COLOR="Red"]$sPath[/COLOR], StringInStr([COLOR="Red"]$sPath,[/COLOR] "\", 0, -1))
     [COLOR="Red"]$sDir[/COLOR] = StringTrimRight([COLOR="Red"]$sPath[/COLOR], (StringLen([COLOR="Red"]$sPath[/COLOR]) - StringInStr([COLOR="Red"]$sPath[/COLOR], "\", 0, -1)))
     [COLOR="Red"]$oShellApp[/COLOR] = ObjCreate("shell.application")
     [COLOR="Red"]$oDir[/COLOR] = [COLOR="Red"]$oShellApp[/COLOR].NameSpace([COLOR="Red"]$sDir[/COLOR])
     [COLOR="Red"] $oFile[/COLOR] = [COLOR="Red"]$oDir[/COLOR].Parsename([COLOR="Red"]$sFile[/COLOR])
     [COLOR="RoyalBlue"] If [/COLOR][COLOR="Red"]$iProp[/COLOR] = -1 [COLOR="RoyalBlue"]Then[/COLOR]
     [COLOR="RoyalBlue"]Local [/COLOR][COLOR="Red"]$aProperty[/COLOR][35]
     [COLOR="RoyalBlue"] For[/COLOR] [COLOR="Red"]$i [/COLOR]= 0 [COLOR="RoyalBlue"]To[/COLOR] 34
     [COLOR="Red"]$aProperty[/COLOR][[COLOR="Red"]$i[/COLOR]] = [COLOR="Red"]$oDir[/COLOR].GetDetailsOf([COLOR="Red"]$oFile[/COLOR], [COLOR="Red"]$i[/COLOR])
     [COLOR="RoyalBlue"] Next[/COLOR]
     [COLOR="RoyalBlue"]Return [/COLOR][COLOR="Red"]$aProperty[/COLOR]
     [COLOR="RoyalBlue"] Else[/COLOR]
     [COLOR="Red"]$sProperty[/COLOR] = [COLOR="Red"]$oDir[/COLOR].GetDetailsOf([COLOR="Red"]$oFile[/COLOR], [COLOR="Red"]$iProp[/COLOR])
     [COLOR="RoyalBlue"] If[/COLOR] [COLOR="Red"]$sProperty[/COLOR] = "" [COLOR="RoyalBlue"]Then[/COLOR]
     [COLOR="RoyalBlue"]Return [/COLOR]"None"
    [COLOR="RoyalBlue"] Else[/COLOR]
     [COLOR="RoyalBlue"]Return [/COLOR][COLOR="Red"]$sProperty[/COLOR]
    [COLOR="RoyalBlue"] EndIf
     EndIf[/COLOR]
    [COLOR="RoyalBlue"]EndFunc [/COLOR][COLOR="Green"];==>_GetExtProperty[/COLOR]
    


    Mit
    _GetExtProperty("Hier der Pfad",27)
    bekommt man die Breite raus und mit 28 die Höhe
     

  11. Videos zum Thema
Die Seite wird geladen...