Автор Тема: Часть Edit жирным шрифтом  (Прочитано 325 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн joparezzz [?]

  • Новичок
  • *
  • Сообщений: 62
  • Репутация: 0
  • Пол: Мужской
    • Награды
Часть Edit жирным шрифтом
« Создано: Апрель 05, 2018, 11:26:39 »
Как сделать часть значения Edit (названия шкафов) жирным шрифтом?
Код: AutoIt [Выделить]
#include <AutoItConstants.au3>
#include <GUIConstants.au3>
#include <GUIComboBox.au3>
#include <GUIListBox.au3>
#include <WinAPI.au3>
#include <FontConstants.au3>
#include <ColorConstants.au3>
#include <GuiRichEdit.au3>

Global $aCombo[6] = [5], $aValues[6] = [5], $aValuesC[6] = [5], $iFocusIndex, $iEdit, $iList, $iListC
Global $aInfo[][] = [["Шкафа связи", "?x?x?", "600x600x2100", "# ", "#Комментарий 1", "#Комментарий 2"], _
        ["ШТМ", "?x?x?", "800x600x2000", "1000x600x2000"], _
        ["Шкаф ЗИП", "?x?x?", "600х450х700", "600х600х800"], _
        ["ШОС", "?x?x?", "600x600x2000", "600x600x2160"], _
        ["ШУМПС", "?x?x?", "600х250х800"]]

$hGui = GUICreate("", 330+400, 330)
$iList = GUICtrlCreateList("", 170, 10, 150, 150-78)
$iListC = GUICtrlCreateList("", 170, 90, 150, 150-78)
;$iEdit = GUICtrlCreateEdit("", 10, 170, 310+400, 150)
$iEdit = _GUICtrlRichEdit_Create($hGui, "", 10, 170, 310+400, 150 , BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
_CreateCombo()
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
GUISetState()

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $aCombo[1]
            _UpdateList(1)
        Case $aCombo[2]
            _UpdateList(2)
        Case $aCombo[3]
            _UpdateList(3)
        Case $aCombo[4]
            _UpdateList(4)
        Case $aCombo[5]
            _UpdateList(5)
        Case $iList
            _UpdateEdit()
        Case $iListC
            _UpdateEdit()
    EndSwitch
WEnd

Func _CreateCombo()
    Local $iY = 10
    For $i = 1 To $aCombo[0]
        $aCombo[$i] = GUICtrlCreateCombo("", 10, $iY, 150, 20, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
        For $j = 0 To UBound($aInfo) - 1
            GUICtrlSetData($aCombo[$i], $aInfo[$j][0])
            ;GUICtrlSetFont($aCombo[$i], 11, 800, 0, "Calibri")
        Next
        $iY += 30
    Next
EndFunc   ;==>_CreateCombo

Func _UpdateList($iIndex)
    Local $iSel = _GUICtrlComboBox_GetCurSel($aCombo[$iIndex])
    If $iSel >= 0 Then
        GUICtrlSetData($iList, "")
        GUICtrlSetData($iListC, "")
        For $i = 1 To UBound($aInfo, $UBOUND_COLUMNS) - 1
            If $aInfo[$iSel][$i] And StringLeft($aInfo[$iSel][$i], 1) <> '#' Then GUICtrlSetData($iList, $aInfo[$iSel][$i])
            If StringLeft($aInfo[$iSel][$i], 1) = '#' Then GUICtrlSetData($iListC, StringTrimLeft($aInfo[$iSel][$i], 1))
        Next
    EndIf
EndFunc   ;==>_UpdateList

Func _UpdateEdit()
    Local $sData
    If _GUICtrlListBox_GetCurSel($iList) >= 0 Or _GUICtrlListBox_GetCurSel($iListC) >= 0 Then
        $aValues[$iFocusIndex] = GUICtrlRead($iList)
        $aValuesC[$iFocusIndex] = GUICtrlRead($iListC)
        For $i = 1 To $aCombo[0]
            If $aValues[$i] Or  $aValuesC[$i] Then
                $sData &= '• '
                _GUICtrlRichEdit_AppendText($iEdit, $sData)
                $sData &= GUICtrlRead($aCombo[$i]) & ": "
                _GUICtrlRichEdit_SetCharAttributes($iEdit, "+bo")
                _GUICtrlRichEdit_AppendText($iEdit, $sData)
                _GUICtrlRichEdit_SetCharAttributes($iEdit, "-bo")
                $sData &= $aValues[$i] & " мм (ШхГхВ); " & $aValuesC[$i] & @CRLF
                _GUICtrlRichEdit_AppendText($iEdit, $sData)
            Else
            EndIf
        Next
        ;GUICtrlSetData($iEdit, $sData)
        _GUICtrlRichEdit_SetText($iEdit, $sData)


    EndIf
EndFunc   ;==>_UpdateEdit

Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
    Switch _WinAPI_HiWord($wParam)
        Case $CBN_SETFOCUS
            Switch _WinAPI_LoWord($wParam)
                Case $aCombo[1]
                    $iFocusIndex = 1
                    _UpdateList(1)
                Case $aCombo[2]
                    $iFocusIndex = 2
                    _UpdateList(2)
                Case $aCombo[3]
                    $iFocusIndex = 3
                    _UpdateList(3)
                Case $aCombo[4]
                    $iFocusIndex = 4
                    _UpdateList(4)
                Case $aCombo[5]
                    $iFocusIndex = 5
                    _UpdateList(5)
            EndSwitch
    EndSwitch
EndFunc   ;==>WM_COMMAND

 


Русское сообщество AutoIt

Часть Edit жирным шрифтом
« Отправлен: Апрель 05, 2018, 11:26:39 »

Онлайн Tempo [?]

  • Продвинутый
  • ***
  • Сообщений: 404
  • Репутация: 92
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Часть Edit жирным шрифтом
« Ответ #1, Отправлен: Апрель 05, 2018, 15:44:07 »

Русское сообщество AutoIt

Re: Часть Edit жирным шрифтом
« Ответ #1 Отправлен: Апрель 05, 2018, 15:44:07 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
6 Ответов
1993 Просмотров
Последний ответ Июнь 23, 2014, 20:04:03
от alex33
8 Ответов
4631 Просмотров
Последний ответ Апрель 15, 2015, 11:11:34
от S_K
1 Ответов
791 Просмотров
Последний ответ Июнь 07, 2015, 06:12:00
от madmasles
12 Ответов
3480 Просмотров
Последний ответ Июнь 09, 2015, 10:51:54
от InnI
0 Ответов
967 Просмотров
Последний ответ Июнь 08, 2015, 09:06:12
от Yashied
30 Ответов
8173 Просмотров
Последний ответ Июнь 13, 2015, 09:18:25
от mikzin
3 Ответов
1334 Просмотров
Последний ответ Июль 06, 2015, 16:56:38
от alex33
2 Ответов
2664 Просмотров
Последний ответ Июль 18, 2015, 17:54:21
от alex33
0 Ответов
782 Просмотров
Последний ответ Июль 18, 2015, 16:51:12
от madmasles
8 Ответов
2202 Просмотров
Последний ответ Август 15, 2017, 17:40:20
от Maildog