- Offizieller Beitrag
Für ein Chatprogramm braucht man eine geeignete Anzeige. Ein einfaches Edit wäre für puren Text zwar ausreichend, aber schöner wird's mit HTML, also einen embedded IE, so meine Überlegung zu dieser UDF.
Die Funktion _Chatbox_Create erstellt dann auch einen solchen und mit _Chatbox_SetData kann man einen Text dort hineinschreiben. Wobei man auch BB-Codes eingeben kann z.B. fett oder kursiv
Die Funktion _Chatbox_ConvertSmilies übernimmt dann das umwandeln von z.B. in ein PNG-Smily (bisher gibt es 18 Smilies siehe Array in der Funktion).
Bisherige Eigenschaften:
- Wählbare Hintergrundfarbe für die Chatbox
- Schriftfarbe und -größe für jeden einzelnen Eintrag wählbar
- Größe der Smilies wählbar
- BB-Codes können zur Schriftformatierung benutzt werden (b, i, u, size und color wird unterstützt)
- Logfile kann erstellt werden
- Hyperlinks und Mailadressen werden in anklickbare Links umgewandelt
- Funktion, um ein Fenster mit allen verfügbaren Smilies anzuzeigen und auf Mausklick in ein Text-Smiley umzuwandeln
History
Edit 18.01.10: Einige Fehler behoben:
- bei _Chatbox_SmileyToText() wurden unter WinXP die Smilies nicht angezeigt (der Trick mit WinSetTrans für PNGs funktioniert da nicht).
- außerdem kann man bei _Chatbox_SmileyToText() jetzt ein Parent-Window angeben. Das Smiley-Fenster wird dann ein Child davon (Parent wird solange disabled).
- _Chatbox_ConvertHyperlink() extrem reduziert.
- wenn man die BB-Codes "Color" und "Size" gleichzeitig in einer Zeile benutzte, funktionierte nur einer.
- es gibt jetzt noch einen "BB-Code" und zwar: [hr], das entspricht der horizontalen Linie in HTML.
Edit 24.05.10:
- Beim erstellen der Chatbox kann man nun angeben, ob die vertikale Scrollbar vorhanden sein soll oder nicht bzw. nur bei Bedarf.
- Funktion: _Chatbox_ReadText() hinzugefügt
- Funktion: _Chatbox_ReadHTML() hinzugefügt
Edit 28.05.10:
- Fehler in der Funktion _Chatbox_ReadHTML() behoben.
Edit 10.05.11:
- Die Schriftart kann nun per _Chatbox_SetData() vorgegeben werden oder
- über den BB-Code "face" innerhalb der Zeile geändert werden: z.B. [face="Times New Roman"]ein Text[/face]
UDF
#include-once
#include <GUIConstantsEx.au3>
#include <File.au3>
#include <GDIPlus.au3>
#include <IE.au3>
Global $_Chatbox_hChild, $_Chatbox_hGraphic, $_Chatbox_aSmileyFiles, $_Chatbox_ahImage, $_Chatbox_ahDummy
[/autoit] [autoit][/autoit] [autoit]; #INDEX# ======================================================================
; Title: Chatbox-UDF (vom 10.05.2011)
; AutoIt Version: min. 3.3.0.0
; Language: German
; Description: erstellen einer Textausgabebox für Chatprogramme
;
; Funktions:
; _Chatbox_Create()
; _Chatbox_SetData()
; _Chatbox_ReadText()
; _Chatbox_ReadHTML()
; _Chatbox_ConvertSmilies()
; _Chatbox_ConvertMailto()
; _Chatbox_ConvertHyperlink()
; _Chatbox_SmileyToText()
; __Chatbox_WM_PAINT() = nur interne Benutzung
;===============================================================================
;===============================================================================
; Function Name: _Chatbox_Create($hWnd, $iLeft, $iTop, $iWidth, $iHeight[, $iBgColor][, $sLogfile][, $sImgPath][, $sScrollbar])
; Description:: erstellt eine Chatbox
; Parameter(s): $hWnd = Handle des Fensters, auf dem die Box erstellt werden soll
; $iLeft, $iTop = Position der Box
; $iWidth, $iHeight = Größe der Box
; $iBgColor = Hintergrundfarbe der Box
; $sLogfile = Logfile-Dateiname (inkl. Pfad). Ergebnis ist eine HTML-Datei.
; $sImgPath = Verzeichnispfad zu den Smiley-PNGs, Standard: @ScriptDir & '\png\'
; $sScrollbar = Vertikale Scrollbar anzeigen?
; auto = nur wenn benötigt
; yes = ja, immer
; no = nie anzeigen
; Requirement(s): #include <IE.au3>
; Return Value(s): bei Erfolg = Array, für den Aufruf der anderen Funktionen
; bei Fehler = Rückgabe: Null
; und @error = 1 (embedded IE konnte nicht erstellt werden)
; 2 (das GUI-Objekt für den IE konnte nicht erstellt werden)
; Author(s): Oscar (http://www.autoit.de)
;===============================================================================
Func _Chatbox_Create($hWnd, $iLeft, $iTop, $iWidth, $iHeight, $iBgColor = 0xffffff, $sLogfile = '', $sImgPath = '', $sScrollbar = 'auto')
Local $ahChat[5], $sTempFile, $oBody
$ahChat[0] = _IECreateEmbedded()
If @error Then Return SetError(1, 0, 0)
GUISwitch($hWnd)
$ahChat[1] = GUICtrlCreateObj($ahChat[0], $iLeft, $iTop, $iWidth, $iHeight)
GUICtrlSetResizing(-1, 1)
If $ahChat[1] = 0 Then Return SetError(2, 0, 0)
If Not FileExists($sImgPath) Then $sImgPath = @ScriptDir & '\png\'
If StringRight($sImgPath, 1) <> '\' Then $sImgPath &= '\'
$ahChat[2] = '<html>' & @CRLF & '<head>' & @CRLF & '<title>Chatbox</title>' & @CRLF & '<style type="text/css">body { background-color:#' & Hex($iBgColor, 6)
$ahChat[2] &= '; padding:0px; margin:4px; } p { margin:4px; }</style>' & @CRLF & '</head>' & @CRLF
$ahChat[2] &= '<body scroll="' & $sScrollbar & '">' & @CRLF & '</body>' & @CRLF & '</html>'
$sTempFile = @TempDir & '\ChatboxTemp.html'
$hFile = FileOpen($sTempFile, 2)
FileWrite($hFile, $ahChat[2])
FileClose($hFile)
_IENavigate($ahChat[0], $sTempFile)
$ahChat[3] = ''
If $sLogfile <> '' Then
If FileCopy($sTempFile, $sLogfile, 9) Then $ahChat[3] = $sLogfile
EndIf
FileDelete($sTempFile)
$ahChat[4] = $sImgPath
Return $ahChat
EndFunc ;==>_Chatbox_Create
;===============================================================================
; Function Name: _Chatbox_SetData($ahChat, $sMsg[, $iColor][, $iSize][, $iImgSize])
; Description:: Funktion zum schreiben in die Chatbox
; Parameter(s): $ahChat = das Rückgabe-Array von _Chatbox_Create()
; $sMsg = die Textzeile, die in die Chatbox geschrieben werden soll
; $iColor = Schriftfarbe (Standard = 0x000000, schwarz)
; $iSize = Größe der Schrift (Werte von 1 bis 7, Standard = 2)
; $iImgSize = Größe der Smilies (Standard = 19 pixel)
; Requirement(s): #include <IE.au3>
; Return Value(s): bei Erfolg = 1
; bei Fehler = 0
; und @error = 1 ($ahChat ist kein Array)
; 2 ($ahChat besitzt nicht die richtigen Array-Dimensionen)
; 3 (Logfile konnte nicht geschrieben werden)
; Author(s): Oscar (http://www.autoit.de)
;===============================================================================
Func _Chatbox_SetData(ByRef $ahChat, $sMsg, $iColor = 0x000000, $iSize = 2, $sFont = "Arial", $iImgSize = 19, $fAppend = False)
If Not IsArray($ahChat) Then Return SetError(1, 0, 0)
If UBound($ahChat) <> 5 Then Return SetError(2, 0, 0)
Local $hFile, $oBody
$sMsg = StringRegExpReplace($sMsg, '(?s)<.*?>', '')
$sMsg = StringRegExpReplace($sMsg, '(?s)(?i)\[hr\]', '<hr>')
$sMsg = StringRegExpReplace($sMsg, '(?s)(?i)\[(\/*b|\/*i|\/*u)\]', '<$1>')
$sMsg = StringRegExpReplace($sMsg, '(?s)(?i)\[(color=.+?)\](.*?)\[\/(color)\]', '<font $1>$2</font>')
$sMsg = StringRegExpReplace($sMsg, '(?s)(?i)\[(size=.+?)\](.*?)\[\/(size)\]', '<font $1>$2</font>')
$sMsg = StringRegExpReplace($sMsg, '(?s)(?i)\[(face=.+?)\](.*?)\[\/(face)\]', '<font $1>$2</font>')
$sMsg = '<p><font color="#' & Hex($iColor, 6) & '" size="' & $iSize & '" face="' & $sFont & '">' & $sMsg & '</font></p>'
$sMsg = StringReplace($sMsg, @CRLF, '<br>')
$sMsg = _Chatbox_ConvertSmilies($sMsg, $ahChat[4], $iImgSize)
$sMsg = _Chatbox_ConvertMailto($sMsg)
$sMsg = _Chatbox_ConvertHyperlink($sMsg)
$oBody = _IETagNameGetCollection($ahChat[0], 'body', 0)
_IEDocInsertHTML($oBody, $sMsg)
$oBody.scrollTop = 0x5FFFFFFF
If $ahChat[3] <> '' Then
$ahChat[2] = StringRegExpReplace($ahChat[2], '(?s)(.+<body.+?>.*)(</body>.+</html>)', '$1' & $sMsg & @CRLF & '$2')
$hFile = FileOpen($ahChat[3], 2)
If $hFile = -1 Then Return SetError(3, 0, 0)
FileWrite($hFile, $ahChat[2])
FileClose($hFile)
EndIf
Return 1
EndFunc ;==>_Chatbox_SetData
;===============================================================================
; Function Name: _Chatbox_ReadText($ahChat)
; Description:: Liest nur den Text aus dem HTML-Body aus
; Parameter(s): $ahChat = das Rückgabe-Array von _Chatbox_Create()
; Requirement(s): #include <IE.au3>
; Return Value(s): Der Inhalt der Chatbox als Text (String)
; Author(s): Oscar (http://www.autoit.de)
;===============================================================================
Func _Chatbox_ReadText(ByRef $ahChat)
Return _IEBodyReadText($ahChat[0])
EndFunc ;==>_Chatbox_ReadText
;===============================================================================
; Function Name: _Chatbox_ReadHTML($ahChat)
; Description:: Liest den HTML-Quelltext aus
; Parameter(s): $ahChat = das Rückgabe-Array von _Chatbox_Create()
; Requirement(s): #include <IE.au3>
; Return Value(s): Der Inhalt der Chatbox als HTML-Quelltext (String)
; Author(s): Oscar (http://www.autoit.de)
;===============================================================================
Func _Chatbox_ReadHTML(ByRef $ahChat)
Return _IEDocReadHTML($ahChat[0])
EndFunc ;==>_Chatbox_ReadHTML
;===============================================================================
; Function Name: _Chatbox_ConvertSmilies($sMsg, $sImgPath, $iImgSize)
; Description:: wandelt Text-Smilies in PNG-Smilies um
; Parameter(s): $sMsg = die Textzeile mit den Text-Smilies
; mögliche Text-Smilies =
; :-/ :-o :-p :cry: :angry:
; :mute: :cool: :shame: :sleep: :sick: :kiss: :yum: :wacko:
; $sImgPath = Verzeichnispfad zu den Smiley-PNGs, Standard: @ScriptDir & '\png\'
; $sImgSize = Größe der Smilies (Standard = 19 pixel)
; Requirement(s): ---
; Return Value(s): die Textzeile mit angepassten HTML-IMG-TAGs auf die Smilies
; Author(s): Oscar (http://www.autoit.de)
;===============================================================================
Func _Chatbox_ConvertSmilies($sMsg, $sImgPath, $iImgSize)
Local $sImgDim = ' width="' & $iImgSize & '" height="' & $iImgSize & '">'
Local $aSmilies[18][2] = [ _
[':-)', 'smile'],[';-)', 'hehe'],[':-D', 'haha'],[':-(', 'sad'],[':-/', 'hmm'], _
[':-o', 'oh'],[':-p', 'grimace'],[':cry:', 'cry'],['', 'love'],[':mute:', 'mute'], _
[':angry:', 'angry'],[':cool:', 'cool'],[':shame:', 'shame'],[':sleep:', 'sleep'], _
[':sick:', 'sick'],[':kiss:', 'kiss'],[':yum:', 'yum'],[':wacko:', 'wacko']]
$sImgPath = StringReplace($sImgPath, '\', '/')
For $i = 0 To UBound($aSmilies) - 1
$sMsg = StringReplace($sMsg, $aSmilies[$i][0], ' <img src="file:///' & $sImgPath & $aSmilies[$i][1] & '.png"' & $sImgDim)
Next
Return $sMsg
EndFunc ;==>_Chatbox_ConvertSmilies
;===============================================================================
; Function Name: _Chatbox_ConvertMailto($sMsg)
; Description:: wandelt evtl. vorhandene Mailadressen in anklickbare Links um
; Parameter(s): $sMsg = die Textzeile
; Requirement(s): ---
; Return Value(s): die bearbeitete Textzeile
; Author(s): Oscar (http://www.autoit.de)
;===============================================================================
Func _Chatbox_ConvertMailto($sMsg)
Local $aReplace = StringRegExp($sMsg, '([a-zA-Z0-9\-.]+@[a-zA-Z0-9\-.]+\.[a-zA-Z0-9\-.]+)', 3)
If Not IsArray($aReplace) Then Return $sMsg
For $i = 0 To UBound($aReplace) - 1
$sMsg = StringReplace($sMsg, $aReplace[$i], ' <a href="mailto:' & $aReplace[$i] & '">' & $aReplace[$i] & '</a>')
Next
Return $sMsg
EndFunc ;==>_Chatbox_ConvertMailto
;===============================================================================
; Function Name: _Chatbox_ConvertHyperlink($sMsg)
; Description:: wandelt evtl. vorhandene Hyperlinks in anklickbare Links um
; Parameter(s): $sMsg = die Textzeile
; Requirement(s): ---
; Return Value(s): die bearbeitete Textzeile
; Author(s): Oscar (http://www.autoit.de)
;===============================================================================
Func _Chatbox_ConvertHyperlink($sMsg)
Return StringRegExpReplace($sMsg, ' [http:\/\/]*([a-zA-Z0-9\-]+\.[a-zA-Z0-9\-]+\.[a-zA-Z0-9_\/\-\.\?&%=\+]+)', '<a href="http://$1" target="_blank">$1</a>')
EndFunc ;==>_Chatbox_ConvertHyperlink
;===============================================================================
; Function Name: _Chatbox_SmileyToText($hID[, $sImgPath][, $iLeft][, $iTop])
; Description:: Zeigt ein Fenster mit Smilies an und gibt den angeklickten
; Smiley als Text-Smiley zurück
; Parameter(s): $hID = GUI-Element, an das das Text-Smiley gesendet werden soll
; $sImgPath = Verzeichnispfad zu den Smiley-PNGs, Standard: @ScriptDir & '\png\'
; $iLeft, $iTop = Position des Fensters (Standard: zentriert)
; $hParent = Das Smiley-Fenster wird ein Child hiervon (Parent wird solange disabled)
; Requirement(s): #include <GUIConstantsEx.au3>
; #include <File.au3>
; #include <GDIPlus.au3>
; Return Value(s): bei Erfolg = Text-Smiley
; bei Fehler = wird Null zurückgegeben
; und @error = 1 ($hID ist kein GUI-Element)
; 2 (Pfad zu den Smilies falsch)
; 3 (es fehlen Smilies)
; Author(s): Oscar (http://www.autoit.de)
;===============================================================================
Func _Chatbox_SmileyToText($hID, $sImgPath = '', $iLeft = -1, $iTop = -1, $hParent = '')
Local $aSmilies[18][2] = [ _
[' :-)', 'smile'],[' ;-)', 'hehe'],[' :-D', 'haha'],[' :-(', 'sad'],[' :-/', 'hmm'], _
[' :-o', 'oh'],[' :-p', 'grimace'],[' :cry:', 'cry'],[' ', 'love'],[' :mute:', 'mute'], _
[' :angry:', 'angry'],[' :cool:', 'cool'],[' :shame:', 'shame'],[' :sleep:', 'sleep'], _
[' :sick:', 'sick'],[':kiss:', 'kiss'],[':yum:', 'yum'],[':wacko:', 'wacko']]
Local $iWidth, $iSmiley, $aInfo, $sReturn = ''
If Not GUICtrlGetHandle($hID) Then Return SetError(1, 0, 0)
If $sImgPath = '' Then $sImgPath = @ScriptDir & '\png\'
$_Chatbox_aSmileyFiles = _FileListToArray($sImgPath, '*.png', 1)
If @error Then Return SetError(2, 0, 0)
If $_Chatbox_aSmileyFiles[0] <> UBound($aSmilies) Then Return SetError(3, 0, 0)
Global $_Chatbox_ahImage[$_Chatbox_aSmileyFiles[0]], $_Chatbox_ahDummy = $_Chatbox_ahImage
Local $iOld = Opt('GUIOnEventMode', 0)
_GDIPlus_Startup()
$iWidth = 16 + $_Chatbox_aSmileyFiles[0] * 27
$_Chatbox_hChild = GUICreate('SmileyToText', $iWidth, 64, $iLeft, $iTop, 0x00080000, Default, $hParent)
GUISetIcon($sImgPath & 'prog.ico')
GUISetBkColor(0xBBBBBB)
$_Chatbox_hGraphic = _GDIPlus_GraphicsCreateFromHWND($_Chatbox_hChild)
GUISetState()
If $hParent <> '' Then WinSetState($hParent, '', @SW_DISABLE)
GUIRegisterMsg($WM_PAINT, '__Chatbox_WM_PAINT')
For $i = 1 To $_Chatbox_aSmileyFiles[0]
$_Chatbox_ahDummy[$i - 1] = GUICtrlCreateLabel('', 8 + ($i - 1) * 27, 8, 19, 19)
$_Chatbox_ahImage[$i - 1] = _GDIPlus_ImageLoadFromFile($sImgPath & $_Chatbox_aSmileyFiles[$i])
_GDIPlus_GraphicsDrawImage($_Chatbox_hGraphic, $_Chatbox_ahImage[$i - 1], 8 + ($i - 1) * 27,
Next
While True
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
$sReturn = ''
ExitLoop
Case $GUI_EVENT_PRIMARYUP
$aInfo = GUIGetCursorInfo($_Chatbox_hChild)
$iSmiley = $aInfo[4] - $_Chatbox_ahDummy[0]
If $iSmiley >= 0 Then
For $i = 0 To UBound($aSmilies) - 1
If StringInStr($_Chatbox_aSmileyFiles[$iSmiley + 1], $aSmilies[$i][1]) Then
$sReturn = $aSmilies[$i][0]
GUICtrlSetData($hID, $sReturn, 1)
ExitLoop 2
EndIf
Next
EndIf
EndSwitch
WEnd
For $i = 1 To $_Chatbox_aSmileyFiles[0]
_GDIPlus_ImageDispose($_Chatbox_ahImage[$i - 1])
Next
_GDIPlus_GraphicsDispose($_Chatbox_hGraphic)
_GDIPlus_Shutdown()
GUIDelete($_Chatbox_hChild)
If $hParent <> '' Then WinSetState($hParent, '', @SW_ENABLE)
Opt('GUIOnEventMode', $iOld)
EndFunc ;==>_Chatbox_SmileyToText
Func __Chatbox_WM_PAINT($hWnd, $Msg, $wParam, $lParam)
_WinAPI_RedrawWindow($_Chatbox_hChild, 0, 0, $RDW_UPDATENOW)
For $i = 1 To $_Chatbox_aSmileyFiles[0]
_GDIPlus_GraphicsDrawImage($_Chatbox_hGraphic, $_Chatbox_ahImage[$i - 1], 8 + ($i - 1) * 27,
Next
_WinAPI_RedrawWindow($_Chatbox_hChild, 0, 0, $RDW_VALIDATE)
Return $GUI_RUNDEFMSG
EndFunc ;==>__Chatbox_WM_PAINT
Beispiel
#include <EditConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <Date.au3>
#include "Chatbox.au3"
$hGui = GUICreate('Chatbox Beispiel', 600, 640, -1, -1, BitOR($GUI_SS_DEFAULT_GUI, $WS_SIZEBOX))
$hChat = _Chatbox_Create($hGui, 10, 10, 580, 420, 0xffffaa, @ScriptDir & '\Chatlog.html')
GUICtrlCreateLabel('Ab hier können zwei Benutzereingaben simuliert werden:', 10, 450, 580, 20)
GUICtrlSetFont(-1, 12)
GUICtrlCreateLabel('User1', 10, 485, 60, 20)
$hSmiley1 = GUICtrlCreateButton('Smiley auswählen', 70, 480, 100, 18)
$hUser1 = GUICtrlCreateInput('', 10, 500, 540, 20)
$hEnter1 = GUICtrlCreateButton('send', 550, 500, 40, 20)
GUICtrlCreateLabel('User2', 10, 545, 60, 20)
$hSmiley2 = GUICtrlCreateButton('Smiley auswählen', 70, 540, 100, 18)
$hUser2 = GUICtrlCreateInput('', 10, 560, 540, 20)
$hEnter2 = GUICtrlCreateButton('send', 550, 560, 40, 20)
$hReadText = GUICtrlCreateButton('Text auslesen', 190, 600, 100, 25)
$hReadHTML = GUICtrlCreateButton('HTML auslesen', 310, 600, 100, 25)
GUISetState()
_Chatbox_SetData($hChat, 'BB-Code-Unterstützung: b, i, u, hr, size und color', 0x000000, 5)
_Chatbox_SetData($hChat, 'fett, kursiv und unterstrichen ist möglich', 0x000088, 4)
_Chatbox_SetData($hChat, 'Normale Schrift und [size="6"]große Schrift[/size] und wieder normal', 0x880000, 3)
_Chatbox_SetData($hChat, 'man kann den Text auch farbig gestalten', 0x000000, 4)
_Chatbox_SetData($hChat, 'Hyperlinks: http://www.blabla.de und EMail-Adressen: [email='test@blabla.de'][/email] sind anklickbar', 0x000000, 3)
_Chatbox_SetData($hChat, 'Die Schriftart lässt sich ändern. Diese Zeile in "Times New Roman"', 0x000000, 4, 'Times New Roman')
_Chatbox_SetData($hChat, 'Die Schriftart lässt sich mit face auch [face="Arial"]innerhalb der Zeile[/face] ändern.', 0x0000FF, 4, 'Times New Roman')
_Chatbox_SetData($hChat, 'Horizontale Linien sind mit dem BB-Code "hr" möglich:[hr]', 0x000000, 3)
_Chatbox_SetData($hChat, 'Text-Smilies werden in PNG-Smilies umgewandelt:', 0x000000, 3)
_Chatbox_SetData($hChat, ':-) :-/ :-o :-p :angry: :cool: :cry: :kiss: :mute: :shame: :sick: :sleep: :wacko: :yum:', 0x000000, 5, 'Arial', 19)
GUICtrlSetState($hUser1, $GUI_FOCUS)
GUICtrlSetState($hEnter1, $GUI_DEFBUTTON)
While True
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $hSmiley1
_Chatbox_SmileyToText($hUser1, '', -1, -1, $hGui)
GUICtrlSetState($hUser1, $GUI_FOCUS)
GUICtrlSetState($hEnter1, $GUI_DEFBUTTON)
Case $hSmiley2
_Chatbox_SmileyToText($hUser2, '', -1, -1, $hGui)
GUICtrlSetState($hUser2, $GUI_FOCUS)
GUICtrlSetState($hEnter2, $GUI_DEFBUTTON)
Case $hEnter1
_Chatbox_SetData($hChat, '[' & _Now() & '] User1: ' & GUICtrlRead($hUser1), 0xff0000, 2)
GUICtrlSetData($hUser1, '')
GUICtrlSetState($hUser1, $GUI_FOCUS)
GUICtrlSetState($hEnter1, $GUI_DEFBUTTON)
Case $hEnter2
_Chatbox_SetData($hChat, '[' & _Now() & '] User2: ' & GUICtrlRead($hUser2), 0x0000ff, 2)
GUICtrlSetData($hUser2, '')
GUICtrlSetState($hUser2, $GUI_FOCUS)
GUICtrlSetState($hEnter2, $GUI_DEFBUTTON)
Case $hReadText
MsgBox(0, 'Chatbox als Text', _Chatbox_ReadText($hChat))
Case $hReadHTML
MsgBox(0, 'Chatbox als HTML', _Chatbox_ReadHTML($hChat))
EndSwitch
WEnd
Screenshot:
autoit.de/wcf/attachment/6815/
UDF, Beispielskript und Smilies im ZIP-Archiv (Anhang).