Sign in to follow this  
Followers 0
wolf9228

Autoit_RichEditCtrl Library

9 posts in this topic

#1 ·  Posted (edited)

<img src="http://images.upload2world.com/get-5-2009-upload2world_com_subli.png" border="0" class="linked-image" />

Autoit_RichEditCtrl.au3

#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <SendMessage.au3>
Global Const $LoadAutoit_RichEditCtrl = WINAPILoadLibrary("Autoit_RichEditCtrl.dll")
Global Const  $Autoit_RichEditCtrl = DllOpen("Autoit_RichEditCtrl.dll")


;MFC Library Reference  
;CRichEditCtrl Members  
; http://msdn.microsoft.com/en-us/library/y4bx8s3h(VS.80).aspx


Func RichEditCreate($dwStyle, $L , $T , $W , $H , $hGUI, $nID)
If $dwStyle = 0 Then $dwStyle = BitOR($WS_CHILD,$WS_BORDER,$WS_VSCROLL,$WS_VISIBLE,$ES_MULTILINE,$ES_AUTOVSCROLL,$ES_WANTRETURN)
$DllCall = DllCall($Autoit_RichEditCtrl , "hwnd:cdecl" , "RichEditCreate" , "long" , $dwStyle , "int" ,$L _ 
, "int" , $T , "int" , $W , "int" , $H , "hwnd" , $hGUI , "int" , $nID)
Return $DllCall[0] ; Return EditSafeHwnd
EndFunc

Func LoadFile($EditSafeHwnd , $sFileName = "" , $nFormat = 2  )
;The value of nFormat must be one of the following
;SF_TEXT = 1  Indicates reading text only. 
;SF_RTF  = 2 Indicates reading text and formatting. 
; http://msdn.microsoft.com/en-us/library/h2hkhzhe.aspx

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "LoadFile" ,"hwnd" , $EditSafeHwnd , "str" ,$sFileName, "int" , $nFormat)
Return $DllCall[0] ; ; Return Number of characters read from the input stream

EndFunc

Func SaveFile($EditSafeHwnd , $sFileName = "" , $nFormat = 2  )
;The value of nFormat must be one of the following: 
;SF_TEXT  = 1 Indicates writing text only. 
;SF_RTF  = 2 Indicates writing text and formatting. 
;SF_RTFNOOBJS   Indicates writing text and formatting, replacing OLE items with spaces. 
;SF_TEXTIZED   Indicates writing text and formatting, with textual representations of OLE items
;http://msdn.microsoft.com/en-us/library/b0k0ywek.aspx

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "SaveFile" ,"hwnd" , $EditSafeHwnd , "str" ,$sFileName, "int" , $nFormat)
Return $DllCall[0] ; Return Number of characters written to the output stream

EndFunc





Func SetString($EditSafeHwnd , $String = "" , $flags = 0 , $codepage = 0)
$EM_SETTEXTEX = $WM_USER + 97
;$String ==> SF_RTF Or SF_TEXT
;flags
;Option flags. It can be any reasonable combination of the following flags. 
;ST_DEFAULT = 0
;Deletes the undo stack, discards rich-text formatting, replaces all text.
;ST_KEEPUNDO
;Keeps the undo stack.
;ST_SELECTION
;Replaces selection and keeps rich-text formatting.
;codepage
;The code page used to translate the text to Unicode. If codepage is 1200 (Unicode code page), 
;no translation is done. If codepage is CP_ACP, the system code page is used
; http://msdn.microsoft.com/en-us/library/bb787954(VS.85).aspx
; http://msdn.microsoft.com/en-us/library/bb787954(VS.85).aspx
$struct_settextex = "dword flags;int codepage;"
$structCreate = DllStructCreate($struct_settextex)
DllStructSetData($structCreate ,"flags",$flags)
DllStructSetData($structCreate ,"codepage",$codepage )
$tBuffer = DllStructCreate("char Text[" & StringLen($String) + 1 & "]") 
DllStructSetData($tBuffer, 1, $String)
$pBuffer = DllStructGetPtr($tBuffer)
Return _SendMessage($EditSafeHwnd, $EM_SETTEXTEX , DllStructGetPtr($structCreate),$pBuffer)
EndFunc




Func GetString($EditSafeHwnd)
;String ==> SF_TEXT Only
;http://msdn.microsoft.com/en-us/library/ms632627(VS.85).aspx
$TextLength = GetTextLength($EditSafeHwnd)
$tBuffer = DllStructCreate("char Text[" & $TextLength + 1 & "]") 
$pBuffer = DllStructGetPtr($tBuffer)
_SendMessage($EditSafeHwnd, $WM_GETTEXT , $TextLength + 1 ,$pBuffer)
Return DllStructGetData($tBuffer ,1)
EndFunc

Func PrintDlg($EditSafeHwnd , $dwFlags)
$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "CPrint_Dialog"  , "hwnd" , $EditSafeHwnd  , "long" , $dwFlags )
Return $DllCall[0]
EndFunc





;---------------------------------------------------------------------------------------------------------------------------------
;MFC Library Reference  
;CRichEditCtrl Members  
; http://msdn.microsoft.com/en-us/library/y4bx8s3h(VS.80).aspx

Func CanPaste($EditSafeHwnd , $UINT_nFormat = 0)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "CanPaste" ,"hwnd" , $EditSafeHwnd , "int" , $UINT_nFormat = 0)
Return $DllCall[0]

EndFunc


Func CanUndo($EditSafeHwnd)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "CanUndo" ,"hwnd" , $EditSafeHwnd)
Return $DllCall[0]

EndFunc


Func Clear($EditSafeHwnd)

$DllCall = DllCall( $Autoit_RichEditCtrl , "none:cdecl" , "Clear" ,"hwnd" , $EditSafeHwnd)


EndFunc


Func Copy($EditSafeHwnd)

$DllCall = DllCall( $Autoit_RichEditCtrl , "none:cdecl" , "Copy" ,"hwnd" , $EditSafeHwnd)


EndFunc


Func Cut($EditSafeHwnd)

$DllCall = DllCall( $Autoit_RichEditCtrl , "none:cdecl" , "Cut" ,"hwnd" , $EditSafeHwnd)


EndFunc


Func DisplayBand($EditSafeHwnd , $LPRECT_pDisplayRect)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "DisplayBand" ,"hwnd" , $EditSafeHwnd , "ptr" , $LPRECT_pDisplayRect)
Return $DllCall[0]

EndFunc


Func EmptyUndoBuffer($EditSafeHwnd)

$DllCall = DllCall( $Autoit_RichEditCtrl , "none:cdecl" , "EmptyUndoBuffer" ,"hwnd" , $EditSafeHwnd)


EndFunc


Func FindText($EditSafeHwnd , $DWORD_dwFlags , $FINDTEXTEX_pFindText)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "Find_Text" ,"hwnd" , $EditSafeHwnd , "long" , $DWORD_dwFlags , "ptr" , $FINDTEXTEX_pFindText)
Return $DllCall[0]

EndFunc


Func FormatRange($EditSafeHwnd , $FORMATRANGE_pfr , $BOOL_bDisplay = TRUE)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "ptr" ,"hwnd" , $EditSafeHwnd , "ptr" , $FORMATRANGE_pfr , "int" , $BOOL_bDisplay )
Return $DllCall[0]

EndFunc


Func GetEventMask($EditSafeHwnd)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "GetEventMask" ,"hwnd" , $EditSafeHwnd)
Return $DllCall[0]

EndFunc


Func GetFirstVisibleLine($EditSafeHwnd)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "GetFirstVisibleLine" ,"hwnd" , $EditSafeHwnd)
Return $DllCall[0]

EndFunc


Func GetLimitText($EditSafeHwnd)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "GetLimitText" ,"hwnd" , $EditSafeHwnd)
Return $DllCall[0]

EndFunc


Func GetLine($EditSafeHwnd , $int_nIndex , $LPTSTR_lpszBuffer , $int_nMaxLength)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "GetLine" ,"hwnd" , $EditSafeHwnd , "int" , $int_nIndex , "ptr" , $LPTSTR_lpszBuffer , "int" , $int_nMaxLength)
Return $DllCall[0]

EndFunc


Func GetLineCount($EditSafeHwnd)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "GetLineCount" ,"hwnd" , $EditSafeHwnd)
Return $DllCall[0]

EndFunc


Func GetModify($EditSafeHwnd)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "GetModify" ,"hwnd" , $EditSafeHwnd)
Return $DllCall[0]

EndFunc


Func GetParaFormat($EditSafeHwnd , $PARAFORMAT_pf)

$DllCall = DllCall( $Autoit_RichEditCtrl , "long:cdecl" , "GetParaFormat" ,"hwnd" , $EditSafeHwnd , "ptr" , $PARAFORMAT_pf)
Return $DllCall[0]

EndFunc


Func GetRect($EditSafeHwnd , $LPRECT_lpRect)

$DllCall = DllCall( $Autoit_RichEditCtrl , "none:cdecl" , "GetRect" ,"hwnd" , $EditSafeHwnd , "ptr" , $LPRECT_lpRect)


EndFunc


Func GetSel($EditSafeHwnd , $CHARRANGE_cr)

$DllCall = DllCall( $Autoit_RichEditCtrl , "none:cdecl" , "GetSel" ,"hwnd" , $EditSafeHwnd , "ptr" , $CHARRANGE_cr)


EndFunc


Func GetSelectionCharFormat($EditSafeHwnd , $CHARFORMAT_cf)

$DllCall = DllCall( $Autoit_RichEditCtrl , "long:cdecl" , "GetSelectionCharFormat" ,"hwnd" , $EditSafeHwnd , "ptr" , $CHARFORMAT_cf)
Return $DllCall[0]

EndFunc


Func GetSelectionType($EditSafeHwnd)

$DllCall = DllCall( $Autoit_RichEditCtrl , "long:cdecl" , "GetSelectionType" ,"hwnd" , $EditSafeHwnd)
Return $DllCall[0]

EndFunc


Func GetSelText($EditSafeHwnd)

$DllCall = DllCall( $Autoit_RichEditCtrl , "str:cdecl" , "GetSelText" ,"hwnd" , $EditSafeHwnd)
Return $DllCall[0]

EndFunc


Func GetTextLength($EditSafeHwnd)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "GetTextLength" ,"hwnd" , $EditSafeHwnd)
Return $DllCall[0]

EndFunc


Func HideSelection($EditSafeHwnd , $BOOL_bHide , $BOOL_bPerm)

$DllCall = DllCall( $Autoit_RichEditCtrl , "none:cdecl" , "HideSelection" ,"hwnd" , $EditSafeHwnd , "int" , $BOOL_bHide , "int" , $BOOL_bPerm)


EndFunc


Func LimitText($EditSafeHwnd , $long_nChars = 0)

$DllCall = DllCall( $Autoit_RichEditCtrl , "none:cdecl" , "LimitText" ,"hwnd" , $EditSafeHwnd , "long" , $long_nChars = 0)


EndFunc


Func LineFromChar($EditSafeHwnd , $long_nIndex)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "LineFromChar" ,"hwnd" , $EditSafeHwnd , "long" , $long_nIndex)
Return $DllCall[0]

EndFunc


Func LineIndex($EditSafeHwnd , $int_nLine = -1)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "LineIndex" ,"hwnd" , $EditSafeHwnd , "int" , $int_nLine)
Return $DllCall[0]

EndFunc


Func LineLength($EditSafeHwnd , $int_nLine = -1)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "LineLength" ,"hwnd" , $EditSafeHwnd , "int" , $int_nLine)
Return $DllCall[0]

EndFunc


Func LineScroll($EditSafeHwnd , $int_nLines , $int_nChars = 0)

$DllCall = DllCall( $Autoit_RichEditCtrl , "none:cdecl" , "LineScroll" ,"hwnd" , $EditSafeHwnd , "int" , $int_nLines , "int" , $int_nChars)


EndFunc


Func Paste($EditSafeHwnd)

$DllCall = DllCall( $Autoit_RichEditCtrl , "none:cdecl" , "Paste" ,"hwnd" , $EditSafeHwnd)


EndFunc


Func PasteSpecial($EditSafeHwnd , $UINT_nClipFormat , $DWORD_dvAspect = 0 , $HMETAFILE_hMF = 0)

$DllCall = DllCall( $Autoit_RichEditCtrl , "none:cdecl" , "PasteSpecial" ,"hwnd" , $EditSafeHwnd , "int" , $UINT_nClipFormat , "long" , $DWORD_dvAspect , "long" , $HMETAFILE_hMF)


EndFunc


Func ReplaceSel($EditSafeHwnd , $LPCTSTR_lpszNewText , $BOOL_bCanUndo = FALSE)

$DllCall = DllCall( $Autoit_RichEditCtrl , "none:cdecl" , "ReplaceSel" ,"hwnd" , $EditSafeHwnd , "str" , $LPCTSTR_lpszNewText , "int" , $BOOL_bCanUndo)


EndFunc


Func RequestResize($EditSafeHwnd)

$DllCall = DllCall( $Autoit_RichEditCtrl , "none:cdecl" , "RequestResize" ,"hwnd" , $EditSafeHwnd)


EndFunc


Func SetBackgroundColor($EditSafeHwnd , $BOOL_bSysColor , $COLORREF_cr)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "SetBackgroundColor" ,"hwnd" , $EditSafeHwnd , "int" , $BOOL_bSysColor , "int" , $COLORREF_cr)
Return $DllCall[0]

EndFunc


Func SetDefaultCharFormat($EditSafeHwnd , $CHARFORMAT_cf)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "SetDefaultCharFormat" ,"hwnd" , $EditSafeHwnd , "ptr" , $CHARFORMAT_cf)
Return $DllCall[0]

EndFunc


Func SetEventMask($EditSafeHwnd , $DWORD_dwEventMask)

$DllCall = DllCall( $Autoit_RichEditCtrl , "long:cdecl" , "SetEventMask" ,"hwnd" , $EditSafeHwnd , "long" , $DWORD_dwEventMask)
Return $DllCall[0]

EndFunc


Func SetModify($EditSafeHwnd , $BOOL_bModified = TRUE)

$DllCall = DllCall( $Autoit_RichEditCtrl , "none:cdecl" , "SetModify" ,"hwnd" , $EditSafeHwnd , "int" , $BOOL_bModified)


EndFunc


Func SetOLECallback($EditSafeHwnd , $IRichEditOleCallback_pCallback)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "SetOLECallback" ,"hwnd" , $EditSafeHwnd , "ptr" , $IRichEditOleCallback_pCallback)
Return $DllCall[0]

EndFunc


Func SetOptions($EditSafeHwnd , $WORD_wOp , $DWORD_dwFlags)

$DllCall = DllCall( $Autoit_RichEditCtrl , "none:cdecl" , "SetOptions" ,"hwnd" , $EditSafeHwnd , "long" , $WORD_wOp , "long" , $DWORD_dwFlags)


EndFunc


Func SetParaFormat($EditSafeHwnd , $PARAFORMAT_pf)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "SetParaFormat" ,"hwnd" , $EditSafeHwnd , "ptr" , $PARAFORMAT_pf)
Return $DllCall[0]

EndFunc


Func SetReadOnly($EditSafeHwnd , $BOOL_bReadOnly = TRUE)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "SetReadOnly" ,"hwnd" , $EditSafeHwnd , "int" , $BOOL_bReadOnly)
Return $DllCall[0]

EndFunc


Func SetRect($EditSafeHwnd , $LPCRECT_lpRect)

$DllCall = DllCall( $Autoit_RichEditCtrl , "none:cdecl" , "SetRect" ,"hwnd" , $EditSafeHwnd , "ptr" , $LPCRECT_lpRect)


EndFunc


Func SetSel($EditSafeHwnd , $CHARRANGE_cr)

$DllCall = DllCall( $Autoit_RichEditCtrl , "none:cdecl" , "SetSel" ,"hwnd" , $EditSafeHwnd , "ptr" , $CHARRANGE_cr)


EndFunc


Func SetSelectionCharFormat($EditSafeHwnd , $CHARFORMAT_cf)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "SetSelectionCharFormat" ,"hwnd" , $EditSafeHwnd , "ptr" , $CHARFORMAT_cf)
Return $DllCall[0]

EndFunc


Func SetTargetDevice($EditSafeHwnd , $CDC_dc , $long_lLineWidth)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "SetTargetDevice" ,"hwnd" , $EditSafeHwnd , "int" , $CDC_dc , "long" , $long_lLineWidth)
Return $DllCall[0]

EndFunc


Func SetWordCharFormat($EditSafeHwnd , $CHARFORMAT_cf)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "SetWordCharFormat" ,"hwnd" , $EditSafeHwnd , "ptr" , $CHARFORMAT_cf)
Return $DllCall[0]

EndFunc


Func StreamIn($EditSafeHwnd , $int_nFormat , $EDITSTREAM_es)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "StreamIn" ,"hwnd" , $EditSafeHwnd , "int" , $int_nFormat , "ptr" , $EDITSTREAM_es)
Return $DllCall[0]

EndFunc


Func StreamOut($EditSafeHwnd , $int_nFormat , $EDITSTREAM_es)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "StreamOut" ,"hwnd" , $EditSafeHwnd , "int" , $int_nFormat , "ptr" , $EDITSTREAM_es)
Return $DllCall[0]

EndFunc


Func Undo($EditSafeHwnd)

$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "Undo" ,"hwnd" , $EditSafeHwnd)
Return $DllCall[0]

EndFunc

Func WINAPILoadLibrary($lpFileName)
    
$DllCall = DllCall( "Kernel32.dll" , "hwnd" , "LoadLibrary" ,"str" , $lpFileName)
Return $DllCall[0]

EndFunc

OleRichEditCtrl.h

OleRichEditCtrl.cpp

<a href="http://www.codeproject.com/KB/edit/COleRichEditCtrl.aspx" target="_blank">http://www.codeproject.com/KB/edit/COleRichEditCtrl.aspx</a>

Edited by wolf9228

صرح السماء كان هنا

 

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

Hi !

Super! Really interesting.

if your work need no external dependencies (other than Autoit_RichEditCtrl.dll), it is great.

Thanks.

Edited by Michel Claveau

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

Re!

Only a little (and old) trick.

For print a RTF file, it is possible to use this command:

VISTA:

"%programfiles%\Windows NT\Accessories\wordpad.exe" monFichier.rtf /p

Seven:

"%programfiles%\Windows NT\Accessories\wordpad.exe" monFichier.rtf /p

XP (french ; others languages must replace "Accessoires")

"%programfiles%\Windows NT\Accessoires\wordpad.exe" monFichier.rtf /p

Edited by Michel Claveau

Share this post


Link to post
Share on other sites

Hi !

Super! Really interesting.

if your work need no external dependencies (other than Autoit_RichEditCtrl.dll), it is great.

Thanks.

I can do Each project By myself

But I need more effort and more time

Thank you :)


صرح السماء كان هنا

 

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

Re!

Only a little (and old) trick.

For print a RTF file, it is possible to use this command:

VISTA:

"%programfiles%\Windows NT\Accessories\wordpad.exe" monFichier.rtf /p

Seven:

"%programfiles%\Windows NT\Accessories\wordpad.exe" monFichier.rtf /p

XP (french ; others languages must replace "Accessoires")

"%programfiles%\Windows NT\Accessoires\wordpad.exe" monFichier.rtf /p

Thanks

Posted Image

PrintDlg Func

Func PrintDlg($EditSafeHwnd , $dwFlags)
$DllCall = DllCall( $Autoit_RichEditCtrl , "int:cdecl" , "CPrint_Dialog"  , "hwnd" , $EditSafeHwnd  , "long" , $dwFlags )
Return $DllCall[0]
EndFuncoÝ÷ Ø­¢+QÈDv+B¶¹Z»v®¶­sb6æ6ÇVFRfÇC´VFD6öç7FçG2æS2fwC°¢6æ6ÇVFRfÇC´uT6öç7FçG4WæS2fwC°¢6æ6ÇVFRfÇCµvæF÷w46öç7FçG2æS2fwC°¢4æ6ÇVFRfÇCµ6VæDÖW76vRæS2fwC°¤vÆö&Â6öç7Bb33c´ÆöDWFöEõ&6VFD7G&ÂÒtäÆöDÆ'&'gV÷C´WFöEõ&6VFD7G&ÂæFÆÂgV÷C²¤vÆö&Â6öç7Bb33c´WFöEõ&6VFD7G&ÂÒFÆÄ÷VâgV÷C´WFöEõ&6VFD7G&ÂæFÆÂgV÷C²  £´Ôd2Æ'&'&VfW&Væ6R£´5&6VFD7G&ÂÖVÖ&W'2£²GG¢òö×6FâæÖ7&÷6ögBæ6öÒöVâ×W2öÆ'&'÷F'36e2ãæ7  ¤gVæ2&6VFD7&VFRb33c¶Gu7GÆRÂb33c´ÂÂb33cµBÂb33cµrÂb33c´Âb33c¶uTÂb33c¶äB¤bb33c¶Gu7GÆRÒFVâb33c¶Gu7GÆRÒ&"b33cµu5ô4ÄBÂb33cµu5ô$õ$DU"Âb33cµu5õe45$ôÄÂÂb33cµu5õd4$ÄRÂb33c´U5ôÕTÅDÄäRÂb33c´U5ôUDõe45$ôÄÂÂb33c´U5õtåE$UEU$â¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶væC¦6FV6ÂgV÷C²ÂgV÷Cµ&6VFD7&VFRgV÷C²ÂgV÷C¶ÆöærgV÷C²Âb33c¶Gu7GÆRÂgV÷C¶çBgV÷C²Âb33c´Âò¢ÂgV÷C¶çBgV÷C²Âb33cµBÂgV÷C¶çBgV÷C²Âb33cµrÂgV÷C¶çBgV÷C²Âb33c´ÂgV÷C¶væBgV÷C²Âb33c¶uTÂgV÷C¶çBgV÷C²Âb33c¶äB¥&WGW&âb33c´FÆÄ6ÆųҲ&WGW&âVFE6fTvæ@¤VæDgVæ0 ¤gVæ2ÆöDfÆRb33c´VFE6fTvæBÂb33c·4fÆTæÖRÒgV÷C²gV÷C²Âb33c¶äf÷&ÖBÒ"£µFRfÇVRöbäf÷&ÖB×W7B&RöæRöbFRföÆÆ÷væp£µ4eõDUBÒæF6FW2&VFærFWBöæÇ⣵4eõ%DbÒ"æF6FW2&VFærFWBæBf÷&ÖGFær⣲GG¢òö×6FâæÖ7&÷6ögBæ6öÒöVâ×W2öÆ'&'ö&¶¦Ræ7 ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷C´ÆöDfÆRgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C·7G"gV÷C²Âb33c·4fÆTæÖRÂgV÷C¶çBgV÷C²Âb33c¶äf÷&ÖB¥&WGW&âb33c´FÆÄ6ÆųҲ²&WGW&âçVÖ&W"öb6&7FW'2&VBg&öÒFRçWB7G&VÐ ¤VæDgVæ0 ¤gVæ26fTfÆRb33c´VFE6fTvæBÂb33c·4fÆTæÖRÒgV÷C²gV÷C²Âb33c¶äf÷&ÖBÒ"£µFRfÇVRöbäf÷&ÖB×W7B&RöæRöbFRföÆÆ÷væs¢£µ4eõDUBÒæF6FW2w&FærFWBöæÇ⣵4eõ%DbÒ"æF6FW2w&FærFWBæBf÷&ÖGFær⣵4eõ%Ddäôô$¥2æF6FW2w&FærFWBæBf÷&ÖGFærÂ&WÆ6ærôÄRFV×2vF76W2⣵4eõDUD¤TBæF6FW2w&FærFWBæBf÷&ÖGFærÂvFFWGVÂ&W&W6VçFFöç2öbôÄRFV×0£¶GG¢òö×6FâæÖ7&÷6ögBæ6öÒöVâ×W2öÆ'&'ö#³vV²æ7 ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷Cµ6fTfÆRgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C·7G"gV÷C²Âb33c·4fÆTæÖRÂgV÷C¶çBgV÷C²Âb33c¶äf÷&ÖB¥&WGW&âb33c´FÆÄ6ÆųҲ&WGW&âçVÖ&W"öb6&7FW'2w&GFVâFòFR÷WGWB7G&VÐ ¤VæDgVæ0     ¤gVæ26WE7G&ærb33c´VFE6fTvæBÂb33cµ7G&ærÒgV÷C²gV÷C²Âb33c¶fÆw2ÒÂb33c¶6öFWvRÒ¢b33c´TÕõ4UEDUDUÒb33cµtÕõU4U"²p£²b33cµ7G&ærÓÒfwC²4eõ%Db÷"4eõDU@£¶fÆw0£´÷FöâfÆw2âB6â&&V6öæ&ÆR6öÖ&æFöâöbFRföÆÆ÷værfÆw2⣵5EôDTdTÅBÒ£´FVÆWFW2FRVæFò7F6²ÂF66&G2&6×FWBf÷&ÖGFærÂ&WÆ6W2ÆÂFWBࣵ5Eô´TUTäD𣴶VW2FRVæFò7F6²à£µ5Eõ4TÄT5Dôࣵ&WÆ6W26VÆV7FöâæB¶VW2&6×FWBf÷&ÖGFærࣶ6öFWvP£µFR6öFRvRW6VBFòG&ç6ÆFRFRFWBFòVæ6öFRâb6öFWvR2#Væ6öFR6öFRvR£¶æòG&ç6ÆFöâ2FöæRâb6öFWvR25ô5ÂFR77FVÒ6öFRvR2W6V@£²GG¢òö×6FâæÖ7&÷6ögBæ6öÒöVâ×W2öÆ'&'ö&#ssSBe2ãRæ7£²GG¢òö×6FâæÖ7&÷6ögBæ6öÒöVâ×W2öÆ'&'ö&#ssSBe2ãRæ7¢b33c·7G'V7E÷6WGFWFWÒgV÷C¶Gv÷&BfÆw3¶çB6öFWvS²gV÷C°¢b33c·7G'V7D7&VFRÒFÆÅ7G'V7D7&VFRb33c·7G'V7E÷6WGFWFW¤FÆÅ7G'V7E6WDFFb33c·7G'V7D7&VFRÂgV÷C¶fÆw2gV÷C²Âb33c¶fÆw2¤FÆÅ7G'V7E6WDFFb33c·7G'V7D7&VFRÂgV÷C¶6öFWvRgV÷C²Âb33c¶6öFWvR¢b33c·D'VffW"ÒFÆÅ7G'V7D7&VFRgV÷C¶6"FWE²gV÷C²fײ7G&ætÆVâb33cµ7G&ær²fײgV÷CµÒgV÷C²¤FÆÅ7G'V7E6WDFFb33c·D'VffW"ÂÂb33cµ7G&ær¢b33c·'VffW"ÒFÆÅ7G'V7DvWEG"b33c·D'VffW"¥&WGW&âõ6VæDÖW76vRb33c´VFE6fTvæBÂb33c´TÕõ4UEDUDUÂFÆÅ7G'V7DvWEG"b33c·7G'V7D7&VFRÂb33c·'VffW"¤VæDgVæ0    ¤gVæ2vWE7G&ærb33c´VFE6fTvæB£µ7G&ærÓÒfwC²4eõDUBöæÇ£¶GG¢òö×6FâæÖ7&÷6ögBæ6öÒöVâ×W2öÆ'&'ö×3c3#c#re2ãRæ7¢b33cµFWDÆVæwFÒvWEFWDÆVæwFb33c´VFE6fTvæB¢b33c·D'VffW"ÒFÆÅ7G'V7D7&VFRgV÷C¶6"FWE²gV÷C²fײb33cµFWDÆVæwF²fײgV÷CµÒgV÷C²¢b33c·'VffW"ÒFÆÅ7G'V7DvWEG"b33c·D'VffW"¥õ6VæDÖW76vRb33c´VFE6fTvæBÂb33cµtÕôtUEDUBÂb33cµFWDÆVæwF²Âb33c·'VffW"¥&WGW&âFÆÅ7G'V7DvWDFFb33c·D'VffW"äVæDgVæ0 ¤gVæ2&çDFÆrb33c´VFE6fTvæBÂb33c¶GtfÆw2¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷C´5&çEôFÆörgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶ÆöærgV÷C²Âb33c¶GtfÆw2¥&WGW&âb33c´FÆÄ6ÆųФVæDgVæ0     £²ÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒУ´Ôd2Æ'&'&VfW&Væ6R£´5&6VFD7G&ÂÖVÖ&W'2£²GG¢òö×6FâæÖ7&÷6ögBæ6öÒöVâ×W2öÆ'&'÷F'36e2ãæ7 ¤gVæ26å7FRb33c´VFE6fTvæBÂb33cµTåEöäf÷&ÖBÒ ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷C´6å7FRgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶çBgV÷C²Âb33cµTåEöäf÷&ÖBÒ¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ26åVæFòb33c´VFE6fTvæB ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷C´6åVæFògV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæB¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ26ÆV"b33c´VFE6fTvæB ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶æöæS¦6FV6ÂgV÷C²ÂgV÷C´6ÆV"gV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæB  ¤VæDgVæ0  ¤gVæ26÷b33c´VFE6fTvæB ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶æöæS¦6FV6ÂgV÷C²ÂgV÷C´6÷gV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæB  ¤VæDgVæ0  ¤gVæ27WBb33c´VFE6fTvæB ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶æöæS¦6FV6ÂgV÷C²ÂgV÷C´7WBgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæB  ¤VæDgVæ0  ¤gVæ2F7Æ&æBb33c´VFE6fTvæBÂb33c´Å$T5E÷F7Æ&V7B ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷C´F7Æ&æBgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C·G"gV÷C²Âb33c´Å$T5E÷F7Æ&V7B¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2V×GVæFô'VffW"b33c´VFE6fTvæB ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶æöæS¦6FV6ÂgV÷C²ÂgV÷C´V×GVæFô'VffW"gV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæB  ¤VæDgVæ0  ¤gVæ2fæEFWBb33c´VFE6fTvæBÂb33c´Etõ$EöGtfÆw2Âb33c´däEDUDU÷fæEFWB ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷C´fæEõFWBgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶ÆöærgV÷C²Âb33c´Etõ$EöGtfÆw2ÂgV÷C·G"gV÷C²Âb33c´däEDUDU÷fæEFWB¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2f÷&ÖE&ævRb33c´VFE6fTvæBÂb33c´dõ$ÔE$ätU÷g"Âb33c´$ôôÅö$F7ÆÒE%TR ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷C·G"gV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C·G"gV÷C²Âb33c´dõ$ÔE$ätU÷g"ÂgV÷C¶çBgV÷C²Âb33c´$ôôÅö$F7Æ¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2vWDWfVçDÖ6²b33c´VFE6fTvæB ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷C´vWDWfVçDÖ6²gV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæB¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2vWDf'7Ef6&ÆTÆæRb33c´VFE6fTvæB ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷C´vWDf'7Ef6&ÆTÆæRgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæB¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2vWDÆÖEFWBb33c´VFE6fTvæB ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷C´vWDÆÖEFWBgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæB¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2vWDÆæRb33c´VFE6fTvæBÂb33c¶çEöäæFWÂb33c´ÅE5E%öÇ7¤'VffW"Âb33c¶çEöäÖÆVæwF ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷C´vWDÆæRgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶çBgV÷C²Âb33c¶çEöäæFWÂgV÷C·G"gV÷C²Âb33c´ÅE5E%öÇ7¤'VffW"ÂgV÷C¶çBgV÷C²Âb33c¶çEöäÖÆVæwF¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2vWDÆæT6÷VçBb33c´VFE6fTvæB ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷C´vWDÆæT6÷VçBgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæB¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2vWDÖöFgb33c´VFE6fTvæB ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷C´vWDÖöFggV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæB¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2vWE&&ÖBb33c´VFE6fTvæBÂb33cµ$dõ$ÔE÷b ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶Æöæs¦6FV6ÂgV÷C²ÂgV÷C´vWE&&ÖBgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C·G"gV÷C²Âb33cµ$dõ$ÔE÷b¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2vWE&V7Bb33c´VFE6fTvæBÂb33c´Å$T5EöÇ&V7B ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶æöæS¦6FV6ÂgV÷C²ÂgV÷C´vWE&V7BgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C·G"gV÷C²Âb33c´Å$T5EöÇ&V7B  ¤VæDgVæ0  ¤gVæ2vWE6VÂb33c´VFE6fTvæBÂb33c´4%$ätUö7" ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶æöæS¦6FV6ÂgV÷C²ÂgV÷C´vWE6VÂgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C·G"gV÷C²Âb33c´4%$ätUö7"  ¤VæDgVæ0  ¤gVæ2vWE6VÆV7Föä6$f÷&ÖBb33c´VFE6fTvæBÂb33c´4$dõ$ÔEö6b ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶Æöæs¦6FV6ÂgV÷C²ÂgV÷C´vWE6VÆV7Föä6$f÷&ÖBgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C·G"gV÷C²Âb33c´4$dõ$ÔEö6b¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2vWE6VÆV7FöåGRb33c´VFE6fTvæB ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶Æöæs¦6FV6ÂgV÷C²ÂgV÷C´vWE6VÆV7FöåGRgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæB¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2vWE6VÅFWBb33c´VFE6fTvæB ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C·7G#¦6FV6ÂgV÷C²ÂgV÷C´vWE6VÅFWBgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæB¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2vWEFWDÆVæwFb33c´VFE6fTvæB ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷C´vWEFWDÆVæwFgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæB¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2FU6VÆV7Föâb33c´VFE6fTvæBÂb33c´$ôôÅö$FRÂb33c´$ôôÅö%W&Ò ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶æöæS¦6FV6ÂgV÷C²ÂgV÷C´FU6VÆV7FöâgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶çBgV÷C²Âb33c´$ôôÅö$FRÂgV÷C¶çBgV÷C²Âb33c´$ôôÅö%W&Ò  ¤VæDgVæ0  ¤gVæ2ÆÖEFWBb33c´VFE6fTvæBÂb33c¶Æöæuöä6'2Ò ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶æöæS¦6FV6ÂgV÷C²ÂgV÷C´ÆÖEFWBgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶ÆöærgV÷C²Âb33c¶Æöæuöä6'2Ò  ¤VæDgVæ0  ¤gVæ2ÆæTg&öÔ6"b33c´VFE6fTvæBÂb33c¶ÆöæuöäæFW ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷C´ÆæTg&öÔ6"gV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶ÆöærgV÷C²Âb33c¶ÆöæuöäæFW¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2ÆæTæFWb33c´VFE6fTvæBÂb33c¶çEöäÆæRÒÓ ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷C´ÆæTæFWgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶çBgV÷C²Âb33c¶çEöäÆæR¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2ÆæTÆVæwFb33c´VFE6fTvæBÂb33c¶çEöäÆæRÒÓ ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷C´ÆæTÆVæwFgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶çBgV÷C²Âb33c¶çEöäÆæR¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2ÆæU67&öÆÂb33c´VFE6fTvæBÂb33c¶çEöäÆæW2Âb33c¶çEöä6'2Ò ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶æöæS¦6FV6ÂgV÷C²ÂgV÷C´ÆæU67&öÆÂgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶çBgV÷C²Âb33c¶çEöäÆæW2ÂgV÷C¶çBgV÷C²Âb33c¶çEöä6'2  ¤VæDgVæ0  ¤gVæ27FRb33c´VFE6fTvæB ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶æöæS¦6FV6ÂgV÷C²ÂgV÷Cµ7FRgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæB  ¤VæDgVæ0  ¤gVæ27FU7V6Âb33c´VFE6fTvæBÂb33cµTåEöä6Æf÷&ÖBÂb33c´Etõ$EöGd7V7BÒÂb33c´ÔUDdÄUöÔbÒ ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶æöæS¦6FV6ÂgV÷C²ÂgV÷Cµ7FU7V6ÂgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶çBgV÷C²Âb33cµTåEöä6Æf÷&ÖBÂgV÷C¶ÆöærgV÷C²Âb33c´Etõ$EöGd7V7BÂgV÷C¶ÆöærgV÷C²Âb33c´ÔUDdÄUöÔb  ¤VæDgVæ0  ¤gVæ2&WÆ6U6VÂb33c´VFE6fTvæBÂb33c´Å5E5E%öÇ7¤æWuFWBÂb33c´$ôôÅö$6åVæFòÒdÅ4R ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶æöæS¦6FV6ÂgV÷C²ÂgV÷Cµ&WÆ6U6VÂgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C·7G"gV÷C²Âb33c´Å5E5E%öÇ7¤æWuFWBÂgV÷C¶çBgV÷C²Âb33c´$ôôÅö$6åVæFò  ¤VæDgVæ0  ¤gVæ2&WVW7E&W6¦Rb33c´VFE6fTvæB ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶æöæS¦6FV6ÂgV÷C²ÂgV÷Cµ&WVW7E&W6¦RgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæB  ¤VæDgVæ0  ¤gVæ26WD&6¶w&÷VæD6öÆ÷"b33c´VFE6fTvæBÂb33c´$ôôÅö%746öÆ÷"Âb33c´4ôÄõ%$Teö7" ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷Cµ6WD&6¶w&÷VæD6öÆ÷"gV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶çBgV÷C²Âb33c´$ôôÅö%746öÆ÷"ÂgV÷C¶çBgV÷C²Âb33c´4ôÄõ%$Teö7"¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ26WDFVfVÇD6$f÷&ÖBb33c´VFE6fTvæBÂb33c´4$dõ$ÔEö6b ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷Cµ6WDFVfVÇD6$f÷&ÖBgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C·G"gV÷C²Âb33c´4$dõ$ÔEö6b¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ26WDWfVçDÖ6²b33c´VFE6fTvæBÂb33c´Etõ$EöGtWfVçDÖ6² ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶Æöæs¦6FV6ÂgV÷C²ÂgV÷Cµ6WDWfVçDÖ6²gV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶ÆöærgV÷C²Âb33c´Etõ$EöGtWfVçDÖ6²¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ26WDÖöFgb33c´VFE6fTvæBÂb33c´$ôôÅö$ÖöFfVBÒE%TR ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶æöæS¦6FV6ÂgV÷C²ÂgV÷Cµ6WDÖöFggV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶çBgV÷C²Âb33c´$ôôÅö$ÖöFfVB  ¤VæDgVæ0  ¤gVæ26WDôÄT6ÆÆ&6²b33c´VFE6fTvæBÂb33c´&6VFDöÆT6ÆÆ&6µ÷6ÆÆ&6² ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷Cµ6WDôÄT6ÆÆ&6²gV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C·G"gV÷C²Âb33c´&6VFDöÆT6ÆÆ&6µ÷6ÆÆ&6²¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ26WD÷Föç2b33c´VFE6fTvæBÂb33cµtõ$E÷t÷Âb33c´Etõ$EöGtfÆw2 ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶æöæS¦6FV6ÂgV÷C²ÂgV÷Cµ6WD÷Föç2gV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶ÆöærgV÷C²Âb33cµtõ$E÷t÷ÂgV÷C¶ÆöærgV÷C²Âb33c´Etõ$EöGtfÆw2  ¤VæDgVæ0  ¤gVæ26WE&f÷&ÖBb33c´VFE6fTvæBÂb33cµ$dõ$ÔE÷b ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷Cµ6WE&f÷&ÖBgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C·G"gV÷C²Âb33cµ$dõ$ÔE÷b¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ26WE&VDöæÇb33c´VFE6fTvæBÂb33c´$ôôÅö%&VDöæÇÒE%TR ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷Cµ6WE&VDöæÇgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶çBgV÷C²Âb33c´$ôôÅö%&VDöæÇ¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ26WE&V7Bb33c´VFE6fTvæBÂb33c´Å5$T5EöÇ&V7B ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶æöæS¦6FV6ÂgV÷C²ÂgV÷Cµ6WE&V7BgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C·G"gV÷C²Âb33c´Å5$T5EöÇ&V7B  ¤VæDgVæ0  ¤gVæ26WE6VÂb33c´VFE6fTvæBÂb33c´4%$ätUö7" ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶æöæS¦6FV6ÂgV÷C²ÂgV÷Cµ6WE6VÂgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C·G"gV÷C²Âb33c´4%$ätUö7"  ¤VæDgVæ0  ¤gVæ26WE6VÆV7Föä6$f÷&ÖBb33c´VFE6fTvæBÂb33c´4$dõ$ÔEö6b ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷Cµ6WE6VÆV7Föä6$f÷&ÖBgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C·G"gV÷C²Âb33c´4$dõ$ÔEö6b¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ26WEF&vWDFWf6Rb33c´VFE6fTvæBÂb33c´4D5öF2Âb33c¶ÆöæuöÄÆæUvGF ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷Cµ6WEF&vWDFWf6RgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶çBgV÷C²Âb33c´4D5öF2ÂgV÷C¶ÆöærgV÷C²Âb33c¶ÆöæuöÄÆæUvGF¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ26WEv÷&D6$f÷&ÖBb33c´VFE6fTvæBÂb33c´4$dõ$ÔEö6b ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷Cµ6WEv÷&D6$f÷&ÖBgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C·G"gV÷C²Âb33c´4$dõ$ÔEö6b¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ27G&VÔâb33c´VFE6fTvæBÂb33c¶çEöäf÷&ÖBÂb33c´TDE5E$TÕöW2 ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷Cµ7G&VÔâgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶çBgV÷C²Âb33c¶çEöäf÷&ÖBÂgV÷C·G"gV÷C²Âb33c´TDE5E$TÕöW2¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ27G&VÔ÷WBb33c´VFE6fTvæBÂb33c¶çEöäf÷&ÖBÂb33c´TDE5E$TÕöW2 ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷Cµ7G&VÔ÷WBgV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæBÂgV÷C¶çBgV÷C²Âb33c¶çEöäf÷&ÖBÂgV÷C·G"gV÷C²Âb33c´TDE5E$TÕöW2¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0  ¤gVæ2VæFòb33c´VFE6fTvæB ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂb33c´WFöEõ&6VFD7G&ÂÂgV÷C¶çC¦6FV6ÂgV÷C²ÂgV÷CµVæFògV÷C²ÂgV÷C¶væBgV÷C²Âb33c´VFE6fTvæB¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0 ¤gVæ2täÆöDÆ'&'b33c¶ÇfÆTæÖR ¢b33c´FÆÄ6ÆÂÒFÆÄ6ÆÂgV÷C´¶W&æVÃ3"æFÆÂgV÷C²ÂgV÷C¶væBgV÷C²ÂgV÷C´ÆöDÆ'&'gV÷C²ÂgV÷C·7G"gV÷C²Âb33c¶ÇfÆTæÖR¥&WGW&âb33c´FÆÄ6ÆųР¤VæDgVæ0oÝ÷ Ø/¾é«­¢+ؼ½¡ÑÑÀè¼½µÍ¸¹µ¥É½Í½Ð¹½´½¸µÕ̽±¥ÉÉä½ÍéÀááйÍÁà)¥¹Ð
AÉ¥¹Ñ}¥±½¡!]9¥ÑM!ݹ°]=Iݱ̤)ì($)
AÉ¥¹Ñ¥±½±¡Ý±Ì±9U10¤ì)¥¡±¹½5½° ¤ôô%=,¤)ì(¼¼
ÉÑÁÉ¥¹ÑÈÙ¥½¹ÑáС¤Í½¸Ñ¡¥¹½ÉµÑ¥½¸(¼¼Í±Ñɽ´Ñ¡AÉ¥¹Ð¥±½¸(!¡ô±¹
ÉÑAÉ¥¹ÑÉ ¤ì(MMIP¡¡¤ì(ÉÑÕɸAÉ¥¹ÑIQ¡¥ÑM!ݹ±¡¤ì)ô(()ÉÑÕɸÀì)ô((¼½¡ÑÑÀè¼½µÍ¸¹µ¥É½Í½Ð¹½´½¸µÕ̽±¥ÉÉä½ÜàÜàÜÔ¡YL¸àÔ¤¹ÍÁà) ==0AÉ¥¹ÑIQ¡!]9¡Ý¹°!¡¤)ì(=
%9

Release.zip

Edited by wolf9228

صرح السماء كان هنا

 

Share this post


Link to post
Share on other sites

#8 ·  Posted (edited)

awesome, you really made my day

that helped my chatting program alot

thanks alot

welcome ... and thank you for nice reply

just noticed you are using an rtf file to drow the filr so still i cant insert a smile with a direct function

do u have any solution or a work around for inserting an image?

sure there is a solution ... I will come back

Edited by wolf9228

صرح السماء كان هنا

 

Share this post


Link to post
Share on other sites

Inserting Objects into Rich Edit Controls

http://msdn.microsoft.com/en-us/library/dd387916%28VS.85%29.aspx

New Autoit_RichEditCtrl.dll

http://www.megafileupload.com/en/file/166215/Release-zip.html

BOOL InsertObject(HWND hRichEdit, LPCTSTR pszFileName)
{
    HRESULT hr;

    // Get the IRichEditOle interface.
    LPRICHEDITOLE pRichEditOle;
    SendMessage(hRichEdit, EM_GETOLEINTERFACE, 0, (LPARAM)&pRichEditOle);
    if (pRichEditOle == NULL)
    {
        return FALSE;
    }

    // Create structured storage.
    LPLOCKBYTES pLockBytes = NULL;

    hr = CreateILockBytesOnHGlobal(NULL, TRUE, &pLockBytes);
    if (FAILED(hr))
    {
        return FALSE;
    }

    LPSTORAGE pStorage;
    hr = StgCreateDocfileOnILockBytes(pLockBytes,
        STGM_SHARE_EXCLUSIVE | STGM_CREATE | STGM_READWRITE, 
        0, &pStorage);
    if (FAILED(hr))
    {
        return FALSE;
    }

    // Set up data format.
    FORMATETC formatEtc;
    formatEtc.cfFormat = 0;
    formatEtc.ptd = NULL;
    formatEtc.dwAspect = DVASPECT_CONTENT;
    formatEtc.lindex = -1;
    formatEtc.tymed = TYMED_NULL;

    // Get an interface to the display site.
    LPOLECLIENTSITE pClientSite;
    hr = pRichEditOle->GetClientSite(&pClientSite);
    if (FAILED(hr))
    {
        return FALSE;
    }


    // Create the object and retrieve its IUnknown.
    LPUNKNOWN pUnk;
    CLSID clsid = CLSID_NULL;
    USES_CONVERSION;
    hr = OleCreateFromFile(clsid,A2OLE((CHAR*) pszFileName),
        IID_IUnknown, OLERENDER_DRAW, &formatEtc, 
        pClientSite, pStorage, (void**)&pUnk);
    pClientSite->Release();
    if (FAILED(hr))
    {
        return FALSE;
    }

    // Get the IOleObject interface to the object.
    LPOLEOBJECT pObject;
    hr = pUnk->QueryInterface(IID_IOleObject, (void**)&pObject);
    pUnk->Release();
    if (FAILED(hr))
    {
        return FALSE;
    }

    // Notify the object that it is contained, so reference counting
    // is done correctly.
    OleSetContainedObject(pObject, TRUE);

    // Set up object info.
    REOBJECT reobject = { sizeof(REOBJECT)};
    hr = pObject->GetUserClassID(&clsid);
    if (FAILED(hr))
    {
        pObject->Release();
        return FALSE;
    }
    reobject.clsid = clsid;
    reobject.cp = REO_CP_SELECTION;
    reobject.dvaspect = DVASPECT_CONTENT;
    reobject.dwFlags = REO_RESIZABLE | REO_BELOWBASELINE;
    reobject.dwUser = 0;
    reobject.poleobj = pObject;
    reobject.polesite = pClientSite;
    reobject.pstg = pStorage;
    SIZEL sizel = { 0 };
    reobject.sizel = sizel;

    // Move the caret to the end of the text and add a CR.
    SendMessage(hRichEdit, EM_SETSEL, 0, -1);
    DWORD dwStart, dwEnd;
    SendMessage(hRichEdit, EM_GETSEL, (WPARAM)&dwStart, (LPARAM)&dwEnd);
    SendMessage(hRichEdit, EM_SETSEL, dwEnd+1, dwEnd+1);
    SendMessage(hRichEdit, EM_REPLACESEL, TRUE, (WPARAM)L"\n"); 

    // Insert the object.
    hr = pRichEditOle->InsertObject(&reobject);

    // Clean up.
    pObject->Release();
    pRichEditOle->Release();

    if (FAILED(hr))
    {
        return FALSE;
    }
    return TRUE;
}

صرح السماء كان هنا

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0