Hallo Leute,
ich habe mir hier was schönes gecodet und stehe nun vor einem (für mich) großen Problem:
Der Background meiner GUI ist 1226x744 Pixel groß, sprich zu groß für viele Anwender. Ich will das nun alles "relativ" machen...
Mit dem Code lese ich erstmal aus, ob die GUI die volle Größe haben kann oder nicht.
Spoiler anzeigen
If @DesktopWidth > 1225 Then
$width = 1226
Else
$width = @DesktopWidth
EndIf
If @Desktopheight > 743 Then
$height = 744
Else
$height = @Desktopheight
EndIf
Wenn jetzt aber die Auflösung kleiner als 1226x744 ist, muss ich das bei der Erstellung der GUI bzw Erstellung der GUI-Objekte beachten. Nur ich weiß nicht, wie ich das machen soll. Momentan wird meine GUI so erstellt:
Spoiler anzeigen
Func create_inter()
_IEErrorHandlerRegister ()
$oIE = _IECreateEmbedded ()
[/autoit] [autoit][/autoit] [autoit]$myg = GUICreate ($servername & " Launcher", $width, $height, -1, -1, $WS_OVERLAPPEDWINDOW)
[/autoit] [autoit][/autoit] [autoit]$Back = GUICtrlCreatePic ("\back.bmp", 0, 0, 1226, 744)
GUICtrlSetState(-1, $GUI_DISABLE)
$credits = GUICtrlCreateLabel ( "", 25, 25, 450, 200)
GUICtrlSetBkColor( -1, $GUI_BKCOLOR_TRANSPARENT)
$Button_1 = GUICtrlCreatePic ("\images\buttons\News.bmp", 50, 230, 170, 41)
$Button_1s = GUICtrlCreatePic ("\images\buttons_pressed\News.bmp", 50, 230, 170, 41)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_2 = GUICtrlCreatePic ("\images\buttons\Forum.bmp", 50, 271, 170, 41)
$Button_2s = GUICtrlCreatePic ("\images\buttons_pressed\Forum.bmp", 50, 271, 170, 41)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_3 = GUICtrlCreatePic ("\images\buttons\Erste Schritte.bmp", 50, 312, 170, 41)
$Button_3s = GUICtrlCreatePic ("\images\buttons_pressed\Erste Schritte.bmp", 50, 312, 170, 41)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_31 = GUICtrlCreatePic ("\images\buttons\Account erstellen.bmp", 70, 358, 119, 28)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_31s = GUICtrlCreatePic ("\images\buttons_pressed\Account erstellen.bmp", 70, 358, 119, 28)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_32 = GUICtrlCreatePic ("\images\buttons\Account aktivieren.bmp", 70, 386, 119, 28)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_32s = GUICtrlCreatePic ("\images\buttons_pressed\Account aktivieren.bmp", 70, 386, 119, 28)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_4 = GUICtrlCreatePic ("\images\buttons\Hilfe.bmp", 50, 353, 170, 41)
$Button_4s = GUICtrlCreatePic ("\images\buttons_pressed\Hilfe.bmp", 50, 353, 170, 41)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_41 = GUICtrlCreatePic ("\images\buttons\FAQ.bmp", 70, 399, 119, 28)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_41s = GUICtrlCreatePic ("\images\buttons_pressed\FAQ.bmp", 70, 399, 119, 28)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_42 = GUICtrlCreatePic ("\images\buttons\Realmlist.bmp", 70, 427, 119, 28)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_42s = GUICtrlCreatePic ("\images\buttons_pressed\Realmlist.bmp", 70, 427, 119, 28)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_43 = GUICtrlCreatePic ("\images\buttons\Ticket schreiben.bmp", 70, 455, 119, 28)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_43s = GUICtrlCreatePic ("\images\buttons_pressed\Ticket schreiben.bmp", 70, 455, 119, 28)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_5 = GUICtrlCreatePic ("\images\buttons\Optionen.bmp", 50, 394, 170, 41)
$Button_5s = GUICtrlCreatePic ("\images\buttons_pressed\Optionen.bmp", 50, 394, 170, 41)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_51 = GUICtrlCreatePic ("\images\buttons\WoW-Pfad.bmp", 70, 440, 119, 28)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_51s = GUICtrlCreatePic ("\images\buttons_pressed\WoW-Pfad.bmp", 70, 440, 119, 28)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_52 = GUICtrlCreatePic ("\images\buttons\Hackpatches.bmp", 70, 468, 119, 28)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_52s = GUICtrlCreatePic ("\images\buttons_pressed\Hackpatches.bmp", 70, 468, 119, 28)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_6 = GUICtrlCreatePic ("\images\buttons\WoW Spielen.bmp", 50, 435, 170, 41)
$Button_6s = GUICtrlCreatePic ("\images\buttons_pressed\WoW Spielen.bmp", 50, 435, 170, 41)
GUICtrlSetState ( -1, $GUI_HIDE)
$Button_mute = GUICtrlCreatePic ("\images\mute.bmp", 0, 0, 25, 25)
$Button_resume = GUICtrlCreatePic ("\images\resume.bmp", 0, 0, 25, 25)
GUICtrlSetState ( -1, $GUI_HIDE)
$version = GUICtrlCreateLabel ("v " & $version, 535, 165, 36, 14)
GUICtrlSetFont( -1,
GUICtrlSetColor( -1, 0xffcc00)
GUICtrlSetBkColor( -1, $GUI_BKCOLOR_TRANSPARENT)
$copyr = GUICtrlCreateLabel ("Copyright (c) 2007-2008 by MCT && DO-WoW", 920, 165, 300, 14)
GUICtrlSetFont( -1, 7)
GUICtrlSetColor( -1, 0x0000FF)
GUICtrlSetBkColor( -1, $GUI_BKCOLOR_TRANSPARENT)
$l_server = GUICtrlCreateLabel ( "wait", 655, 705, 130, 20)
GUICtrlSetFont( -1, 15)
GUICtrlSetColor( -1, 0x00cc00)
GUICtrlSetBkColor( -1, $GUI_BKCOLOR_TRANSPARENT)
$l_server_p = GUICtrlCreateLabel ( "", 717, 710, 130, 20)
GUICtrlSetFont( -1, 10)
GUICtrlSetColor( -1, 0x00cc00)
GUICtrlSetBkColor( -1, $GUI_BKCOLOR_TRANSPARENT)
$r_server1 = GUICtrlCreateLabel ( "wait", 883, 705, 130, 20)
GUICtrlSetFont( -1, 15)
GUICtrlSetColor( -1, 0x00cc00)
GUICtrlSetBkColor( -1, $GUI_BKCOLOR_TRANSPARENT)
$r_server2 = GUICtrlCreateLabel ( "wait", 1100, 705, 130, 20)
GUICtrlSetFont( -1, 15)
GUICtrlSetColor( -1, 0x00cc00)
GUICtrlSetBkColor( -1, $GUI_BKCOLOR_TRANSPARENT)
$emb_inet = GUICtrlCreateObj ($oIE, 505, 200, 638, 450)
[/autoit] [autoit][/autoit] [autoit]global $autoupdate_label = GUICtrlCreateLabel ( "Aktualisierung", 270, 255, 160, 25, $SS_CENTER+$DS_SETFOREGROUND)
GUICtrlSetFont( -1, 15)
GUICtrlSetColor( -1, 0xffcc00)
GUICtrlSetBkColor( -1, $GUI_BKCOLOR_TRANSPARENT)
global $progressbar1 = GUICtrlCreateProgress ( 270, 280, 160, 24)
global $progressbar2 = GUICtrlCreateProgress ( 270, 307, 160, 28)
global $progresslabel1 = GUICtrlCreateLabel ( "Checking for updates ...", 270, 285, 160, 14, $SS_CENTER+$DS_SETFOREGROUND)
GUICtrlSetColor( -1, 0x000000)
GUICtrlSetBkColor( -1, $GUI_BKCOLOR_TRANSPARENT)
yellow_font($Button_1)
yellow_font($Button_2)
yellow_font($Button_3)
yellow_font($Button_31)
yellow_font($Button_32)
yellow_font($Button_4)
yellow_font($Button_41)
yellow_font($Button_42)
yellow_font($Button_43)
yellow_font($Button_5)
yellow_font($Button_51)
yellow_font($Button_52)
yellow_font($Button_6)
GUICtrlSetResizing ($Button_1, 1)
GUICtrlSetResizing ($Button_2, 1)
GUICtrlSetResizing ($Button_3, 1)
GUICtrlSetResizing ($Button_31, 1)
GUICtrlSetResizing ($Button_32, 1)
GUICtrlSetResizing ($Button_4, 1)
GUICtrlSetResizing ($Button_41, 1)
GUICtrlSetResizing ($Button_42, 1)
GUICtrlSetResizing ($Button_43, 1)
GUICtrlSetResizing ($Button_5, 1)
GUICtrlSetResizing ($Button_51, 1)
GUICtrlSetResizing ($Button_52, 1)
GUICtrlSetResizing ($Button_6, 1)
GUICtrlSetResizing ($Button_mute, 1)
GUICtrlSetResizing ($Button_resume, 1)
GUICtrlSetResizing ($emb_inet, 1)
GUICtrlSetResizing ($Back, 1)
GUICtrlSetResizing ($credits, 1)
GUICtrlSetResizing ($version, 1)
GUICtrlSetResizing ($copyr, 1)
GUICtrlSetResizing ($l_server, 1)
GUICtrlSetResizing ($l_server_p, 1)
GUICtrlSetResizing ($r_server1, 1)
GUICtrlSetResizing ($r_server2, 1)
GUICtrlSetResizing ($autoupdate_label, 1)
GUICtrlSetResizing ($progressbar1, 1)
GUICtrlSetResizing ($progressbar2, 1)
GUICtrlSetResizing ($progresslabel1, 1)
GUISetBkColor (0x000000)
[/autoit] [autoit][/autoit] [autoit]_IENavigate ($oIE, $news, 0)
GUISetState (@SW_SHOW)
EndFunc
Wenn ich es aber so mache, dann wird der Background bei Erstellung der GUI nicht verkleinert (falls Auflösung < 1226x744), sondern es wird einfach der überstehende "Rest" abgeschnitten. Das will ich natürlich vermeiden... genauso sollten sich auch die Controls dem anpassen.
Beim Resizen klappts ja auch alles perfekt, aber eben nicht bei der Neuerstellung. Ich weiß quasi wo das Problem liegt, kann es aber nicht lösen
Ich würde mich sehr über Denkanstösse und Hilfen freuen, denn ich bin nun schon so weit gekommen und mag es jetzt auch zu Ende bringen
P.S.: Tut mir Leid, falls am Code iwas für euch benötigtes fehlt, aber das Problem ist, dass das Script über 800 Zeilen lang ist und somit die Auswahl relativ schwer war Falls ihr was braucht, einfach (bitte) kurz schreiben und innerhalb kurzer Zeit habt ihr den benötigten Teil
Danke schonmal
Greetz
Lil-rich