johnmarshall
Осваивающий
- Сообщения
- 192
- Репутация
- 35
всем привет, прошу помощи) не нашел на форуме, поэтому создаю тему.
собственно сабж:
не получается скрыть каретку ввода в richedit
окно создается, каретки нету. если нажать в поле richedit, то появляется. если 2 раза кликнуть, выделяется текст, а потом еще раз, то каретка пропадает. посмотрел "RichEditConstants.au3", кроме $ENM_MOUSEEVENTS ничего подходящего не нашел, подозреваю что при "$ENM_KEYEVENTS" каретка будет появляться. помогите)
пробую так (quick and dirty):
P.S.
попробовал добавить:
все-равно небольшое мерцание появляется(
собственно сабж:
не получается скрыть каретку ввода в richedit
окно создается, каретки нету. если нажать в поле richedit, то появляется. если 2 раза кликнуть, выделяется текст, а потом еще раз, то каретка пропадает. посмотрел "RichEditConstants.au3", кроме $ENM_MOUSEEVENTS ничего подходящего не нашел, подозреваю что при "$ENM_KEYEVENTS" каретка будет появляться. помогите)
пробую так (quick and dirty):
Код:
#cs ------------------------------------------------------------------------
Версия AutoIt: 3.3.14.2
Автор: myName
Описание: Шаблон программы на языке AutoIt
#ce ------------------------------------------------------------------------
; Код программы
#include <GuiRichEdit.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPIRes.au3>
Global $hRichEdit
Global $hGui
Main()
Func Main()
Local $iCp1, $lblMsg
$hGui = GUICreate(StringTrimRight(@ScriptName, 4), 420, 350, -1, -1)
$hRichEdit = _GUICtrlRichEdit_Create($hGui, 'Это тест.', 10, 10, 400, 220, _
BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL, $ES_READONLY))
$lblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60)
_GUICtrlRichEdit_AutoDetectURL($hRichEdit, True)
_GUICtrlRichEdit_AppendText($hRichEdit, @CR & "http://www.autoitscript.com")
GUISetState()
_WinAPI_HideCaret($hGui)
_WinAPI_HideCaret($hRichEdit)
_WinAPI_DestroyCaret()
GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
_GUICtrlRichEdit_Destroy($hRichEdit)
GUIDelete()
Exit
EndSwitch
WEnd
EndFunc ;==>Main
Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
Local $nNotifyCode = BitShift($wParam, 16)
_WinAPI_HideCaret($hGui)
_WinAPI_HideCaret($hRichEdit)
_WinAPI_DestroyCaret()
Switch $lParam
Case GUICtrlGetHandle($hRichEdit)
Switch $nNotifyCode
Case $ENM_MOUSEEVENTS
_WinAPI_HideCaret($hGui)
_WinAPI_HideCaret($hRichEdit)
_WinAPI_DestroyCaret()
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFUnc
P.S.
попробовал добавить:
Код:
While 1
_WinAPI_HideCaret($hGui)
_WinAPI_HideCaret($hRichEdit)
_WinAPI_DestroyCaret()
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
_GUICtrlRichEdit_Destroy($hRichEdit)
GUIDelete()
Exit
EndSwitch
WEnd
все-равно небольшое мерцание появляется(