Ohne dein Skript kann man dazu jetzt schlecht was sagen. Müsste dir doch aber eigentlich klar sein? ![]()
Beiträge von nuts
-
-
Für ein Listview ist das z.B. im Starplayer v2 umgesetzt (Skripte-Forum). Dort ist auch eine Funktion um den Doppelklick ins Listview abzufangen.
Für die Listbox geht die Einzelfärbung der Items wohl doch nicht :wacko:Macht aber ja nichts, ein Listview ist eh flexibler

-
Ist alles möglich. Meinst du wirklich die Listbox oder ein Listview?
Hier mal der Doppelklick auf ein Listboxitem:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include<GuiListBox.au3>
#include<GUIConstantsEx.au3>
#include<ListBoxConstants.au3>
#include<WindowsConstants.au3>$hGUI = GUICreate("List Box Create", 400, 296)
[/autoit] [autoit][/autoit] [autoit]
$hListBox = _GUICtrlListBox_Create ($hGUI,"", 2, 2, 396, 296)
GUISetState()For $i = 1 To 10
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListBox_AddString($hListBox, 'Eintrag ' & $i)
NextGUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
[/autoit] [autoit][/autoit] [autoit]Do
[/autoit] [autoit][/autoit] [autoit]
Until GUIGetMsg() = $GUI_EVENT_CLOSEFunc ListDblClick()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
MsgBox(0, '', _GUICtrlListBox_GetText($hListBox, _GUICtrlListBox_GetCurSel($hListBox)))
EndFuncFunc WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit]
Local $hWndFrom, $iIDFrom, $iCode, $hWndListBox
If Not IsHWnd($hListBox) Then $hWndListBox = GUICtrlGetHandle($hListBox)
$hWndFrom = $ilParam
$iIDFrom = BitAND($iwParam, 0xFFFF) ; Low Word
$iCode = BitShift($iwParam, 16) ; Hi Word
Switch $hWndFrom
Case $hListBox, $hWndListBox
Switch $iCode
Case $LBN_DBLCLK
ConsoleWrite( _GUICtrlListBox_GetText($hListBox, _GUICtrlListBox_GetCurSel($hListBox)) & @CRLF)
case 1
ConsoleWrite("Click" & @CRLF)
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_COMMAND
edit \ Einzelklick hinzugefügt. -
Weil Jautois das Bild zur Ergebnisauswertung mit php erstellt und es vom Server geholt werden muss.
Die Darstellung im Skript selbst gelöst fände ich auch besser.
-
Hey,
imho müsste noch eine Zeitauswertung dazu kommen.
Quasi ein Punktesystem für xy gelöste Aufgaben pro Zeiteinheit. Vielleicht mit Minuspunkten pro falscher Antwort. -
Soll ein laufendes Skript aufgrund der Tastenkombination ein anderes starten?
Oder soll Windows das allein machen? Weil dann bin ich überfragt.
-
Wie soll die Tastenkombination abgefangen werden?
Mit einem Skript wäre das natürlich möglich
-
Dann nimm am besten ein Listview Control.
Suche am besten mal nach Oscars Listviewdatenbank-Beispiel. -
Hm bestätigt auch meinen Eindruck.
Ist aber ja klasse, denn dann muss man bei flexibler Icongröße (innerhalb der vorhandenen "Untericons) einfach gar nichts machen und die Darstellung ist immer sauber. -
Hm danke für deine Antwort, dann werde ich den Geist ruhen lassen und die .ico's zu einer Icon Library konvertieren.
Sollte jemand eine definitive Erklärung haben nur her damit
-
Hallo,
heute sind einige Verständnisschwierigkeiten zum Einbinden eines Icons in die Gui aufgetaucht.
Bei Multiicons (mehrere Größen in einer Datei) wird wodurch entschieden welche Größe genau verwendet wird?Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Form1", 633, 447, 193, 125)
$iconpath = @ScriptDir &"\dll\Icons"
$Icon1 = GUICtrlCreateIcon($iconpath & "\stop.ico", 7, 128, 48, 128, 128, BitOR($SS_NOTIFY,$WS_GROUP))GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit]
WEnd
Im Anhang ein Beispiel Multiicon und ein einzelnes mit 16*16
Laut Icon-Sushi heissen die Einzelicons: stop.icon-000 bis 006 (256*256 - 16*16)
Die Hilfe besagt, dass über Paramter 2 von Guictrlcreateicon auswählbar sein müsste welches verwendet wird.
Die Darstellung ist aber auch beim Versuch das 16*16 Icon zu laden sauber.
Wird das Einzelicon verwendet ist die Darstellung verpixelt, was ich auch beim Multiicon & 16*16 Vorgabe erwartet hätte.Wofür ist das wichtig wenn doch die Ausgabe sowieso sauber ist?
Tja ist sie das? Wird aufgrund der Parameter width und height das Icon ausgesucht?
Passt man nämlich die Größe (width & height) des Icons der Desktopausfösung an müsste man ggf. reagieren.Gruß nuts
-
An den Parametern solls nicht scheitern.
[autoit]
[/autoit][autoit][/autoit][autoit]
Hotkeyset("Dein Hotkey", "DummyFunktion"
Func _DummyFunktion()
_RichtigeFunktion($var1, $var2, ... , $varn)
EndfuncFunc _RichtigeFunktion($var1, $var2, ... , $varn)
[/autoit]
;dein Code
Endfunc -
Ist möglich.
In welcher Form genau? Für ein Control? Icons oder Bitmaps?Toolbar Beispiel von Bugfix
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GuiToolbar.au3>
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GDIPlus.au3>Local $hGUI, $hToolbar
[/autoit] [autoit][/autoit] [autoit]
Local $idSciTE = 1000 ; ID für ToolbarButton vergeben, 1000 - damit kein Konflikt mit Standard-Controls entstehtLocal $ressource = 'C:\Programme\AutoIt3\SciTE\SciTE.exe' ; Datei mit dem(n) BMP
[/autoit] [autoit][/autoit] [autoit]
Local $resID = 100 ; ID des BMP in der Ressourcendatei (kannst du im Reshacker sehen); Datei laden als Ressource
[/autoit] [autoit][/autoit] [autoit]
Local $hInstance = _WinAPI_LoadLibrary($ressource); Create GUI
[/autoit] [autoit][/autoit] [autoit]
$hGUI = GUICreate("Toolbar", 400, 300)
$hToolbar = _GUICtrlToolbar_Create($hGUI)
GUISetState(); BMP aus SciTE laden zur Toolbar
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlToolbar_AddBitmap($hToolbar, 1, $hInstance, $resID); Button auf Toolbar mit diesem BMP erstellen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_GUICtrlToolbar_AddButton($hToolbar, $idSciTE, 0)While 1
[/autoit] [autoit][/autoit] [autoit]
If BitAND(_GUICtrlToolbar_GetButtonState($hToolbar, $idSciTE), $TBSTATE_PRESSED) = $TBSTATE_PRESSED Then
MsgBox(0, "", "SciTE-Button")
EndIf$msg = GUIGetMsg()
[/autoit]
Switch $msg
Case $GUI_EVENT_Close
Exit
EndSwitch
WEnd -
Die stimmen schon
Du willst verschiedene Controls fremder Fenster anklicken?
Dazu empfehle ich dir Controlclick und das Autoit.Infotool. -
Klar per cmdline:
[autoit]If $CmdLine[0] = 0 Then Exit
[/autoit] -
Du willst die Nachricht auswerten und nicht senden richtig? _WinAPI_PostMessage wäre fürs abfeuern.
[autoit]
Könnte sein, dass ich jetzt Blödsinn rede, aber Sendmessage wird über GUIRegisterMsg abgefangen.
Das sollte auch für Postmessage funktionieren.
[/autoit][autoit][/autoit][autoit]
GUIRegisterMsg($WM_Command ,"WM_COMMAND")
;
;
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
Local $iIDFrom, $iCode
$iIDFrom = BitAND($iwParam, 0xFFFF) ; Low Word
$iCode = BitShift($iwParam, 16) ; Hi WordReturn $GUI_RUNDEFMSG
[/autoit]
EndFunc ;==>WM_COMMAND -
4 Sek. man ist das schwer

ediit \ ein Highscore fehlt noch. -
Ähm ja habs "optimiert"
Unter 14kb schaff ichs nicht. :wacko: -
Mit Visual C++ müsste das schon funktionieren.
Hab dir mal eine angehängt (mit CodeBlocks gemacht)- entfernt, da mit Faktor 14 zu groß
-
Viele Wege führen nach Rom.
So genau ist das aber nicht oder?
z.B. x^3
\edit: Der Ursprungspunkt ist auch fies, hab mich auch drumrumgemogelt
Bei einer doppelte Nullstelle (z.B. x^2) liefern beide Ansätze noch kein Ergebnis.P.S: Pi = 4 * ATan(1)