Schau dir mal in der Hilfe das Beispielskript zu _GUICtrlListView_Create () an. Speziell die Funktion WM_NOTIFY(). Dort findest du unter anderem auch $NM_CLICK.
Beiträge von i2c
-
-
Der Wunsch kommt bei fast jedem, früher oder später. Bist ja noch jung

Dieses tolle Gefühl wenn's einem "warm" wird kenn ich nur zu gut
Wenn die Kleene ihren Spass hatte ...Das schlimme daran ist ja, man ist im wahrsten Sinne des Wortes, "angepisst" aber kann ihnen einfach nicht böse sein

Ohne Kinder wär's echt langweilig.
-
Spoiler anzeigen
[autoit]#Region - Timestamp
[/autoit]
;2011-11-30 12:42:11
#EndRegion
#include <Process.au3>
$iProcessID = WinGetProcess("[CLASS:SciTEWindow]", "")
$sProcessName = _ProcessGetName($iProcessID)
ConsoleWrite("Prozess: " & $sProcessName & @CRLF & "ID: " & $iProcessID & @CRLF) -
Kurz, prägnant und von Herzen Matze.

-
Glückwunsch euch zwei beiden

-
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiListBox.au3>
#include <ListBoxConstants.au3>
#include <WindowsConstants.au3>
#region - Timestamp
;2011-11-28 15:34:59
#endregion - Timestamp#region - GUI Create
[/autoit] [autoit][/autoit] [autoit]
GUICreate('', 500, 500)
$iList = GUICtrlCreateList("", 4, 4)
;$aProgramme = IniReadSectionNames("programm.ini")
Dim $aProgramme[5] = [4, "a", "b", "c", "d"]
For $i = 1 To $aProgramme[0]
GUICtrlSetData($iList, $aProgramme[$i])
Next
GUISetState()#endregion - GUI Create
[/autoit]
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
Global $hList = GUICtrlGetHandle($iList)
Global $sItem = ""
#region - GUI SelectLoop
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
#endregion - GUI SelectLoop
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
#forceref $hWnd, $iMsg
Local $hWndFrom, $iIDFrom, $iCode, $hWndListBox
If Not IsHWnd($hList) Then $hWndList = GUICtrlGetHandle($hList)
$hWndFrom = $ilParam
$iCode = BitShift($iwParam, 16)
Switch $hWndFrom
Case $hList, $hWndList
Switch $iCode
Case $LBN_SELCHANGE
$sCurrent = _GUICtrlListBox_GetText($hList, _GUICtrlListBox_GetCurSel($hList))
If $sCurrent <> $sItem Then
$sItem = $sCurrent
ConsoleWrite($sItem & @CRLF)
EndIf
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_COMMAND -
Spoiler anzeigen
[autoit]#include <APIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <GuiListBox.au3>
#include <ListBoxConstants.au3>
#region - Timestamp
;2011-11-28 14:47:30
#endregion - Timestamp#region - GUI Create
[/autoit]
GUICreate('', 500, 500)
$iList = GUICtrlCreateList("bla", 4, 4)
GUICtrlSetData(-1, "blub")
GUISetState()
#endregion - GUI Create
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
Global $hList = GUICtrlGetHandle($iList)
Global $sItem = _GUICtrlListBox_GetText($hList, _GUICtrlListBox_GetCurSel($hList))
#region - GUI SelectLoop
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
#endregion - GUI SelectLoop
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
#forceref $hWnd, $iMsg
Local $hWndFrom, $iIDFrom, $iCode, $hWndListBox
If Not IsHWnd($hList) Then $hWndList = GUICtrlGetHandle($hList)
$hWndFrom = $ilParam
$iCode = BitShift($iwParam, 16)
Switch $hWndFrom
Case $hList, $hWndList
Switch $iCode
Case $LBN_SELCHANGE
$sCurrent = _GUICtrlListBox_GetText($hList, _GUICtrlListBox_GetCurSel($hList))
If $sCurrent <> $sItem Then
$sItem = _GUICtrlListBox_GetText($hList, _GUICtrlListBox_GetCurSel($hList))
ConsoleWrite($sItem & @CRLF)
EndIf
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_COMMAND -
Fall's du dich heute noch von deiner ANNO2070 Party losreißt und hier reinschaust
... alles Gute zum Geburtstag Raupi!! -
Ich frag nur weil format ja durchaus einige Parameter übernehmen kann und auch Fortschrittswerte zurückliefert. Da könnte man deutlich mehr als nur eine Zeile draus machen.
-
Blöde Frage - wenn du die Funktion _format() nennst, warum formatierst du dann nicht, sondern löscht einfach nur?

-
-
Spoiler anzeigen
[autoit]#include <GuiComboBoxEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>$hGUI = GUICreate("", 400, 400)
[/autoit] [autoit][/autoit] [autoit]
$hCombo = _GUICtrlComboBoxEx_Create($hGUI, "Text", 2, 2, 250, 100, $CBS_DROPDOWNLIST)
_GUICtrlComboBoxEx_AddString($hCombo, "mehr Text")
GUISetState()GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
[/autoit] [autoit][/autoit] [autoit]#Region - GUI SelectLoop
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
#EndRegion - GUI SelectLoopFunc WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit] [autoit][/autoit] [autoit]
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
[/autoit] [autoit][/autoit] [autoit]
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $hCombo
Switch $iCode
Case $CBEN_ENDEDITW
_GetComboBoxExText($ilParam)
Return 0
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFYFunc _GetComboBoxExText($ilParam)
[/autoit]
Local $tInfo = DllStructCreate($tagNMCOMBOBOXEX, $ilParam)
Local $aItem = _GUICtrlComboBoxEx_GetItem($hCombo, DllStructGetData($tInfo, "Item"))
ConsoleWrite($aItem[0] & @CRLF)
EndFunc ;==>_GetComboBoxExText -
-
Ich würde da jetzt den schmutzigen Weg gehen.
[autoit]GUISetIcon("shell32.dll",50)
[/autoit] -
, da afaik nicht alles läuft.
Alles eine Frage der Konfiguration. Winetricks und afair auch PlayOnLinux bieten nahezu alles was es an nachladbaren Dlls, Framworks etc. braucht. Alternativ bleibt immernoch die händische Konfiguration. Das einzige, was bei mir in Sachen AutoIt nicht immer zu 100% läuft, sind GDIP Funktionen. Da friert gerne mal das DE ein oder verabschiedet sich mit einem eiskalten Rutsch in die Konsole. -
Debian - back to the roots? So weit ist es schon gekommen?

Wenn du bissle Spass am basteln und ein wenig Ahnung von Linux, dann nimm Fedora mit Gnome3. Hast du viel Ahnung und willst ausschliesslich basteln, dann Arch. Hast du garkeine Ahnung und willlst überhaupt nicht basteln, dann Ubuntu (hat ja mittlerweile auch die gnome-shell in den repos).
Debian? Nunja. Mit back to the roots hat das wenig zu tun. Rolling releases haben leider oft den Nachteil, das sie einen Anfänger schnell mal überfordern. Von der Sache her ist Debian aber ein guter Grundstein um sich sein OS passgenau zurecht zu bauen.
PS: In letzter Zeit hör ich viel Gutes über Chakra. Hab's aber aus zeitmangel noch nicht testen können.
edit:
Du solltest nicht auf Grund der Optik urteilen und nach ihr verschiedene Distributionen vergleichen. Wenn dir Gnome2/3 nicht gefällt, heisst das nicht, das dir Fedora nicht gefällt. Die grafische Oberfläche lässt sich prinzipiell erstmal in jeder Distribution austauschen. Fedora gibt es auch als spin mit KDE, Ubuntu ebenfalls (Kubuntu). -
Die Login Daten müssen von Hand eingegeben werden. Darum wirst du afaik nicht herumkommen. Nachdem der User sich authentifiziert hat und du Token, Refresh Token etc. bei google abgeholt hast, kann der Rest problemlos "im Hintergrund" laufen.
edit: Du musst die Login Seite natürlich nicht unbedingt im Standardbrowser öffnen. Kannst sie auch in dein GUI einbetten.
-
http://msdn.microsoft.com/en-us/library/…6(v=vs.85).aspx
Weniger Code dafür geringerer Funktionsumfang. Für diesen Zweck aber vollkommen ausreichend.Wenn ein User nicht eingeloggt ist, wird er im Browser eine Anmeldeseite von Google zu Gesicht bekommen. Er meldet sich an und bekommt dann seinen AuthCode.
-
Spoiler anzeigen
[autoit]#Region - Timestamp
[/autoit] [autoit][/autoit] [autoit]
;2011-11-20 13:22:32
#EndRegion - Timestamp$sClientID = ""
[/autoit] [autoit][/autoit] [autoit]
$sSecret = ""
$sRedirectURI = ""
$sScope = "http://gdata.youtube.com"ShellExecute("https://accounts.google.com/o/oauth2/auth" & _
[/autoit] [autoit][/autoit] [autoit]
"?response_type=code" & _
"&client_id=" & _URIEncode($sClientID) & _
"&redirect_uri=" & _URIEncode($sRedirectURI) & _
"&scope=" & _URIEncode($sScope))$sAuthCode = InputBox("","")
[/autoit] [autoit][/autoit] [autoit]Local Static $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
[/autoit] [autoit][/autoit] [autoit]
$oHTTP.Open("POST", "https://accounts.google.com/o/oauth2/token", False)
$oHTTP.SetRequestHeader("User-Agent", "autoit")
$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
$oHTTP.Send("code=" & $sAuthCode & _
"&client_id=" & $sClientID & _
"&client_secret=" & $sSecret & _
"&redirect_uri=" & $sRedirectURI & _
"&grant_type=authorization_code")
ConsoleWrite($oHTTP.ResponseText & @CRLF)Func _URIEncode($sData)
[/autoit]
; Prog@ndy
Local $aData = StringSplit(BinaryToString(StringToBinary($sData, 4), 1), "")
Local $nChar
$sData = ""
For $i = 1 To $aData[0]
$nChar = Asc($aData[$i])
Switch $nChar
Case 45, 46, 48 - 57, 65 To 90, 95, 97 To 122, 126
$sData &= $aData[$i]
Case 32
$sData &= "+"
Case Else
$sData &= "%" & Hex($nChar, 2)
EndSwitch
Next
Return $sData
EndFunc ;==>_URIEncode -
OAuth ist nicht ausschliesslich für Web Aplikationen gedacht. >>read more<<
Hier registrierst du deine Anwendung. In Schritt 2 wählst du einfach "installed app". - https://code.google.com/apis/console#access