Hab ich bereits gefürchtet.
Eieiei
Danke dir, bis dann.
Beiträge von autoiter
-
-
Hallo BugFix,
danke für die Info. Stimmt. In der _GuiCtrlComboBox_SetCtrlHeight-Description steht es. Darauf hatte ich gar nicht geachtet. Den Threadtitel hast du aber angepasst, oder Ich hoffe es wenigstens..Also danke nochmal für die Funktion. Werden sich bestimmt noch andere freuen.
Vielen Dank nochmal. -
Hallo BugFix,
ich habe gerade ein Problem mit _GuiCtrlComboBox_SetEditAlign.
Ich wollte eine Combobox, in der man die Einträge nicht bearbeiten kann. Auf eine Combobox mit dem Stil $CBS_DROPDOWNLIST lässt sich die Funktion nicht erfolgreich anwenden.Die ganze Funktion ist mir zu hoch und ich habe keine Ahnung, ob und was Erfolg bringen würde.
Da muss ich mich natürlich auch selbst bilden. Ein Blick in die Hilfe genügt mir leider nicht.
Wie du schon auf "GetWindowLongPtrW" oder "GetWindowLongW" kommst ist mir schleierhaft. Hängt sicher damit zusammen, dass ich von DllStructGetData und DllCall keine Ahnung habe.AutoIt... Local $hEdit = DllStructGetData($tInfo, "hEdit") Local $sFuncName = @AutoItX64 ? "GetWindowLongPtrW" : "GetWindowLongW" Local $iStyle = (DllCall("user32.dll", "long_ptr", $sFuncName, "hwnd", $hEdit, "int", 0xFFFFFFF0))[0] If BitAND($iStyle, $_ES_CENTER) Then $iStyleXOR = $_ES_CENTER If BitAND($iStyle, $_ES_RIGHT) Then $iStyleXOR = $_ES_RIGHT $sFuncName = @AutoItX64 ? "SetWindowLongPtrW" : "SetWindowLongW" DllCall("user32.dll", "long_ptr", $sFuncName, "hwnd", $hEdit, "int", 0xFFFFFFF0, "long_ptr", BitOR(BitXOR($iStyle, $iStyleXOR), $_iAlign)) DllCall("user32.dll", "bool", "RedrawWindow", "hwnd", $hEdit, "struct*", 0, "handle", 0, "uint", 5)
Kannst du hier helfen BugFix?
Könntest du oder jemand anderes mit Ahnung ein paar Kommentare zu den Zeilen verlieren, die mir das ein wenig erklären sollten?
Vielen Dank und viele Grüße autoiter
-
Sehr geil. Kann ich gerade gebrauchen. Funktioniert 1A.
Vielen Dank BugFix
-
-
-
Hey BugFix,
hast du das mal ausprobiert?
Unbenannt.PNGSpoiler anzeigen
AutoIt
Alles anzeigen; *** Start added by AutoIt3Wrapper *** #include <ComboConstants.au3> ; *** End added by AutoIt3Wrapper *** #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Add_Constants=n #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> Example() Func Example() ; Create a GUI with various controls. Local $hGUI = GUICreate("Example", 300, 200) ; Create a combobox control. Local $idComboBox = GUICtrlCreateCombo("Item 1", 10, 10, 80, 40) Local $idButton = GUICtrlCreateButton("Item 1", 100, 10, 80, 40) Local $idClose = GUICtrlCreateButton("Close", 210, 170, 85, 25) ; Add additional items to the combobox. GUICtrlSetData($idComboBox, "Item 2|Item 3", "Item 2") ; Display the GUI. GUISetState(@SW_SHOW, $hGUI) WinMove($idComboBox, "Item 1", 10,10, 80, 40) Local $sComboRead = "" ; Loop until the user exits. While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $idClose ExitLoop EndSwitch WEnd ; Delete the previous GUI and all controls. GUIDelete($hGUI) EndFunc ;==>Example
Bei mir bleibt alles beim Alten!Kann wirklich niemand das Problem nachvollziehen?
EDIT: Äh, gerade GUICtrlSetPos($idComboBox, 10,10, 80, 40) verwendet...
Hat aber leider nichts verändert. -
@BugFix
Danke, verstehe. Ich hoffe aber, mein Missverständnis ist nachvollziehbar, denn das unterscheidet sich völlig dem Handling aller andern Constrols.@CentuCore
Das wäre ein Workaround. Allerdings sieht die Beschriftung dann natürlich ganz anders aus, als bei den normalen Buttons.Fazit, es geht nicht wirklich, oder?
Ich bin völlig überrascht. Nie hätte ich gedacht, dass ich die ComboBoxen nicht frei in der Größe anpassen könnte, wie die anderen Controls.
Kennt jemand einen guten ComboBoxen-Selbstbau?
-
Hey Leute,
ich habe das Skript von autoBert nun einmal mit seiner Höhe 170 height_170.png
und dann mit der Höhe 40 height_40.pnggestartet.Das kann doch nicht richtig sein?!?
Ich erwarte analog zu den anderen Controls eine Änderung der Größe, damit ich sie eben in gleicher Größe neben Buttons verwenden kann.
-
-
Hier nochmal, worum es mir prinzipiell geht.
Ich sehe ja selbst, der height-Parameter ist nicht völlig funktionslos. Er ändert etwas die Control-Abstände.
Eigentlich geht es mir darum in einer GUI Buttons und Comboboxen gleich groß zu machen. Das bekomme ich mit den vorgesehenen Methoden aber nicht hin.Spoiler anzeigen
AutoIt
Alles anzeigen#include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> Example() Func Example() ; Create a GUI with various controls. Local $hGUI = GUICreate("Example", 300, 200) ; Create a combobox control. Local $idComboBox = GUICtrlCreateCombo("Item 1", 10, 10, 80, 30) Local $idComboBox2 = GUICtrlCreateButton("Item 1", 100, 10, 80, 30) Local $idClose = GUICtrlCreateButton("Close", 210, 170, 85, 25) ; Add additional items to the combobox. GUICtrlSetData($idComboBox, "Item 2|Item 3", "Item 2") ; Display the GUI. GUISetState(@SW_SHOW, $hGUI) Local $sComboRead = "" ; Loop until the user exits. While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $idClose ExitLoop Case $idComboBox $sComboRead = GUICtrlRead($idComboBox) MsgBox($MB_SYSTEMMODAL, "", "The combobox is currently displaying: " & $sComboRead, 0, $hGUI) EndSwitch WEnd ; Delete the previous GUI and all controls. GUIDelete($hGUI) EndFunc ;==>Example
Bei mir sieht das wie im Anhang aus.
-
-
Hallo Leute,
ist vielleicht ein absolutes Idioten-Problem, aber das plumpe Anwenden der GUICtrlCreateCombo-Parameter hilft mir nicht.
Von anderen Controls kenne ich es nur so, dass ich die Größe per width und height definieren kann.Bei GUICtrlCreateCombo funktioniert es nicht. Das angepasste Beispiel soll das zeigen:
AutoIt
Alles anzeigen#include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> Example() Func Example() ; Create a GUI with various controls. Local $hGUI = GUICreate("Example", 300, 200) ; Create a combobox control. Local $idComboBox = GUICtrlCreateCombo("Item 1", 10, 10, 185, 20) Local $idComboBox2 = GUICtrlCreateCombo("Item 1", 10, 40, 185, 60) Local $idComboBox3 = GUICtrlCreateCombo("Item 1", 10, 80, 185, 520) Local $idComboBox4 = GUICtrlCreateCombo("Item 1", 10, 120, 185, 120) Local $idClose = GUICtrlCreateButton("Close", 210, 170, 85, 25) ; Add additional items to the combobox. GUICtrlSetData($idComboBox, "Item 2|Item 3", "Item 2") GUICtrlSetData($idComboBox2, "Item 2|Item 3", "Item 2") GUICtrlSetData($idComboBox3, "Item 2|Item 3", "Item 2") GUICtrlSetData($idComboBox4, "Item 2|Item 3", "Item 2") ; Display the GUI. GUISetState(@SW_SHOW, $hGUI) Local $sComboRead = "" ; Loop until the user exits. While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $idClose ExitLoop Case $idComboBox $sComboRead = GUICtrlRead($idComboBox) MsgBox($MB_SYSTEMMODAL, "", "The combobox is currently displaying: " & $sComboRead, 0, $hGUI) EndSwitch WEnd ; Delete the previous GUI and all controls. GUIDelete($hGUI) EndFunc ;==>Example
Wie funktioniert es?
-
Super Idee. Danke dir für den Tipp BugFix
-
Dann beschreib mal, wie du die Suche nutzt...imho kann das kaum jemand...bzw. frag nach, wie man die Suche richtig (!) nutzt!
Auf mich bezogen stimmt das leider 100 prozentig.
Ganz ehrlich. Als ich mit AutoIt angefangen habe, war ich der Meinung man findet nichts in der Hilfe.
Mittlerweile finde ich eigentlich alles, weil man in der Hilfe gut stöbern kann. Links in der Treeview kann man sich ansehen, was zu dem Bereich gehört und verwandte Funktionen werden in der Beschreibung verlinkt.Wenn ich jedoch akut etwas suche, komme ich mit den integrierten Suchfeldern überhaupt nicht klar.
Ich suche per Inet-Suchmaschine danach, lade mir gegebenenfalls Beispiele und rufe die Hilfe dann durch Klick auf ein AutoIt-Kommando und F1 auf. So wurstele ich mich durch die Hilfe...Kommt das jemandem bekannt vor?
-
Hi BRainXstorming,
nur ergänzend will ich schreiben,
ich habe HotString eben ausprobiert und es funktioniert einwandfrei. Setze Debug auf True. Dann siehst du warum beim Beispiel keine Reaktion erscheint. -
Ah cool. Auf das Angebot komme ich unter Umständen sehr gerne zurück. Je nachdem, ob ich alleine durchsteige oder nicht
Allerdings kann ich die au3 nicht laden. Da kommt der unschöne "fatal error".
Könntest du die Datei bitte nochmals hochladen? -
Glückwunsch zu diesem schönen Jubiläum Alles Gute für die nächsten 50 und schön, dass du da bist.
-
Hey Kanashius,
ist deine Livesuche hier online? Ich würde mir gerne ansehen, wie man das gescheit macht. -
Du beobachtest das Phänomen auch über den Teamviewer?
Es würde mich gar nicht wundern, wenn das einfach nur ein Darstellungsproblem vom Teamviewer wäre.
Ich unterstütze ab und an andere mit dem Tool und bin da ungewohnte Darstellungseffekte gewohnt.Starte das Skript doch mal lokal oder starte das Skript per Teamviewer und schaue es dir dennoch direkt am Bildschirm an, wenn das möglich ist.