Как изменить edit

В свете того, что очень много приходится работы на починку и добавление, было бы очень полезно сразу выводить разворачиваемое меню edit. Как это можно реализовать?

 geroin47  
 12.07.2021  
 редактирование новостей  
 Все вопросы » Общие вопросы по вёрстке  
 409

вопрос

В свете того, что очень много приходится работы на починку и добавление, было бы очень полезно сразу выводить разворачиваемое меню [edit].
Как это можно реализовать?

Ответа пока нет


5 комментариев

Похожие вопросы

Последние события


  • События
  • Заказы
  • Модули
  • Фото dj-avtosh

    dj-avtosh
    Не подключается файл php через include в шаблоне .tpl ?
    Вчера, 18:13


    у хостера спросите

  • Фото alex2lp

    alex2lp
    Не подключается файл php через include в шаблоне .tpl ?
    Вчера, 16:51


    У меня в панели администрирования сайта есть такие логи: .error.log и .access.log

  • Фото dj-avtosh

    dj-avtosh
    Не подключается файл php через include в шаблоне .tpl ?
    Вчера, 16:48


    это не то, ищите FATAL-логи

  • Фото alex2lp

    alex2lp
    Не подключается файл php через include в шаблоне .tpl ?
    Вчера, 16:34


    [Thu Feb 09 10:08:23.724850 2023] [core:info] [pid 3549553] [client IP:PORT] AH00128: File does not exist: /var/www/user0/data/www/site.by/guru-include/public/css/style.css, referer: http://site.by/onlines.html
    [Thu Feb 09 10:08:23.731598 2023] [core:info] [pid 3529275] [client IP:PORT] AH00128: File does not exist: /var/www/user0/data/www/site.by/guru-include/public/js/app.js, referer: http://site.by/onlines.html
    [Thu Feb 09 10:08:23.734995 2023] [core:info] [pid 3544522] [client IP:PORT] AH00128: File does not exist: /var/www/user0/data/www/site.by/guru-include/public/js/scripts.js, referer: http://site.by/onlines.html
  • Фото dj-avtosh

    dj-avtosh
    Не подключается файл php через include в шаблоне .tpl ?
    Вчера, 14:20


    Никто не умеет гадать — смотрите в логи сервера почему 500

  • Фото Slavchik

    Slavchik
    Разрешения на BBcode по группам при добавлении новости с сайта — модуль GroupBBcode
    Вчера, 14:07


    del

  • Фото eXtErNaL

    eXtErNaL
    Сделать модуль для загрузки документов с электронной подписью
    8-02-2023, 18:19


  • Фото 1191

    1191
    Сделать модуль для загрузки документов с электронной подписью
    8-02-2023, 17:42


    Загружаются PDF файлы, они подписаны электронной подписью, в этой подписи есть все эти поля.

  • Фото lutskboy

    lutskboy
    Сделать модуль для загрузки документов с электронной подписью
    8-02-2023, 14:14


    суть модуля чтоб сделать уникальный ключ? все остальное имя фамилия дата откуда должно браться? дата с новости. фио с доп поля?

  • Фото FC1488SM

    FC1488SM
    Как сделать «Показать полностью», если текст больше N символов?
    8-02-2023, 08:37


    По поводу длины понял, есть проблема: тексты зависят от самого длинного текста, то есть если он увеличивается допустим на высоту 50px, то и другие тексты увеличиваются на столько же, как убрать эту зависимость элементов?

  • Сделать модуль для загрузки докум… 3
  • Парсер информации с кинопоиска 1
  • Лимит на скачивание файлов 2
  • Сделать чат с информером 0
  • В зависимости от страны пользоват… 5
  • Генерировать случайный уникальный… 0
  • У доп поля тип Список в некоторых… 1
  • DLE 13.2+ модуль вопрос-ответ 5
  • Добавление, редактирование новост… 0
  • DLE 14 + Сторонний php скрипт (+н… 2
  • Разрешения на BBcode по группам п… 1
  • Ajax search template 0
  • Index post 0
  • Extended category menu 0
  • Постраничная Ajax навигация для т… 0
  • Who rated | Список пользователей … 0
  • Who download | Список пользовател… 0
  • Защищенная ссылка для аттачментов… 0
  • DLE Dynamic xField 0
  • DLE xField Tab PRO 0

Edit представляет собой однострочное редактируемое тестовое поле. Оно помогает вводить или отображать текстовые  строки, с его помощью можно сделать поле для ввода паролей для авторизации пользователей.

Центральное свойство компонента свойство Text, оно содержит отображаемую строку.

С помощью обработчика события onChange можно контролировать вводимый пользователем текст.

Код примера:

Edit2.Font.Size:=10+ length(Edit1.Text);
if length(Edit1.Text)>3 then Edit2.Color:=clYellow;
if length(Edit1.Text)<=3 then Edit2.Color:=clAqua;
if length(Edit1.Text)>6 then Edit2.Color:=clLime;
Edit2.Text:=Edit1.Text;

Для автоматического преобразования вводимых букв в заглавные или прописные используйте свойство компонента CharCase:

Edit1.CharCase:=ecLowerCase; //Всегда прописные буквы
Edit1.CharCase:=ecUpperCase; //Всегда заглавные буквы

Если есть вопросы, спрашивайте в комментариях, вам всегда помогут!

Свойство

Описание

property AutoSelect: Boolean;

Будет ли выделяться весь текст в момент получения Edit-ом фокуса ввода.

property AutoSelect: Boolean;

Если BorderStyle=bsSingle и AutoSelect содержит значение True, то при изменении свойства Font.Size высота компонента автоматически меняется. 

property CanUndo: Boolean;

Если значение True, то изменения внесенные пользователем в поле Text, можно отменить методом Undo.  

TEditCharCase = (ecNormal, ecUpperCase, ecLowerCase);

property  CharCase: TEditCharCase;

Способ автоматического преобразования регистра букв:

ecNormal — без преопразования;

ecUpperCase — все буквы прописные;

ecLowerCase — все буквы строчные. 

property HideSelection: Boolean;

Если значение False, то выделение текста сохраняется при потере Text фокуса ввода. 

property MaxLenght: Integer;

Максимальная длина текстовой строки, если значение 0 — длина не ограничена.

property Modified: Boolean;

Если текст был изменен, содержит значение True.

property OnChange: TNotifyEvent;

Обработчик события OnChange, оно возникает при любом изменении текста в текстовом поле.

property OEMConvert: Boolean;

Значение True, если необходимо перекодировать текст из кодировки MS-DOS в Windows, False если обратно.

property PasswordChar: Char;

Если симпол Char определен, он заменит собой любой другой символ введенный пользователем в текстовое поле, обычно используется для ввода паролей.

property ReadOnly: Boolean;

Если значение True, текст текстового поля нельзя изменить.

property SelLength: Integer;

Длина выделенной части текста.

property SelStart: Integer;

Номер первого символа выделенной части текста.

property SelText: String;

Выделенная часть текста.

property Text: String;

Весь текст.

Методы компонента Edit.

Метод

procedure Clear;

Очистить весь текст в текстовом поле.

procedure ClearSelection;

Удалить выделенный текст.

procedure ClearUndo;

Очищает буфер Undo.

prodedure CopyToClipboard;

Выделенный текст копируется в буфер обмена.

prodedure CutToClipboard;

Копирует выделенный текст в буфер обмена, после чего удаляет выделенный текст из текстового поля.

function GetSelNextBuf (Buffer: PChar; BufSize: Integer): Integer;

Копирует не более BufSize символов выделенного текста в буфер Buffer; 

procedure PasteFromClipboard;

Заменяет выделенный текст содержимым буфера обмена или если нет выделенного текста копирует содержимое буфера, в позицию текстового курсора.

procedure SelectAll;

Выделяет весь текст.

procedure SetSelTextBuf (Buffer: PChar);

Заменяет выделенный текст содержимым буфера (Buffer) или если нет выделенного текста копирует содержимое буфера, в позицию текстового курсора.

procedure Undo;

Восстанавливает в текстовом поле текст который был до получения фокуса ввода.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
#include "stdafx.h"
#include "Turns Counter.h"
#include <windowsx.h>
#include <string>
#include <commdlg.h>
#include <commctrl.h>
#include <mmsystem.h>
 
#pragma comment(linker, "/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"")
 
#define MAX_LOADSTRING 100
 
HINSTANCE hInst;
TCHAR szTitle[MAX_LOADSTRING];
TCHAR szWindowClass[MAX_LOADSTRING];
 
ATOM                MyRegisterClass(HINSTANCE hInstance);
BOOL                InitInstance(HINSTANCE, int);
LRESULT CALLBACK    WndProc(HWND, UINT, WPARAM, LPARAM);
HFONT hFont;
HFONT hFont1;
HFONT hFont2;
HBRUSH hBrush;
HBRUSH hBrush1;
HWND hE[7];
INT count = 0;
BOOL score_type = false;
 
int APIENTRY _tWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPTSTR  lpCmdLine, _In_ int   nCmdShow)
{
    UNREFERENCED_PARAMETER(hPrevInstance);
    UNREFERENCED_PARAMETER(lpCmdLine);
 
    MSG msg;
    HACCEL hAccelTable;
 
    LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
    LoadString(hInstance, IDC_TURNSCOUNTER, szWindowClass, MAX_LOADSTRING);
    MyRegisterClass(hInstance);
 
    if(!InitInstance (hInstance, nCmdShow)) return FALSE;
 
    hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_TURNSCOUNTER));
 
    while(GetMessage(&msg, NULL, 0, 0))
    {
        if(TranslateAccelerator(msg.hwnd, hAccelTable, &msg) != 0) continue;
 
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return (int)msg.wParam;
}
ATOM MyRegisterClass(HINSTANCE hInstance)
{
    WNDCLASSEX wcex;
 
    wcex.cbSize = sizeof(WNDCLASSEX);
 
    wcex.style          = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc    = WndProc;
    wcex.cbClsExtra     = 0;
    wcex.cbWndExtra     = 0;
    wcex.hInstance      = hInstance;
    wcex.hIcon          = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_TURNSCOUNTER));
    wcex.hCursor        = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground  = (HBRUSH)(COLOR_WINDOW + 1);
    wcex.lpszMenuName   = MAKEINTRESOURCE(IDC_TURNSCOUNTER);
    wcex.lpszClassName  = szWindowClass;
    wcex.hIconSm        = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
 
    return RegisterClassEx(&wcex);
}
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
    hInst = hInstance;
 
    hBrush = CreateSolidBrush(RGB(180, 180, 180));
    hBrush1 = CreateSolidBrush(RGB(103, 107, 95));
    //AddFontResource(L"Digiface");
 
    hFont = CreateFontW(16, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, L"Arial");
 
    RECT resolut; GetWindowRect(GetDesktopWindow(), &resolut);
 
    int x = (resolut.right - 492) / 2;
    int y = (resolut.bottom - 170) / 2;
 
    HWND hWnd = CreateWindowExW(NULL, szWindowClass, szTitle, WS_SYSMENU, x, y, 492, 170, NULL, NULL, hInstance, NULL);
    if(!hWnd) return FALSE;
 
    SendMessageW(hWnd, WM_SETFONT, WPARAM(hFont), TRUE);
 
    ShowWindow(hWnd, nCmdShow);
    UpdateWindow(hWnd);
 
    return TRUE;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch(message)
    {
        case WM_CREATE:
        {
            hFont1 = CreateFontW(124, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, L"Digiface");
            hFont2 = CreateFontW(17, 0, 0, FW_BOLD, FW_DONTCARE, TRUE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, L"Arial");
 
            hE[0] = CreateWindowEx(WS_EX_TRANSPARENT, WC_STATIC, NULL, WS_CHILD | WS_VISIBLE | ES_RIGHT, 7, -15, 455, 110, hWnd, NULL, hInst, NULL);
            hE[1] = CreateWindowEx(WS_EX_CLIENTEDGE, WC_EDIT, NULL, WS_CHILD | WS_VISIBLE | ES_NUMBER | ES_RIGHT, 10, 100, 88, 20, hWnd, NULL, hInst, NULL);
            hE[2] = CreateWindowEx(WS_EX_WINDOWEDGE, WC_BUTTON, L"Установить", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 103, 100, 104, 20, hWnd, (HMENU)1, hInst, NULL);
            hE[3] = CreateWindowEx(WS_EX_WINDOWEDGE, WC_BUTTON, L"Сброс", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 214, 100, 70, 20, hWnd, (HMENU)2, hInst, NULL);
            hE[4] = CreateWindowEx(WS_EX_WINDOWEDGE, WC_BUTTON, L"Прибавлять", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 291, 100, 100, 20, hWnd, (HMENU)3, hInst, NULL);
            hE[5] = CreateWindowEx(WS_EX_WINDOWEDGE, WC_BUTTON, L"-1", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 398, 100, 30, 20, hWnd, (HMENU)4, hInst, NULL);
            hE[6] = CreateWindowEx(WS_EX_WINDOWEDGE, WC_BUTTON, L"+1", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 435, 100, 30, 20, hWnd, (HMENU)5, hInst, NULL);
 
            SendMessage(hE[0], WM_SETFONT, WPARAM (hFont1), TRUE);
            SendMessage(hE[1], WM_SETFONT, WPARAM (hFont2), TRUE);
            SendMessage(hE[2], WM_SETFONT, WPARAM (hFont2), TRUE);
            SendMessage(hE[3], WM_SETFONT, WPARAM (hFont2), TRUE);
            SendMessage(hE[4], WM_SETFONT, WPARAM (hFont2), TRUE);
            SendMessage(hE[5], WM_SETFONT, WPARAM (hFont2), TRUE);
            SendMessage(hE[6], WM_SETFONT, WPARAM (hFont2), TRUE);
 
            SetWindowTextA(hE[0], "0");
            break;
        }
        case WM_COMMAND:
        {
            switch(LOWORD(wParam))
            {
                case 1:
                {
                    if(GetWindowTextLengthW(hE[1]) < 1) break;
                    CHAR buffer[11]; GetWindowTextA(hE[1], buffer, sizeof(buffer));
                    SetWindowTextA(hE[0], buffer);
                    SetWindowTextA(hE[1], "");
                    count = atoi(buffer);
 
                    break;
                }
                case 2:
                {
                    count = 0;
                    SetWindowTextA(hE[0], "0");
                    break;
                }
                case 3:
                {
                    if((score_type = !score_type)) SetWindowTextA(hE[4], "Отнимать");
                    else SetWindowTextA(hE[4], "Прибавлять");
                    break;
                }
                case 4:
                {
                    count--;
                    char buffer[13]; _itoa_s(count, buffer, 10);
                    SetWindowTextA(hE[0], buffer);
                    break;
                }
                case 5:
                {
                    count++;
                    char buffer[13]; _itoa_s(count, buffer, 10);
                    SetWindowTextA(hE[0], buffer);
                    break;
                }
                default: return DefWindowProcW(hWnd, message, wParam, lParam);
            }
            break;
        }
        case WM_PAINT:
        {
            PAINTSTRUCT ps;
            HDC hdc = BeginPaint(hWnd, &ps);
            RECT r; r.left = 0;  r.right = 492; r.top = 0; r.bottom = 170; 
            FillRect(hdc, &r, hBrush);
            r.left = 10; r.right = 465; r.top = 10; r.bottom = 91;
            FillRect(hdc, &r, hBrush1);
            EndPaint(hWnd, &ps);
            break;
        }
        case WM_CTLCOLORSTATIC:
        {
            if(hE[0] == (HWND)lParam)
            {
                HDC hdc = (HDC)wParam;
                SetBkMode(hdc, TRANSPARENT);
                return (INT_PTR)GetStockObject(NULL_BRUSH);
            }
            break;
        }
        case WM_DESTROY:
        {
            DeleteObject(hBrush);
            DeleteObject(hBrush1);
            DeleteObject(hFont);
            DeleteObject(hFont1);
            DeleteObject(hFont2);
            PostQuitMessage(0);
            break;
        }
        default: return DefWindowProcW(hWnd, message, wParam, lParam);
    }
    return 0;
}

Онлайн-редактор позволяет редактировать PDF-файлы. Вы можете добавить текст, вставить изображение, нарисовать прямоугольники, круги и стрелки, выделить абзац, вырезать и скопировать часть документа.



Перетащите файлы сюда


Введите URL


Dropbox


Google Диск

Редактируйте PDF-файлы онлайн

бесплатно в любом месте

Как редактировать PDF-файл

Для загрузки перетащите файл в поле выше. Вы также можете загрузить документ с компьютера или из облака.

Вот как работает универсальный PDF-редактор. Слева вы видите миниатюры страниц. Выберите ту, которую хотите отредактировать. Над страницей в режиме предварительного просмотра надо выбрать нужное действие. Там же доступны дополнительные действия (отменить, вернуть изменение, увеличить). Чтобы изменить цвет или шрифт, откройте меню «Опции».

Редактируйте PDF-документы онлайн

Чтобы отредактировать файл Adobe PDF, не надо ничего скачивать или устанавливать. Просто используйте онлайн-студию PDF2Go — это бесплатно!

Забудьте о вредоносных программах и вирусах, не забивайте жёсткий диск. Отредактируйте PDF-документ онлайн и скачайте готовый файл!

Зачем нужен PDF-редактор?

Хотите добавить пометки в PDF-файл? Выделить самую важную часть или основные абзацы? Наверное, придётся распечатать файл…

А вот и нет! Благодаря PDF2Go вы можете рисовать в PDF-файле, добавлять изображения и водяные знаки, а также обрезать и копировать отдельные части документа.

Редактируйте у нас — это безопасно

Не беспокойтесь о безопасности! Все файлы, загруженные на PDF2Go, обрабатываются автоматически. Только у вас есть доступ к содержимому файла.

Все права собственности на PDF-файл сохраняются за вами.

Если у вас остались вопросы, ознакомьтесь с Политикой конфиденциальности.

Можно ли отредактировать PDF-файл?

Конечно! PDF2Go позволяет редактировать любые PDF-файлы — с таблицами, изображениями, текстом.

Документы:

Adobe PDF

Редактируйте PDF-файлы в любом удобном месте

Вам не нужен компьютер, чтобы редактировать PDF-документы. Название PDF2Go говорит само за себя. Всё, что вам нужно, — это надёжное подключение к сети.

PDF2Go работает на смартфонах, планшетах, компьютерах и ноутбуках с такими браузерами, как Chrome, Opera, Safari, Firefox и не только!

Как можно изменить цвет текста в Edit’е?
Решить данную проблему пробовал как с использованием диалоговой панели «Цвет», так и с использованием диалогового окна «Шрифт»:

Код:

Var lf:LOGFONT;
     hParentDC:HDC;
     Font:HFONT;
     CF:TCHOOSEFONT;
     acrCustClr:array[0..15] of COLORREF;
     …
function WndProc(wnd:HWND; msg, wParam, lPapram:longint):longint; stdcall;
begin
result:=DefWindowProc(wnd, msg, wParam, lParam);
case msg of
WM_CREATE: begin
           hParentDC:=GetDC(Edit);
           lf.lfHeight:= -MulDiv( 10, GetDeviceCaps(hParentDC,LOGPIXELSY), 72);
           lf.lfWidth:= 0;
           lf.lfEscapement:= 0;
           lf.lfOrientation:=0;
           lf.lfWeight:= FW_NORMAL;
           lf.lfItalic:= 0;
           lf.lfUnderline:= 0;
           lf.lfStrikeOut:= 0;
           lf.lfCharSet:= ANSI_CHARSET;
           lf.lfOutPrecision:= OUT_TT_PRECIS;
           lf.lfClipPrecision:= CLIP_DEFAULT_PRECIS;
           lf.lfQuality:= DEFAULT_QUALITY;
           lf.lfPitchAndFamily:= DEFAULT_PITCH or FF_DONTCARE;
           lf.lfFaceName:=’Arial’;
           Font:=CreateFontIndirect(lf);
           Edit:=CreateWindowEx(0,’Edit’,»,WS_CHILD or WS_VISIBLE or ES_MULTILINE or
                                ES_AUTOVSCROLL or WS_VSCROLL, 0, 0, 0, 0, wnd,
                                HMENU(20), hInstance, nil);
           SendMessage(Edit, WM_SETFONT, integer(Font),MakelParam(0,1));
           SetFocus(Edit);

           //Инициализация диалога «Цвет»
           FillChar(CC, SizeOf(TCHOOSECOLOR),0);
           CC.lStructSize:=SizeOf(TCHOOSECOLOR);
           CC.hWndOwner:=wnd;
           CC.hInstance:=hInstance;
           CC.lpCustColors:=@acrCustClr;
           CC.Flags:=CC_FULLOPEN;

           //Инициализация диалога «Шрифт»
           FillChar(CF, SizeOf(TCHOOSEFONT),0);
           CF.lStructSize:=SizeOf(TCHOOSEFONT);
           CF.hWndOwner:=Wnd;
           CF.lpLogFont:=@lf;
           CF.Flags:=CF_SCREENFONTS or CF_EFFECTS;
           CF.hDC:=hParentDC;
           end;
WM_COMMAND: case wParam of
                      118: begin //Использование диалога «Цвет»
                             ChooseColor(CC);
                             CF.rgbColors:=CC.rgbResult;
                             Font:=CreateFontIndirect(CF.lpLogFont^);
                             PrevFont:=SelectObject(hParentDC, Font);
                       SendMessage(Edit, WM_SETFONT, Font, MakelParam(0, 1));
                             SetFocus(Edit);
                             end;
                      119: begin //Использование диалога «Шрифт»
                             ChooseFont(CF);
                             Font:=CreateFontIndirect(CF.lpLogFont^);
                             PrevFont:=SelectObject(hParentDC, Font);
       SendMessage(Edit, WM_SETFONT, integer(PrevFont),MakelParam(0,1));
                             SetFocus(Edit);
                             end;
                      end;
end;
end;

Диалог «Шрифт» изменяет шрифт текста. Цвет текста остаётся без изменений (чёрным). Даже явное задание цвета ни к чему не приведёт:

Код:

CF.rgbColors:=RGB(255, 0, 0);

Также пробовал решить проблему так:

Код:

SetTextColor(hParentDC, CF.rgbColors);

SetTextColor(hParentDC, CC.rgbResult);

Возникают проблемы и при изменении цвета фона Edit’a.
Цвет фона изменяю так:

Код:

function WndProc(wnd:HWND; msg, wParam, lParam:longint):longint; stdcall;
Begin
result:=DefWindowProc(wnd, msg, wParam, lParam);
case msg of
WM_COMMAND: case wParam of
                      …
                      117: begin
                             ChooseColor(CC);
                         SendMessage(Edit, WM_CTLCOLOREDIT, hParentDC, Edit);
                             SetFocus(Edit);
                             end;
                        end;
WM_CTLCOLOREDIT: begin
                             SetBkColor(HDC(wParam), CC.rgbResult);
                             result:=longint(CreateSolidBrush(CC.rgbResult));
                             end;
end;
End;

В этом случае цвет фона Edit’а изменяется, но возникают серьёзные проблемы с прорисовкой всего окна в случае многострочного редактора текста. При этом также следует учесть, что строка

Код:

result:=DefWindowProc(wnd, msg, wParam, lParam)

должна предшествовать обработке сообщений; в противном случае цвет фона не изменяется.

Понравилась статья? Поделить с друзьями:
  • Как изменить cvc код банковской карты сбербанка
  • Как изменить e mail учетной записи microsoft
  • Как изменить ctrl shift на alt shift windows 10
  • Как изменить e mail на авито
  • Как изменить dx код на пленке