Hi Leute,
ist es möglich statt Text... Input Boxen in die Subitems zu integrieren. Sieht dann in etwa so aus:
[Blockierte Grafik: http://blog.buerstinghaus.net/images/addonkopierer-main.jpg]
Danke Jungs! ![]()
Hi Leute,
ist es möglich statt Text... Input Boxen in die Subitems zu integrieren. Sieht dann in etwa so aus:
[Blockierte Grafik: http://blog.buerstinghaus.net/images/addonkopierer-main.jpg]
Danke Jungs! ![]()
Jawoll, klappt prima, danke jung! ![]()
Hmm, versteh nicht ganz wie das funktionieren soll. ![]()
GUISetFont(9, 350, 2, "", $Form1_1)
GUICtrlSetFont($gCombo, 9, 350)
Kann mir jemand helfen bitte?
Edit: Oh, wenn richtig verstanden brauch ich eine Schrift bei der alle Zeichen gleich dick sind. Ich kenn keine, kann jemand welche nennen!?
Grüße euch Leute,
mir ist aufgefallen, dass jedes Zeichen wenn man es z.B. in einer Schleife mehrfach hintereinander reiht, unterschiedlich lang im ComboBox Control zu sehen ist. Habe hier mal ein example statuiert zum Verständnis:
[autoit]$data = ""
For $i= 1 to 30
$data &= "-"
Next
$data &= "|"
For $i= 1 to 30
$data &= "K"
Next
GUICtrlSetData($gCombo, $data)
[/autoit]Die K's erscheinen im Control viel länger als die Bindestriche.
Kann man da was machen?
Vielen Dank schon mal!
Ja prima, gut zu wissen, danke raupi ![]()
Jawoll! Und wieder perfekt geholfen. Danke Leute! ![]()
Habe die Lösung von Raupi mit 'Messages' genommen, da ich Opt("GUIOnEventMode", 1) gesetzt hab.
Hi Leute,
ich hab ein Problem mit einem UpDown Control, welches in einem Input control eingebettet wurde. Zwar nicht beim abfangen des updown controls sondern bei dem was es anschließend machen soll
Hier der Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <UpDownConstants.au3>
$hGUI = GUICreate("Test", 500, 500)
[/autoit][autoit][/autoit][autoit]$hInput = GUICtrlCreateInput("5000", 10, 10, 100, 20)
$hUpDown = GUICtrlCreateUpdown($hInput, BitOR($UDS_WRAP, $UDS_NOTHOUSANDS))
GUICtrlSetLimit($hUpDown, 6000, 5000)
GUISetState()
[/autoit][autoit][/autoit][autoit]GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY")
[/autoit][autoit][/autoit][autoit]While 1
[/autoit][autoit][/autoit][autoit]Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
[/autoit][autoit][/autoit][autoit]Func _WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
[/autoit][autoit][/autoit][autoit]; Is it from the UpDown?
If BitAND($wParam, 0xFFFF) = $hUpDown Then
; Create NMUPDOWN structure
Local $tStruct = DllStructCreate("hwnd;long;int;long;long", $lParam)
$imgIndex = DllStructGetData($tStruct, 4) ; Input auslesen
MsgBox(0, "fdsf", $imgIndex)
EndIf
EndIf
EndFunc
[/autoit]Dies ist nicht mein Code, habe es nur zum aufzeigen verwendet, wie man das updown control abfängt. Ich möchte den Inhalt auslesen, allerdings ist es so, wenn ich up oder down klicke liest er den aktuellen inhalt aus, während er danach erst inkrementiert. Es ist also alles immer um 1 verschoben. Wenn ich 1 ausgelesen habe, steht im control 2, dann liest er 2 aus und dort steht 3. Jetzt hab ich noch ein Label welches mit GUICTRLSetData angepasst werden soll und zwar mit dem Inhalt eines Arrays was von [0] - [3] geht. Wenn ich mit dem updown control hochgehe ist es noch machbar, indem ich $imgIndex -1 setze, aber da ich nicht prüfen kann ob nun up oder down geklickt wurde, klappt es nicht beim runtergehen. Wenn im control 4 steht und ich down klicke hab ich 3, mein array hat dann [3], da $imgIndex -1, obwohl das array ja [2] haben sollte, da nach dem down klick der Inhalt 3 ist ![]()
Hoffe ihr könnt folgen, sonst muss ich weiter ausholen!
Hat jemand eine idee, wie ich das nun umsetzen kann?
Danke Leute!
Hi,
hat jemand eine Idee, warum ich für die Parameter $_Start und $_End keine Variablen verwenden kann:
Hilfe sagt:
#include <String.au3>
_StringBetween($s_String, $s_Start, $s_End [, $v_Case = -1])
$Options[0] = 'NAME'
[/autoit][autoit][/autoit][autoit]$klappt_nicht = _StringBetween($aXML[1], '"<' & $Options[$i-1] & '>"', '"</' & $Options[$i-1] & '>"')
$klappt = _StringBetween($aXML[1], "<NAME>", "</NAME>")
Danke schon mal jungs!
Oh man, gar nicht gesehen! Krabat hat die Lösung. Du bist zu wild man, vielen Dank!
Danke an alle, ihr seid die besten!
ok sorry, dann hab ich mich schlecht ausgedrückt. Also ich möchte gerne folgenden Style, siehe Bild -> Abgerundete Tabs und grauer Hintergrund. Das klappt auch, wenn ich das flag setze, aber wenn ich das setze, löscht es den Tab text.
Switchen geht jetzt, hab net gewusst das das flag $TCS_OWNERDRAWFIXED auch für die Funktion GUICreate() klappt. Jetzt passts. Fehlt nur noch der Tab text! Wie mach ich das?
[autoit]
#include <GUIConstantsEx.au3>
#include <GUIConstantsEx.au3>
#include <GuiTab.au3>
#include <WindowsConstants.au3>
Example()
Func Example()
Local $msg
GUICreate("My GUI Tab") ; will create a dialog box that when displayed is centered
[/autoit][autoit][/autoit][autoit];~ GUISetBkColor(0x00E0FFFF)
GUISetFont(9, 300)
GUICtrlCreateTab(10, 10, 800, 800, $TCS_OWNERDRAWFIXED)
[/autoit][autoit][/autoit][autoit]GUICtrlCreateTabItem("tab0")
GUICtrlCreateLabel("label0", 30, 80, 50, 20)
GUICtrlCreateButton("OK0", 20, 50, 50, 20)
GUICtrlCreateInput("default", 80, 50, 70, 20)
GUICtrlCreateTabItem("tab----1")
GUICtrlCreateLabel("label1", 30, 80, 50, 20)
GUICtrlCreateCombo("", 20, 50, 60, 120)
GUICtrlSetData(-1, "Trids|CyberSlug|Larry|Jon|Tylo", "Jon") ; default Jon
GUICtrlCreateButton("OK1", 80, 50, 50, 20)
GUICtrlCreateTabItem("tab2")
GUICtrlSetState(-1, $GUI_SHOW) ; will be display first
GUICtrlCreateLabel("label2", 30, 80, 50, 20)
GUICtrlCreateButton("OK2", 140, 50, 50)
GUICtrlCreateTabItem("") ; end tabitem definition
[/autoit][autoit][/autoit][autoit];~ GUICtrlCreateLabel("label3", 20, 130, 50, 20)
[/autoit][autoit][/autoit][autoit]GUISetState()
[/autoit][autoit][/autoit][autoit]; Run the GUI until the dialog is closed
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
EndFunc ;==>Example
Also irgendwo in den englischen Foren stand, dass AutoIT nur die basic styles drauf hat. Allerdings bringt AutoIT noch ne UDF von Haus aus mit, heisst dann:
[autoit]...
$hGUI = GUICreate("Test", 400, 300)
$hTab = _GUICtrlTab_Create($hGUI, 2, 2, 396, 296)
...
Das Problem ist der weiße Hintergrund im Tab Feld. Verwende ich nun den falg $TCS_BUTTONS, bekomme ich buttons, ungewollt, aber dafür stimmt der Hintergrund dann (grau). Allerdings fehlt noch die abgerundeteten Tabs.
...
$hGUI = GUICreate("Test", 400, 300)
$hTab = _GUICtrlTab_Create($hGUI, 2, 2, 396, 296, $TCS_BUTTONS )
...
Dann gibt es nen flag für die selbe Funktion, heisst $TCS_OWNERDRAWFIXED. Dannach ist der style perfekt. Einzige Probleme: Keine Schrift und keine Ahnung wie sich die Tabs switchen lassen, also, dass auf jedem was anderes zu sehen ist. Dummerweise zeigt keines der examples wie man die switcht, da in keinem example weitere controls außer dem tab ctrl verwendet werden -.-
...
$hGUI = GUICreate("Test", 400, 300)
$hTab = _GUICtrlTab_Create($hGUI, 2, 2, 396, 296, $TCS_OWNERDRAWFIXED)
...
Habe das Ganze nochmal in nem Bild dargestellt.
Also es muss kein ActivexControl sein, wie man im Bild sehen kann geht es auch mit der oben genannten Funktion. Das flag $TCS_OWNERDRAWFIXED hat folgende Bedeutung:
"The parent window is responsible for drawing tabs"
Ich habe leider überhaupt keine Ahnung welche Gesetze jetzt gelten.
Ich denke der Weg ist nicht mehr weit. Hat jemand eine idee, wie ich den Tab text hinzufüge und die tabs switche?
Danke schon mal!
Hey Leute,
ich möchte gerne ein Tab erstellen, dass dem des Windows Forms 2.0 Tabstrip gleich kommt.
Mit dem Koda FormDesigner kann ich es anzeigen, (s. Bild) aber arbeiten kann ich damit noch nicht. Im Quellcode hab ich einen Button gesetzt, den man im GUI nicht sieht, erst wenn man über die Psoition drüber fährt kommt er zum Vorschein.
Hat jemand ne Idee, wie ich das Activex Control richtig einsetzen kann?
Danke jungs!
Wie kommt es, dass sobald ich ein GUI mit WinMove resize, die alte Höhe nicht mehr stimmt? Wo ich vorher noch mit dem gleichen height Wert des GUI den unteren Button sehen konnte, seh ich jetzt nur noch den Ansatz des Button. Kann man nicht einfach height des GUI ändern ohne resize und der ganze Kram?
Danke schon mal jungs!
ok also manuell. Danke für deine Hilfe!
Hi jungs,
ist es möglich ein control an ein anderes control zu ankern. Ich hab ein bestehendes GUI dem ich eine zufällige anzahl an checkboxen hinzufüge, die sich dann untereinander aufbauen und unter diesen checkboxen bestehen bereits controls, die sich demnach nach unten verschieben müssten, also der "top" wert. Geht das oder muss ich den "top" wert pro hinzugefügte checkbox manuell anpassen?
Danke!
Hi,
ich möchte die meta daten eines wim files bearbeiten und zwar die, die imagex nicht unterstützt. <Display Name>Test</Display Name> und <Display Description>Test</Display Description>.
Ich weiß, dass GImageX diese Funktion hat, aber ich muss wissen wie es das macht!
Ich habs zuerst mit der Wimgapi UDF versucht
Dort gibt es ja die Funktion _WIM_SetImageInformation($hImage, $sXML)
$hImage ist ein handle und $sXML ist "A string representing a Unicode XML file that contains information about the volume image."
[autoit]$swimfile = ;path zum wim file
[/autoit][autoit][/autoit][autoit]SetData($swimfile, "Windows Test", "Windows Test", $WIM_COMPRESS_NONE);
Set;-----------------------------
Func SetData($sWimFile, $sImageName, $sImageDesc, $Compress)
; first we open the .wim file
$hWim = _WIM_CreateFile($sWimFile, $WIM_GENERIC_WRITE, $WIM_OPEN_EXISTING, 0, $Compress, 0)
If $hWim = 0 Then
MsgBox(48, $ProgramName, "Error: Failed to load wim file. (" & $hWim & "," & @error & "," & @extended & ")")
Cleanup()
Exit (252) ; image load failed
EndIf
; set our temp path
$tmpPath = _WIM_SetTemporaryPath($hWim, @TempDir)
; start load the image
$hImage = _WIM_LoadImage($hWim, 4) ; Image Index 4 (Ultimate)
If @error Then
MsgBox(48, $ProgramName, "Error: Failed to capture image. (" & $hImage & "," & @error & "," & @extended & " GetLast " & _WinAPI_GetLastError() & ")")
Cleanup()
Exit (251) ; image capture failed
EndIf
; add our name and description to the XML data - ChrW(65279) is the BOM
$sXML = ChrW(65279) & "<IMAGE><NAME>" & $sImageName & "</NAME><DESCRIPTION>" & $sImageDesc & "</DESCRIPTION></IMAGE>"
MsgBox(48, "gfdsg", $sXML)
[/autoit][autoit][/autoit][autoit]_WIM_SetImageInformation($hImage, $sXML)
; _WIM_SetBootImage($hWim, 1)
Cleanup() ; free resources
[/autoit][autoit][/autoit][autoit]EndFunc ;==>SetData
[/autoit]Der Quellcode hab ich von hier und dann abgewandelt.
http://www.autoitscript.com/forum/topic/127075-wimgapi-udf/
Inhalt der $sxml ist :
Zitat<IMAGE><NAME>Windows Test</NAME><DESCRIPTION>Windows Test</DESCRIPTION></IMAGE>
Die Funktion updatet dann auch diesen tag, löscht dafür aber alle anderen tags innerhalb des <Image Index=4></Image> tags. Ansicht ist dann wie in Bild1. Klar kann ich die anderen tags hinzufügen, indem ich $sXML um die anderen tags erweitere (z.B. <Version> etc., siehe Bild2), aber die Funktion setzt in meinem example immer zuerst die tags, die ich im $sXML definiert habe, die tags fürs "Modifizieren" werden darunter angehangen. GImageX schafft es, die Reihenfolge korrekt einzuhalten.
Würde _WIM_SetImageInformation($hImage, $sXML) nicht die "Modify" tags generieren wäre alles gut, dann könnte ich eine vollständige xml reinladen. Sau blöd, das es keine Update Funktion gibt, die nur den tag setzt und diesen direkt ins wim file schreibt -.-
Mounten ist keine Lösung, da das xml file ([1].xml, liegt im install.wim) im wim liegt und nicht in den images. 7zip UDF kann nicht aus wim extrahieren. 7zip commandline kann nur extrahieren aber nicht hinzufügen (7zip hat kein support dafür) und eine anderen Möglichkeit kenne ich leider nicht. GImageX "changed" die daten innerhalb von 5 sekunden.
Hat bitte einer eine Idee!?
Vielen Dank