Hilfefenster mit GUICtrlSetData und Scrollen

  • Hallo,

    ich habe ein Programm geschrieben, welches umfangreiche Batch-Commandos vereinfacht.
    Nun wollte ich zur Dokumentation in dem Programm eine Hilfe-Funktion einbinden.

    Mein Problem ist: Der Inhalt ist einfach zu groß für das erzeugte Fenster, kennt jemand eine Lösung wie man ein Fenster mit Scrollbalken erzeugt, allerdings soll dabei die Formatierungen nicht verlorengehen.

    Gruss Thorsten

    Hier ist der Code:

    [autoit]


    #include <GUIConstants.au3>
    Opt("GUICoordMode",2)

    [/autoit][autoit][/autoit][autoit]

    GUICreate("Hilfe",750, 890, -1, -1,BitOr($WS_OVERLAPPEDWINDOW,$WS_CLIPSIBLINGS,$WS_CLIPCHILDREN))

    [/autoit][autoit][/autoit][autoit]

    $GuiEdit=GUICtrlCreateEdit ("", -1, -1,750, 890,$ES_AUTOVSCROLL+$WS_VSCROLL)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $font="Times New Roman"
    $font1="Times New Roman Fett"

    [/autoit][autoit][/autoit][autoit]

    GUICreate("Hilfe",750, 890, -1, -1,BitOr($WS_OVERLAPPEDWINDOW,$WS_CLIPSIBLINGS,$WS_CLIPCHILDREN))

    [/autoit][autoit][/autoit][autoit]

    ; GUICtrlCreateEdit ("First line"& @CRLF, 176,32,121,97,$ES_AUTOVSCROLL+$WS_VSCROLL)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("Syntax: ", 10, -1,70 )
    GUICtrlSetFont (-1,12, 400, 4, $font1)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    GUICtrlSetData ($GuiEdit,"diag Option:Server ...,parm1 .. ,parm2..., /q", 1) ; next line
    GUICtrlSetFont (-1,11, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("z.B. diag dnsdiag:svd1", -1, 0,300) ; next line
    GUICtrlSetFont (-1,11, 400, 0, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("Bereich Allgemein-Test ((/q) für eine komprimierte Ausgabe):", -1, 5,400) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("diag --> Testet angegebenen Server mit DcDiag", -1, 0,400) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("diagall --> Testet alle Server (gesamte Domäne) mit DcDiag", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("diagdebug --> Gibt erweiterte Informationen über angegebenen DNS Server mit DcDiag aus", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("diagdebugall --> Gibt erweiterte Informationen über alle Server (gesamte Domäne) mit DcDiag aus", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("netdiag --> Testet angegebenen Server mit NetDiag aus", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("netdiagdebug --> Gibt erweiterte Informationen über alle Server (gesamte Domäne) mit NetDiag aus", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("Bereich DNS-Test((/q) für eine komprimierte Ausgabe):", -1, 5,700) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("dns --> Testet angegebenen DNS Server mit DcDiag", -1, 5,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("dnsall --> Testet alle (gesamte Domäne) DNS Server mit DcDiag", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("dnsdebug --> Gibt erweiterte Informationen über angegebenen DNS Server mit DcDiag aus", -1, 0,600) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("dnsdebugall --> Gibt erweiterte Informationen über alle (gesamte Domäne) DNS Server mit DcDiag aus", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("Bereich DNS-Server:", -1, 5,400) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("dnsinfo --> Gibt allgemeine Informationen über den angegebenen Server aus", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("dnsstat --> Gibt allgemeine Statistiken über den angegebenen Server aus", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("dnsclearcache --> Löscht den temporären DNS Cache des angegebenen Server", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("enumzones --> Erstellt eime Liste aller DNS-Zonen des angegebenen Server", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("printzone (/gui) oder (Name der Zone)--> Gibt die Clients einer Zone aus bzw. Auswahl über Gui ", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("enumrecord (Name des Clients) --> Gibt detailierte Infos zu einem Client aus (Zone; xxx.xxx.xxx)", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("Bereich NTFrs (File Replication Service:", -1, 5,400) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("frschk --> Überprüft die Replikation des angegebenen Servers", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("Bereich DHCP-Server:", -1, 5,400) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("addscope (Bereich) (Name des Bereichs) (Name Empirumserver)-->Erstellt einen Scope", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)
    GUICtrlCreateLabel ("z.B. diag /addscope:svt1 x.x.x.x test test1", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 0, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("showscope (Bereich))--> Zeigt alle Einträge eines Scopes", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("dumpscope (Bereich))--> Dump eines Scopes ", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("showalldhcpsrv--> Listet alle DHCP-Server der Domäne auf ", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("dhcpinfo--> Gibt Informationen über den angegebenen DHCP-Server aus ", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("Bereich Reset GPO:", -1, 5,400) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("resetgpo --> Gibt einen Befehl zum resetten der Gruppemnrichtlinien aus", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("Bereich ResetIp:", -1, 5,400) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("resetip --> Resettet den IP-Stack (Achtung Netzwerkverbindung wird unterbrochen !!!)", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("Bereich TimeSync:", -1, 5,400) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateLabel ("timesync --> Führt eine Neuinstallation des Zeitdientes durch", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit][autoit][/autoit][autoit]

    GUISetState ()
    ; will display an empty dialog box

    [/autoit][autoit][/autoit][autoit]

    ; Run the GUI until the dialog is closed
    Do
    $msg = GUIGetMsg()
    Until $msg = $GUI_EVENT_CLOSE

    [/autoit][autoit][/autoit][autoit][/autoit]

    Einmal editiert, zuletzt von a90065 (27. August 2007 um 13:04)

  • Danke für die Antwort. Habe mal dieses Forum bzw. des englischsprachige durchsucht, aber leider nichts brauchbares außer diesem Script gefunden :

    [autoit]


    #include <GUIConstants.au3>
    $oMyError = ObjEvent("AutoIt.Error","MyErrFunc")

    [/autoit][autoit][/autoit][autoit]

    $oRP = ObjCreate("RICHTEXT.RichtextCtrl.1")

    [/autoit][autoit][/autoit][autoit]

    GUICreate("Embedded RICHTEXT control Test", 320, 250, -1, -1,BitOr($WS_OVERLAPPEDWINDOW,$WS_VISIBLE,$WS_CLIPSIBLINGS))
    $TagsPageC = GuiCtrlCreateLabel('Visit Tags Page', 5, 180, 100, 15, $SS_CENTER)
    GuiCtrlSetFont($TagsPageC,9,400,4)
    GuiCtrlSetColor($TagsPageC,0x0000ff)
    GuiCtrlSetCursor($TagsPageC,0)
    $AboutC = GUICtrlCreateButton('About',105,177,70,20)
    $PrefsC = GUICtrlCreateButton('FontSize',175,177,70,20)
    $StatC = GUICtrlCreateButton('Plain Style',245,177,70,20)
    $AddText = GUICtrlCreateButton('Add Text', 105, 205, 70, 20)
    $GUIActiveX = GUICtrlCreateObj( $oRP, 10, 10 , 400 , 260 )
    GUICtrlSetPos($GUIActiveX,10,10,300,160)

    [/autoit][autoit][/autoit][autoit]

    With $oRP; Object tag pool
    .OLEDrag()
    .Font = 'Arial'
    .text = "Hello - Au3 supports ActiveX components like the RICHTEXT thanks to SvenP" & @CRLF & 'Try write some text and quit to reload'
    ;.FileName = @ScriptDir & '\RichText.rtf'
    ;.BackColor = 0xff00
    EndWith

    [/autoit][autoit][/autoit][autoit]

    GUISetState ();Show GUI

    [/autoit][autoit][/autoit][autoit]

    While 1
    $msg = GUIGetMsg()

    Select
    Case $msg = $GUI_EVENT_CLOSE
    ;~ $oRP.SaveFile( @ScriptDir & "\RichText.rtf", 0 )
    ExitLoop
    Case $msg = $TagsPageC
    Run(@ComSpec & ' /c start http://www.myplugins.info/guids/typeinfo/t...-04021C009402}','', @SW_HIDE)
    Case $msg = $AboutC
    $oRP.AboutBox()
    Case $msg = $PrefsC
    $oRP.SelFontSize = 12
    Case $msg = $StatC
    $oRP.SelBold = False
    $oRP.SelItalic = False
    $oRP.SelUnderline = False
    $oRP.SelFontSize = 8
    Case $msg = $AddText
    $oRP.text = $oRP.text & @CRLF & "gafrost added some text"
    EndSelect
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Exit

    [/autoit][autoit][/autoit][autoit]

    Func MyErrFunc()

    [/autoit][autoit][/autoit][autoit]

    $HexNumber=hex($oMyError.number,8)

    [/autoit][autoit][/autoit][autoit]

    Msgbox(0,"AutoItCOM Test","We intercepted a COM Error !" & @CRLF & @CRLF & _
    "err.description is: " & @TAB & $oMyError.description & @CRLF & _
    "err.windescription:" & @TAB & $oMyError.windescription & @CRLF & _
    "err.number is: " & @TAB & $HexNumber & @CRLF & _
    "err.lastdllerror is: " & @TAB & $oMyError.lastdllerror & @CRLF & _
    "err.scriptline is: " & @TAB & $oMyError.scriptline & @CRLF & _
    "err.source is: " & @TAB & $oMyError.source & @CRLF & _
    "err.helpfile is: " & @TAB & $oMyError.helpfile & @CRLF & _
    "err.helpcontext is: " & @TAB & $oMyError.helpcontext _
    ,5)

    ; Will automatically continue after 5 seconds
    SetError(1) ; to check for after this function returns
    Endfunc

    [/autoit]

    Bei der Ausführung kommen dann folgende Fehlermeldungen:

    AutoItComTest:
    Keine Lizenz für die Verwendung dieser Klasse vorhanden.
    bzw.
    Element nicht gefunden.

    Thorsten

  • Habe zwischenzeitlich mal mit 2 Sripten aus deinen Links rumexperimentiert:

    Script 1:

    Spoiler anzeigen
    [autoit]

    #AutoIt3Wrapper_UseAnsi=y

    [/autoit] [autoit][/autoit] [autoit]

    Opt("MustDeclareVars", 1)

    [/autoit] [autoit][/autoit] [autoit]

    #include <Misc.au3>
    #include "GuiRichEdit.au3"

    [/autoit] [autoit][/autoit] [autoit]

    Global $h_RichEdit
    _Main()

    [/autoit] [autoit][/autoit] [autoit]

    Func _Main()
    Local $msg, $hgui, $button
    Local $mnuOptions, $mnuBKColor, $mnuResetBKColor
    Local $bkcolor, $bkcolor_save = 16777215, $lResult

    [/autoit] [autoit][/autoit] [autoit]

    $hgui = GUICreate("Rich Edit Example", 500, 550, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_SIZEBOX))
    $mnuOptions = GUICtrlCreateMenu("Options")
    $mnuBKColor = GUICtrlCreateMenuItem("Set Back Color of Control", $mnuOptions)
    $mnuResetBKColor = GUICtrlCreateMenuItem("Reset Back Color of Control", $mnuOptions)

    [/autoit] [autoit][/autoit] [autoit]

    $h_RichEdit = _GUICtrlRichEditCreate ($hgui, 10, 10, 480, 420, BitOR($ES_WANTRETURN, $WS_HSCROLL, $ES_SUNKEN, $ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
    GUICtrlSetResizing($h_RichEdit, $GUI_DOCKAUTO)
    $lResult = _SendMessage($h_RichEdit, $EM_SETEVENTMASK, 0, BitOR($ENM_REQUESTRESIZE, $ENM_LINK, $ENM_DROPFILES, $ENM_KEYEVENTS, $ENM_MOUSEEVENTS))
    _DebugPrint ("$h_RichEdit handle: " & $h_RichEdit)
    $lResult = _SendMessage($h_RichEdit, $EM_AUTOURLDETECT, True)
    _GUICtrlRichEditInsertText ($h_RichEdit, 'Testing' & @CRLF)
    $button = GUICtrlCreateButton("Exit", 100, 460, 100, 25)
    GUISetState(@SW_SHOW)
    Sleep(1000)
    _GUICtrlRichEditSetText ($h_RichEdit, "This is a test" & @CRLF)
    Sleep(1000)
    _GUICtrlRichEditAppendText ($h_RichEdit, 'http://www.autoitscript.com/forum' & @CRLF)
    Sleep(1000)
    _GUICtrlRichEditSetSel ($h_RichEdit, 0, 17)
    Sleep(1000)
    _GUICtrlRichEditInsertText ($h_RichEdit, "Welcome to AutoIt" & @CRLF)
    Sleep(1000)
    _GUICtrlRichEditAppendText ($h_RichEdit, 'mailto:yourmail@your.com' & @CRLF)
    _GUICtrlRichEditSetSel($h_RichEdit, 0, 17)
    Local $a_Result = _GUICtrlRichEditGetSel($h_RichEdit)
    _DebugPrint("Start of Sel: " & $a_Result[1] & @LF & "-->End of Sel: " & $a_Result[2] & @LF & "-->Text Selected: " & _GUICtrlRichEditGetText($h_RichEdit, $a_Result[1], $a_Result[2]))
    ;Register WM_NOTIFY events
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY_Events")
    While 1
    $msg = GUIGetMsg()

    [/autoit] [autoit][/autoit] [autoit]

    Select

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $GUI_EVENT_CLOSE Or $msg = $button ; controls commands don't work here if using wm_command
    ;----------------------------------------------------------------------------------------------
    If $DebugIt Then _DebugPrint ("Exit From Main")
    ;----------------------------------------------------------------------------------------------
    Exit
    Case $msg = $GUI_EVENT_RESIZED
    _SendMessage($h_RichEdit, $EM_REQUESTRESIZE)
    Case $msg = $mnuBKColor
    $bkcolor = _ChooseColor(0, 16777215)
    If Not @error Then
    $bkcolor_save = _SendMessage($h_RichEdit, $EM_SETBKGNDCOLOR, 0, $bkcolor)
    EndIf
    Case $msg = $mnuResetBKColor
    _SendMessage($h_RichEdit, $EM_SETBKGNDCOLOR, 1, $bkcolor_save)
    EndSelect
    WEnd
    EndFunc ;==>_Main

    [/autoit] [autoit][/autoit] [autoit]

    Func WM_NOTIFY_Events($hWndGUI, $MsgID, $wParam, $lParam)
    #forceref $hWndGUI, $MsgID
    Local $identifier, $nmhdr, $hwndFrom, $idFrom, $code
    ;----------------------------------------------------------------------------------------------
    $nmhdr = DllStructCreate($NMHDR_fmt, $lParam)
    $hwndFrom = DllStructGetData($nmhdr, 1)
    $idFrom = DllStructGetData($nmhdr, 2)
    $code = DllStructGetData($nmhdr, 3)
    ;~ ConsoleWrite("-->hwndFrom: " & $hwndFrom & @LF)
    ;~ ConsoleWrite("-->idFrom: " & $idFrom & @LF)
    ;~ ConsoleWrite("-->code: " & $code & @LF)
    Switch $hwndFrom
    Case $h_RichEdit
    Switch $code
    Case $EN_ALIGNLTR
    ;----------------------------------------------------------------------------------------------
    If $DebugIt Then _DebugPrint ("$EN_ALIGNLTR")
    ;----------------------------------------------------------------------------------------------
    Case $EN_ALIGNRTL
    ;----------------------------------------------------------------------------------------------
    If $DebugIt Then _DebugPrint ("$EN_ALIGNRTL")
    ;----------------------------------------------------------------------------------------------
    Case $EN_CORRECTTEXT
    ;----------------------------------------------------------------------------------------------
    If $DebugIt Then _DebugPrint ("$EN_CORRECTTEXT")
    ;----------------------------------------------------------------------------------------------
    Case $EN_DRAGDROPDONE
    ;----------------------------------------------------------------------------------------------
    If $DebugIt Then _DebugPrint ("$EN_DRAGDROPDONE")
    ;----------------------------------------------------------------------------------------------
    Case $EN_DROPFILES
    ;----------------------------------------------------------------------------------------------
    If $DebugIt Then _DebugPrint ("$EN_DROPFILES")
    ;----------------------------------------------------------------------------------------------
    Case $EN_IMECHANGE
    ;----------------------------------------------------------------------------------------------
    If $DebugIt Then _DebugPrint ("$EN_IMECHANGE")
    ;----------------------------------------------------------------------------------------------
    Case $EN_LINK
    Local $EN_LINK_struct = DllStructCreate($ENLINK_fmt, $lParam)
    $hwndFrom = DllStructGetData($EN_LINK_struct, 1)
    $idFrom = DllStructGetData($EN_LINK_struct, 2)
    $code = DllStructGetData($EN_LINK_struct, 3)
    Local $en_link_msg = DllStructGetData($EN_LINK_struct, 4)
    Local $en_link_wParam = DllStructGetData($EN_LINK_struct, 5)
    Local $en_link_lParam = DllStructGetData($EN_LINK_struct, 6)
    Local $cpMin = DllStructGetData($EN_LINK_struct, 7)
    Local $cpMax = DllStructGetData($EN_LINK_struct, 8)
    If BitAND($en_link_msg, $WM_LBUTTONDOWN) = $WM_LBUTTONDOWN Then
    Local $link_clicked = _GUICtrlRichEditGetText ($hwndFrom, $cpMin, $cpMax) ; doesn't seem to work on zoomed text
    ;----------------------------------------------------------------------------------------------
    If $DebugIt Then
    _DebugPrint ("$EN_LINK" & @LF & _
    "hwndFrom : " & $hwndFrom & @LF & _
    "idFrom : " & $idFrom & @LF & _
    "code : " & $code & @LF & _
    "$en_link_msg : " & $en_link_msg & @LF & _
    "$en_link_wParam: " & $en_link_wParam & @LF & _
    "$en_link_lParam: " & $en_link_lParam & @LF & _
    "$cpMin : " & $cpMin & @LF & _
    "$cpMax : " & $cpMax & @LF & _
    "$link_clicked : " & $link_clicked)
    EndIf
    If $link_clicked <> "" Then Run(@ComSpec & ' /c START "" "' & $link_clicked & '"', @SystemDir, @SW_HIDE)

    [/autoit] [autoit][/autoit] [autoit]

    EndIf
    ;----------------------------------------------------------------------------------------------
    Case $EN_MSGFILTER
    Local $EN_MSGFILTER_struct = DllStructCreate($msgfilter_fmt, $lParam)
    $hwndFrom = DllStructGetData($EN_MSGFILTER_struct, 1)
    $idFrom = DllStructGetData($EN_MSGFILTER_struct, 2)
    $code = DllStructGetData($EN_MSGFILTER_struct, 3)
    Local $en_msgfilter_msg = DllStructGetData($EN_MSGFILTER_struct, 4)
    Local $en_msgfilter_wParam = DllStructGetData($EN_MSGFILTER_struct, 5)
    Local $en_msgfilter_lParam = DllStructGetData($EN_MSGFILTER_struct, 6)
    ;----------------------------------------------------------------------------------------------
    ;~ If $DebugIt Then
    ;~ _DebugPrint ("$EN_MSGFILTER" & @LF & _
    ;~ "hwndFrom : " & $hwndFrom & @LF & _
    ;~ "idFrom : " & $idFrom & @LF & _
    ;~ "code : " & $code & @LF & _
    ;~ "$en_msgfilter_msg : " & $en_msgfilter_msg & @LF & _
    ;~ "$en_msgfilter_wParam: " & $en_msgfilter_wParam & @LF & _
    ;~ "$en_msgfilter_lParam: " & $en_msgfilter_lParam)
    ;~ EndIf
    ;----------------------------------------------------------------------------------------------
    Case $EN_OBJECTPOSITIONS
    ;----------------------------------------------------------------------------------------------
    If $DebugIt Then _DebugPrint ("$EN_OBJECTPOSITIONS")
    ;----------------------------------------------------------------------------------------------
    Case $EN_OLEOPFAILED
    ;----------------------------------------------------------------------------------------------
    If $DebugIt Then _DebugPrint ("$EN_OLEOPFAILED")
    ;----------------------------------------------------------------------------------------------
    Case $EN_PROTECTED
    ;----------------------------------------------------------------------------------------------
    If $DebugIt Then _DebugPrint ("$EN_PROTECTED")
    ;----------------------------------------------------------------------------------------------
    Case $EN_REQUESTRESIZE
    ;----------------------------------------------------------------------------------------------
    If $DebugIt Then _DebugPrint ("$EN_REQUESTRESIZE")
    ;----------------------------------------------------------------------------------------------
    Case $EN_SAVECLIPBOARD
    ;----------------------------------------------------------------------------------------------
    If $DebugIt Then _DebugPrint ("$EN_SAVECLIPBOARD")
    ;----------------------------------------------------------------------------------------------
    Case $EN_SELCHANGE
    ;----------------------------------------------------------------------------------------------
    If $DebugIt Then _DebugPrint ("$EN_SELCHANGE")
    ;----------------------------------------------------------------------------------------------
    Case $EN_STOPNOUNDO
    ;----------------------------------------------------------------------------------------------
    If $DebugIt Then _DebugPrint ("$EN_STOPNOUNDO")
    ;----------------------------------------------------------------------------------------------
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc ;==>WM_NOTIFY_Events

    [/autoit]

    Allerdings reichen meine bisherigen Kenntnisse nicht aus, das Script an meine Belange anzupassen. s. mein Hilfe-Script. Gibt es hierfür ein Beispiel wie man mehrere Zeilen Text in einem Fenster mit verschiedenen Formatierungen incl. Scrollbalken erzeugt ?

    Beím zweiten Script:

    Spoiler anzeigen
    [autoit]

    ; Author: Kåre Johansson
    ; AutoIt Version: 3.1.1.55
    ; Description: Very Simple example: Embedding RICHTEXT object
    ; Needs: MSCOMCT2.OCX in system32 but it's probably already there
    ; Date: 3 jul 2005

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>
    #include <Word.au3>
    $oRP = ObjCreate("RICHTEXT.RichtextCtrl")

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("Embedded RICHTEXT control Test", 320, 200, -1, -1,BitOr($WS_OVERLAPPEDWINDOW,$WS_VISIBLE,$WS_CLIPSIBLINGS))
    $TagsPageC = GuiCtrlCreateLabel('Visit Tags Page', 5, 180, 100, 15, $SS_CENTER)
    GuiCtrlSetFont($TagsPageC,9,400,4)
    GuiCtrlSetColor($TagsPageC,0x0000ff)
    GuiCtrlSetCursor($TagsPageC,0)
    $AboutC = GUICtrlCreateButton('About',105,177,70,20)
    $PrefsC = GUICtrlCreateButton('FontSize',175,177,70,20)
    $StatC = GUICtrlCreateButton('Plain Style',245,177,70,20)

    [/autoit] [autoit][/autoit] [autoit]

    $GUIActiveX = GUICtrlCreateObj( $oRP, 10, 10 , 400 , 260 )
    GUICtrlSetPos($GUIActiveX,10,10,300,160)

    [/autoit] [autoit][/autoit] [autoit]

    With $oRP; Object tag pool
    .Backcolor = 2020255

    .Font = 'Garamond kursiv'

    .text = "Hello - Au3 supports ActiveX components like the RICHTEXT thanks to SvenP" & @CRLF & 'Try write some text and quit to reload'
    .SelStart = 0
    .SelLength = StringLen(.Text)
    .SelFontSize = 14
    ;If FileExists("C:\RichText.rtf") Then .LoadFile("C:\RichText.rtf", 0)
    ;.SaveFile("C:\RichText.rtf", 0)
    .Enabled = True
    .HideSelection = False
    .SelStart = 49
    .SelLength = 8; from start
    .SelColor = 1010
    .SelFontSize = 18
    .SelBold = True
    .SelItalic = True
    .SelUnderline = True
    .MousePointer = 14
    .SelBullet = True
    EndWith

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState ();Show GUI

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()

    Select
    Case $msg = $GUI_EVENT_CLOSE
    $oRP.SaveFile("C:\RichText.rtf", 0 )
    ExitLoop
    Case $msg = $TagsPageC
    Run(@ComSpec & ' /c start http://www.myplugins.info/guids/typeinfo/typeinfo.php?clsid={3B7C8860-D78F-101B-B9B5-04021C009402}','', @SW_HIDE)
    Case $msg = $AboutC
    $oRP.AboutBox()
    Case $msg = $PrefsC
    $oRP.SelFontSize = 12
    Case $msg = $StatC
    $oRP.SelBold = False
    $oRP.SelItalic = False
    $oRP.SelUnderline = False
    EndSelect
    WEnd
    $oRP = 0
    GUIDelete ()
    Exit

    [/autoit]

    kommt folgende Fehlemeldung:

    C:\batch\autoit\test\test7.au3 (23) : ==> Only Object-type variables allowed in an "With" statement.:
    With $oRP
    With ^ ERROR

    Also irgendwie komme ich nicht so recht weiter. Kannst du mír weiterhelfen ?

    Gruss
    Thorsten

  • Hallo,

    ich habe versucht Teile aus Scrollbars_Test.au3 in mein Programm zu integrieren. Leider mit sehr mäßigem Erfolg. Jetzt habe ich zwar Scrollbalken, nur es tut sich nichts.

    Mein modifiziertes Script:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GUIScrollBars.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUICoordMode",2)

    [/autoit] [autoit][/autoit] [autoit]

    $hGUI=GUICreate("Hilfe",750, 890, -1, -1,BitOr($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_VSCROLL, $WS_HSCROLL))

    [/autoit] [autoit][/autoit] [autoit]

    ;$GuiEdit=GUICtrlCreateEdit ("", -1, -1,750, 890,$ES_AUTOVSCROLL+$WS_VSCROLL)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $font="Times New Roman"
    $font1="Times New Roman Fett"

    [/autoit] [autoit][/autoit] [autoit]

    ;$hGUI=GUICreate("Hilfe",750, 890, -1, -1,BitOr($WS_OVERLAPPEDWINDOW,$WS_CLIPSIBLINGS,$WS_CLIPCHILDREN))

    [/autoit] [autoit][/autoit] [autoit]

    ; GUICtrlCreateEdit ("First line"& @CRLF, 176,32,121,97,$ES_AUTOVSCROLL+$WS_VSCROLL)
    ;GUIRegisterMsg($WM_VSCROLL, "MY_WM_VSCROLL")
    ; GUIRegisterMsg($WM_HSCROLL, "MY_WM_HSCROLL")
    GUISetState()
    ; Local $RangeMinMax = _GetScrollRange($hGUI, $SB_VERT)
    ; ConsoleWrite("Vert Min/Max: " & $RangeMinMax[0] & "/" & $RangeMinMax[1] & @LF)
    ; $RangeMinMax = _GetScrollRange($hGUI, $SB_HORZ)
    ; ConsoleWrite("Horz Min/Max: " & $RangeMinMax[0] & "/" & $RangeMinMax[1] & @LF)
    ;GUISetState ()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;GUICtrlSetData ($GuiEdit,"diag Option:Server ...,parm1 .. ,parm2..., /q", 1) ; next line
    ;GUICtrlSetFont (-1,11, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("z.B. diag dnsdiag:svd1", -1, 0,300) ; next line
    GUICtrlSetFont (-1,11, 400, 0, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("Bereich Allgemein-Test ((/q) für eine komprimierte Ausgabe):", -1, 5,400) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("diag --> Testet angegebenen Server mit DcDiag", -1, 0,400) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("diagall --> Testet alle Server (gesamte Domäne) mit DcDiag", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("diagdebug --> Gibt erweiterte Informationen über angegebenen DNS Server mit DcDiag aus", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("diagdebugall --> Gibt erweiterte Informationen über alle Server (gesamte Domäne) mit DcDiag aus", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("netdiag --> Testet angegebenen Server mit NetDiag aus", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("netdiagdebug --> Gibt erweiterte Informationen über alle Server (gesamte Domäne) mit NetDiag aus", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("Bereich DNS-Test((/q) für eine komprimierte Ausgabe):", -1, 5,700) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("dns --> Testet angegebenen DNS Server mit DcDiag", -1, 5,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("dnsall --> Testet alle (gesamte Domäne) DNS Server mit DcDiag", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("dnsdebug --> Gibt erweiterte Informationen über angegebenen DNS Server mit DcDiag aus", -1, 0,600) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("dnsdebugall --> Gibt erweiterte Informationen über alle (gesamte Domäne) DNS Server mit DcDiag aus", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("Bereich DNS-Server:", -1, 5,400) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("dnsinfo --> Gibt allgemeine Informationen über den angegebenen Server aus", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("dnsstat --> Gibt allgemeine Statistiken über den angegebenen Server aus", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("dnsclearcache --> Löscht den temporären DNS Cache des angegebenen Server", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("enumzones --> Erstellt eime Liste aller DNS-Zonen des angegebenen Server", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("printzone (/gui) oder (Name der Zone)--> Gibt die Clients einer Zone aus bzw. Auswahl über Gui ", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("enumrecord (Name des Clients) --> Gibt detailierte Infos zu einem Client aus (Zone; xxx.xx.xxx)", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("Bereich NTFrs (File Replication Service:", -1, 5,400) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("frschk --> Überprüft die Replikation des angegebenen Servers", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("Bereich DHCP-Server:", -1, 5,400) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("addscope (Bereich) (Name des Bereichs) (Name Empirumserver)-->Erstellt einen Scope", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)
    GUICtrlCreateLabel ("z.B. diag /addscope:svt1 x.x.x test test1", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 0, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("showscope (Bereich))--> Zeigt alle Einträge eines Scopes", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("dumpscope (Bereich))--> Dump eines Scopes ", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("showalldhcpsrv--> Listet alle DHCP-Server der Domäne auf ", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("dhcpinfo--> Gibt Informationen über den angegebenen DHCP-Server aus ", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("Bereich Reset GPO:", -1, 5,400) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("resetgpo --> Gibt einen Befehl zum resetten der Gruppemnrichtlinien aus", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("Bereich ResetIp:", -1, 5,400) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("resetip --> Resettet den IP-Stack (Achtung Netzwerkverbindung wird unterbrochen !!!)", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("Bereich TimeSync:", -1, 5,400) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("timesync --> Führt eine Neuinstallation des Zeitdientes durch", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("addscope (Bereich) (Name des Bereichs) (Name Empirumserver)-->Erstellt einen Scope", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)
    GUICtrlCreateLabel ("z.B. diag /addscope:svt1 144.55.0.0 test test1", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 0, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("showscope (Bereich))--> Zeigt alle Einträge eines Scopes", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("dumpscope (Bereich))--> Dump eines Scopes ", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("showalldhcpsrv--> Listet alle DHCP-Server der Domäne auf ", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("dhcpinfo--> Gibt Informationen über den angegebenen DHCP-Server aus ", -1, 0,850) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("Bereich Reset GPO:", -1, 5,400) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("resetgpo --> Gibt einen Befehl zum resetten der Gruppemnrichtlinien aus", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("Bereich ResetIp:", -1, 5,400) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("resetip --> Resettet den IP-Stack (Achtung Netzwerkverbindung wird unterbrochen !!!)", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("Bereich TimeSync:", -1, 5,400) ; next line
    GUICtrlSetFont (-1,12, 400, 4, $font)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel ("timesync --> Führt eine Neuinstallation des Zeitdientes durch", -1, 0,700) ; next line
    GUICtrlSetFont (-1,12, 400, 2, $font)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    _SetScrollRange($hGUI, $SB_VERT, -1, 890)

    [/autoit] [autoit][/autoit] [autoit]

    _SetScrollRange($hGUI, $SB_HORZ, -1, 750)

    _EnableScrollBar ($hGUI, $SB_HORZ)

    _EnableScrollBar ($hGUI, $SB_VERT)

    [/autoit] [autoit][/autoit] [autoit]

    ;_ShowScrollBar ($hGUI, $SB_HORZ)


    ; _ShowScrollBar ($hGUI, $SB_VERT)

    _SetScrollPos ($hGUI, $SB_HORZ, 10)
    ;Sleep(3000)
    ;_SetScrollPos ($hGUI, $SB_HORZ, 0)

    _SetScrollPos ($hGUI, $SB_VERT, 10)

    ;_SetScrollPos ($hGUI, $SB_VERT, 0)


    $RangeMinMax = _GetScrollRange($hGUI, $SB_VERT)
    ;ConsoleWrite("Vert Min/Max: " & $RangeMinMax[0] & "/" & $RangeMinMax[1] & @LF)
    $RangeMinMax = _GetScrollRange($hGUI, $SB_HORZ)
    ;ConsoleWrite("Horz Min/Max: " & $RangeMinMax[0] & "/" & $RangeMinMax[1] & @LF)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ; will display an empty dialog box

    [/autoit] [autoit][/autoit] [autoit]

    ; Run the GUI until the dialog is closed
    Do
    $msg = GUIGetMsg()
    Until $msg = $GUI_EVENT_CLOSE

    [/autoit]

    Kann mir jemand helfen ?

    Gruß
    Thorsten

    Einmal editiert, zuletzt von a90065 (27. August 2007 um 13:09)

    • Offizieller Beitrag

    Hi,

    wie wäre es, wenn du es so aufbaust?

    (Finde ich eh lesbarer :D )

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include<GuiListView.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $font = "Times New Roman"
    $font1 = "Times New Roman Fett"

    [/autoit] [autoit][/autoit] [autoit]

    $hGUI = GUICreate("Hilfe", 750, 590, -1, -1)
    $listview = GUICtrlCreateListView("Befehl|Beschreibung", 10, 10, 730, 570);,$LVS_SORTDESCENDING)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
    GUICtrlCreateListViewItem("z.B. diag dnsdiag:svd1", $listview)
    GUICtrlSetFont(-1, 11, 400, 0, $font)
    GUICtrlSetBkColor(-1, 0x00ff00)
    GUICtrlCreateListViewItem("Bereich Allgemein-Test|/q für eine komprimierte Ausgabe", $listview)
    GUICtrlSetBkColor(-1, 0x0000FF)
    GUICtrlCreateListViewItem("diag|Testet angegebenen Server mit DcDiag", $listview)
    GUICtrlCreateListViewItem("diagall|Testet alle Server (gesamte Domäne) mit DcDiag", $listview)
    GUICtrlCreateListViewItem("diagdebug|Gibt erweiterte Informationen über angegebenen DNS Server mit DcDiag aus", $listview)
    GUICtrlCreateListViewItem("diagdebugall|Gibt erweiterte Informationen über alle Server (gesamte Domäne) mit DcDiag aus", $listview)
    GUICtrlCreateListViewItem("netdiag|Testet angegebenen Server mit NetDiag aus", $listview)
    GUICtrlCreateListViewItem("netdiagdebug|Gibt erweiterte Informationen über alle Server (gesamte Domäne) mit NetDiag aus", $listview)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateListViewItem("Bereich DNS-Test|/q für eine komprimierte Ausgabe):", $listview)
    GUICtrlSetBkColor(-1, 0x0000FF)
    GUICtrlCreateListViewItem("dns|Testet angegebenen DNS Server mit DcDiag", $listview)
    GUICtrlCreateListViewItem("dnsall|Testet alle (gesamte Domäne) DNS Server mit DcDiag", $listview)
    GUICtrlCreateListViewItem("dnsdebug|Gibt erweiterte Informationen über angegebenen DNS Server mit DcDiag aus", $listview)
    GUICtrlCreateListViewItem("dnsdebugall|Gibt erweiterte Informationen über alle (gesamte Domäne) DNS Server mit DcDiag aus", $listview)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateListViewItem("Bereich DNS-Server:", $listview)
    GUICtrlSetBkColor(-1, 0x0000FF)
    GUICtrlCreateListViewItem("dnsinfo|Gibt allgemeine Informationen über den angegebenen Server aus", $listview)
    GUICtrlCreateListViewItem("dnsstat|Gibt allgemeine Statistiken über den angegebenen Server aus", $listview)
    GUICtrlCreateListViewItem("dnsclearcache|Löscht den temporären DNS Cache des angegebenen Server", $listview)
    GUICtrlCreateListViewItem("enumzones|Erstellt eime Liste aller DNS-Zonen des angegebenen Server", $listview)
    GUICtrlCreateListViewItem("printzone (/gui) oder (Name der Zone)|Gibt die Clients einer Zone aus bzw. Auswahl über Gui ", $listview)
    GUICtrlCreateListViewItem("enumrecord (Name des Clients)|Gibt detailierte Infos zu einem Client aus (Zone; LVA-Hessen.lva12.drv)", $listview)

    [/autoit] [autoit][/autoit] [autoit]

    _GUICtrlListViewSetColumnWidth($listview, 0, 250)
    _GUICtrlListViewSetColumnWidth($listview, 1, $LVSCW_AUTOSIZE_USEHEADER)
    GUISetState()
    #cs
    GUICtrlCreateLabel("Bereich NTFrs (File Replication Service:", 10, 5, 400) ; next line
    GUICtrlSetFont(-1, 12, 400, 4, $font)
    GUICtrlCreateLabel("frschk |Überprüft die Replikation des angegebenen Servers", 10, 0, 850) ; next line
    GUICtrlSetFont(-1, 12, 400, 2, $font)
    GUICtrlCreateLabel("Bereich DHCP-Server:", 10, 5, 400) ; next line
    GUICtrlSetFont(-1, 12, 400, 4, $font)
    GUICtrlCreateLabel("addscope (Bereich) (Name des Bereichs) (Name Empirumserver)-->Erstellt einen Scope", 10, 0, 850) ; next line
    GUICtrlSetFont(-1, 12, 400, 2, $font)
    GUICtrlCreateLabel("z.B. diag /addscope:svt1 144.55.0.0 test test1", 10, 0, 850) ; next line
    GUICtrlSetFont(-1, 12, 400, 0, $font)
    GUICtrlCreateLabel("showscope (Bereich))--> Zeigt alle Einträge eines Scopes", 10, 0, 850) ; next line
    GUICtrlSetFont(-1, 12, 400, 2, $font)
    GUICtrlCreateLabel("dumpscope (Bereich))--> Dump eines Scopes ", 10, 0, 850) ; next line
    GUICtrlSetFont(-1, 12, 400, 2, $font)
    GUICtrlCreateLabel("showalldhcpsrv--> Listet alle DHCP-Server der Domäne auf ", 10, 0, 850) ; next line
    GUICtrlSetFont(-1, 12, 400, 2, $font)
    GUICtrlCreateLabel("dhcpinfo--> Gibt Informationen über den angegebenen DHCP-Server aus ", 10, 0, 850) ; next line
    GUICtrlSetFont(-1, 12, 400, 2, $font)
    GUICtrlCreateLabel("Bereich Reset GPO:", 10, 5, 400) ; next line
    GUICtrlSetFont(-1, 12, 400, 4, $font)
    GUICtrlCreateLabel("resetgpo|Gibt einen Befehl zum resetten der Gruppemnrichtlinien aus", 10, 0, 700) ; next line
    GUICtrlSetFont(-1, 12, 400, 2, $font)
    GUICtrlCreateLabel("Bereich ResetIp:", 10, 5, 400) ; next line
    GUICtrlSetFont(-1, 12, 400, 4, $font)
    GUICtrlCreateLabel("resetip|Resettet den IP-Stack (Achtung Netzwerkverbindung wird unterbrochen !!!)", 10, 0, 700) ; next line
    GUICtrlSetFont(-1, 12, 400, 2, $font)
    GUICtrlCreateLabel("Bereich TimeSync:", 10, 5, 400) ; next line
    GUICtrlSetFont(-1, 12, 400, 4, $font)
    GUICtrlCreateLabel("timesync|Führt eine Neuinstallation des Zeitdientes durch", 10, 0, 700) ; next line
    GUICtrlSetFont(-1, 12, 400, 2, $font)
    GUICtrlCreateLabel("addscope (Bereich) (Name des Bereichs) (Name Empirumserver)-->Erstellt einen Scope", 10, 0, 850) ; next line
    GUICtrlSetFont(-1, 12, 400, 2, $font)
    GUICtrlCreateLabel("z.B. diag /addscope:svt1 144.55.0.0 test test1", 10, 0, 850) ; next line
    GUICtrlSetFont(-1, 12, 400, 0, $font)
    GUICtrlCreateLabel("showscope (Bereich))--> Zeigt alle Einträge eines Scopes", 10, 0, 850) ; next line
    GUICtrlSetFont(-1, 12, 400, 2, $font)
    GUICtrlCreateLabel("dumpscope (Bereich))--> Dump eines Scopes ", 10, 0, 850) ; next line
    GUICtrlSetFont(-1, 12, 400, 2, $font)
    GUICtrlCreateLabel("showalldhcpsrv--> Listet alle DHCP-Server der Domäne auf ", 10, 0, 850) ; next line
    GUICtrlSetFont(-1, 12, 400, 2, $font)
    GUICtrlCreateLabel("dhcpinfo--> Gibt Informationen über den angegebenen DHCP-Server aus ", 10, 0, 850) ; next line
    GUICtrlSetFont(-1, 12, 400, 2, $font)
    GUICtrlCreateLabel("Bereich Reset GPO:", 10, 5, 400) ; next line
    GUICtrlSetFont(-1, 12, 400, 4, $font)
    GUICtrlCreateLabel("resetgpo|Gibt einen Befehl zum resetten der Gruppemnrichtlinien aus", 10, 0, 700) ; next line
    GUICtrlSetFont(-1, 12, 400, 2, $font)
    GUICtrlCreateLabel("Bereich ResetIp:", 10, 5, 400) ; next line
    GUICtrlSetFont(-1, 12, 400, 4, $font)
    GUICtrlCreateLabel("resetip|Resettet den IP-Stack (Achtung Netzwerkverbindung wird unterbrochen !!!)", 10, 0, 700) ; next line
    GUICtrlSetFont(-1, 12, 400, 2, $font)
    GUICtrlCreateLabel("Bereich TimeSync:", 10, 5, 400) ; next line
    GUICtrlSetFont(-1, 12, 400, 4, $font)
    GUICtrlCreateLabel("timesync|Führt eine Neuinstallation des Zeitdientes durch", 10, 0, 700) ; next line
    GUICtrlSetFont(-1, 12, 400, 2, $font)
    #ce
    Do
    $msg = GUIGetMsg()
    Until $msg = $GUI_EVENT_CLOSE

    [/autoit]

    So long,

    Mega

    • Offizieller Beitrag

    Sorry, wenn ich diesen alten Thread noch mal aufgreife. Da ich aber gerade auch auf dieses Problem:

    Bei der Ausführung kommen dann folgende Fehlermeldungen:
    AutoItComTest:
    Keine Lizenz für die Verwendung dieser Klasse vorhanden.
    bzw.
    Element nicht gefunden.

    gestoßen bin und bisher noch keine Lösung dazu gekommen ist, wollte ich das nochmals aufwärmen.
    In der aktuellen Hilfe wird ja dieses Richtext-Objekt als Bsp. angeführt. Jedoch läßt es sich nicht ausführen, da die o.a. Lizenzfehler-Meldung erscheint.
    Die MS-Hilfe bietet, wie üblich, keine wirkliche Hilfe.
    Hat irgendjemand eine Idee, was es mit diesem Lizenzkram auf sich hat?

    • Offizieller Beitrag

    Hi Xeno,
    ich wollte das Richtext-Bsp. aus der Hilfe ausführen:

    Spoiler anzeigen
    [autoit]

    ; Rich edit control EXAMPLE using GUICtrlCreateObj

    [/autoit] [autoit][/autoit] [autoit]

    ; Author: Kåre Johansson
    ; AutoIt Version: 3.1.1.55
    ; Description: Very Simple example: Embedding RICHTEXT object
    ; Needs: MSCOMCT2.OCX in system32 but it's probably already there
    ; Date: 3 jul 2005

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>
    $oMyError = ObjEvent("AutoIt.Error","MyErrFunc")

    [/autoit] [autoit][/autoit] [autoit]

    $oRP = ObjCreate("RICHTEXT.RichtextCtrl.1")

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("Embedded RICHTEXT control Test", 320, 200, -1, -1,BitOr($WS_OVERLAPPEDWINDOW,$WS_CLIPSIBLINGS,$WS_CLIPCHILDREN))
    $TagsPageC = GuiCtrlCreateLabel('Visit Tags Page', 5, 180, 100, 15, $SS_CENTER)
    GuiCtrlSetFont($TagsPageC,9,400,4)
    GuiCtrlSetColor($TagsPageC,0x0000ff)
    GuiCtrlSetCursor($TagsPageC,0)
    $AboutC = GUICtrlCreateButton('About',105,177,70,20)
    $PrefsC = GUICtrlCreateButton('FontSize',175,177,70,20)
    $StatC = GUICtrlCreateButton('Plain Style',245,177,70,20)

    [/autoit] [autoit][/autoit] [autoit]

    $GUIActiveX = GUICtrlCreateObj( $oRP, 10, 10 , 400 , 260 )
    GUICtrlSetPos($GUIActiveX,10,10,300,160)

    [/autoit] [autoit][/autoit] [autoit]

    With $oRP; Object tag pool
    .OLEDrag()
    .Font = 'Arial'
    .text = "Hello - Au3 supports ActiveX components like the RICHTEXT thanks to SvenP" & @CRLF & 'Try write some text and quit to reload'
    ;.FileName = @ScriptDir & '\RichText.rtf'
    ;.BackColor = 0xff00
    EndWith

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState ();Show GUI

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()

    Select
    Case $msg = $GUI_EVENT_CLOSE
    $oRP.SaveFile( @ScriptDir & "\RichText.rtf", 0 )
    ExitLoop
    Case $msg = $TagsPageC
    Run(@ComSpec & ' /c start http://www.myplugins.info/guids/typeinfo/typeinfo.php?clsid={3B7C8860-D78F-101B-B9B5-04021C009402}','', @SW_HIDE)
    Case $msg = $AboutC
    $oRP.AboutBox()
    Case $msg = $PrefsC
    $oRP.SelFontSize = 12
    Case $msg = $StatC
    $oRP.SelBold = False
    $oRP.SelItalic = False
    $oRP.SelUnderline = False
    $oRP.SelFontSize = 8
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Func MyErrFunc()

    [/autoit] [autoit][/autoit] [autoit]

    Msgbox(0,"AutoItCOM Test","We intercepted a COM Error !" & @CRLF & @CRLF & _
    "err.description is: " & @TAB & $oMyError.description & @CRLF & _
    "err.windescription:" & @TAB & $oMyError.windescription & @CRLF & _
    "err.number is: " & @TAB & hex($oMyError.number,8) & @CRLF & _
    "err.lastdllerror is: " & @TAB & $oMyError.lastdllerror & @CRLF & _
    "err.scriptline is: " & @TAB & $oMyError.scriptline & @CRLF & _
    "err.source is: " & @TAB & $oMyError.source & @CRLF & _
    "err.helpfile is: " & @TAB & $oMyError.helpfile & @CRLF & _
    "err.helpcontext is: " & @TAB & $oMyError.helpcontext _
    ,5)
    ; Will automatically continue after 5 seconds

    Local $err = $oMyError.number
    If $err = 0 Then $err = -1

    SetError($err) ; to check for after this function returns
    Endfunc

    [/autoit]

    Dabei gibt es folgenden Fehler: "err.windescription: Keine Lizenz für die Verwendung dieser Klasse vorhanden"

    Hab es auf meinem Laptop und auch auf Desktop-PC getestet mit demselben Ergebnis.

    • Offizieller Beitrag

    Hi,

    habe dies getestet. Keine Probleme. XP SP2 Pro

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    ; Rich edit control EXAMPLE using GUICtrlCreateObj

    [/autoit] [autoit][/autoit] [autoit]

    ; Author: Kåre Johansson
    ; AutoIt Version: 3.1.1.55
    ; Description: Very Simple example: Embedding RICHTEXT object
    ; Needs: MSCOMCT2.OCX in system32 but it's probably already there
    ; Date: 3 jul 2005

    [/autoit] [autoit][/autoit] [autoit]

    $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")

    [/autoit] [autoit][/autoit] [autoit]

    $oRP = ObjCreate("RICHTEXT.RichtextCtrl.1")

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("Embedded RICHTEXT control Test", 320, 200, -1, -1, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN))
    $TagsPageC = GUICtrlCreateLabel('Visit Tags Page', 5, 180, 100, 15, $SS_CENTER)
    GUICtrlSetFont($TagsPageC, 9, 400, 4)
    GUICtrlSetColor($TagsPageC, 0x0000ff)
    GUICtrlSetCursor($TagsPageC, 0)
    $AboutC = GUICtrlCreateButton('About', 105, 177, 70, 20)
    $PrefsC = GUICtrlCreateButton('FontSize', 175, 177, 70, 20)
    $StatC = GUICtrlCreateButton('Plain Style', 245, 177, 70, 20)

    [/autoit] [autoit][/autoit] [autoit]

    $GUIActiveX = GUICtrlCreateObj($oRP, 10, 10, 400, 260)
    GUICtrlSetPos($GUIActiveX, 10, 10, 300, 160)

    [/autoit] [autoit][/autoit] [autoit]

    With $oRP; Object tag pool
    .OLEDrag()
    .Font = 'Arial'
    .text = "Hello - Au3 supports ActiveX components like the RICHTEXT thanks to SvenP" & @CRLF & 'Try write some text and quit to reload'
    ;.FileName = @ScriptDir & '\RichText.rtf'
    ;.BackColor = 0xff00
    EndWith

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState();Show GUI

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()

    [/autoit] [autoit][/autoit] [autoit]

    Select
    Case $msg = $GUI_EVENT_CLOSE
    $oRP.SaveFile(@ScriptDir & "\RichText.rtf", 0)
    ExitLoop
    Case $msg = $TagsPageC
    Run(@ComSpec & ' /c start http://www.myplugins.info/guids/typeinfo/typeinfo.php?clsid={3B7C8860-D78F-101B-B9B5-04021C009402}', '', @SW_HIDE)
    Case $msg = $AboutC
    $oRP.AboutBox()
    Case $msg = $PrefsC
    $oRP.SelFontSize = 12
    Case $msg = $StatC
    $oRP.SelBold = False
    $oRP.SelItalic = False
    $oRP.SelUnderline = False
    $oRP.SelFontSize = 8
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Func MyErrFunc()

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0, "AutoItCOM Test", "We intercepted a COM Error !" & @CRLF & @CRLF & _
    "err.description is: " & @TAB & $oMyError.description & @CRLF & _
    "err.windescription:" & @TAB & $oMyError.windescription & @CRLF & _
    "err.number is: " & @TAB & Hex($oMyError.number, 8) & @CRLF & _
    "err.lastdllerror is: " & @TAB & $oMyError.lastdllerror & @CRLF & _
    "err.scriptline is: " & @TAB & $oMyError.scriptline & @CRLF & _
    "err.source is: " & @TAB & $oMyError.source & @CRLF & _
    "err.helpfile is: " & @TAB & $oMyError.helpfile & @CRLF & _
    "err.helpcontext is: " & @TAB & $oMyError.helpcontext _
    , 5)
    ; Will automatically continue after 5 seconds

    [/autoit] [autoit][/autoit] [autoit]

    Local $err = $oMyError.number
    If $err = 0 Then $err = -1

    [/autoit] [autoit][/autoit] [autoit]

    SetError($err) ; to check for after this function returns
    EndFunc ;==>MyErrFunc

    [/autoit]

    Mega