Что нового

[GUIEdit UDF] Стандартный цвет текста при состоянии DISABLE

firex

AutoIT Гуру
Сообщения
943
Репутация
208
Доброго времени суток.

Требуется создавать элементы Label средствами WinAPI, не долго думая сделал так:
Код:
$hExampleEdit = _GUICtrlEdit_Create( $hWnd, $sText, $iX, $iY, $iW, $iH, BitOR( $ES_MULTILINE, $ES_AUTOVSCROLL ), $WS_EX_TRANSPARENT )
WinSetState( $hExampleEdit, '', @SW_DISABLE )


Однако из-за состояния Disable Windows меняет фон и цвет текста( серые оттенки ). Если проблему со сменой фона я решил таким образом:
Код:
Func _Ilum_WndProc($hWnd, $iMsg, $wParam, $lParam)
	Switch $iMsg
		Case $WM_CTLCOLORSTATIC
			If $lParam = $hExampleEdit Then _
				Return
    EndSwitch
    Return _WinAPI_DefWindowProc($hWnd, $iMsg, $wParam, $lParam)
EndFunc

То с самим текстом подобные трюки не проходят. RichEdit не предлагать, с ним возникают нерешаемые проблемы.
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
А если поставить не DISABLE, а readonly?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
firex,
Поменяйте в функции _GUICtrlEdit_Create() $__EDITCONSTANT_ClassName на Static, стили и расширенные стили подберите нужные, и создавайте элемент Label.
 
Автор
firex

firex

AutoIT Гуру
Сообщения
943
Репутация
208
madmasles
Идея ясна. Править встроенные библиотеки не стану, однако отдельную UDF сделаю.

Благодарю.
 
Верх