geroin47
12.07.2021
редактирование новостей
Все вопросы » Общие вопросы по вёрстке
409
вопрос
В свете того, что очень много приходится работы на починку и добавление, было бы очень полезно сразу выводить разворачиваемое меню [edit].
Как это можно реализовать?
Ответа пока нет
5 комментариев
Похожие вопросы
Последние события
- События
- Заказы
- Модули
-
dj-avtosh
Не подключается файл php через include в шаблоне .tpl ?
Вчера, 18:13
у хостера спросите
-
alex2lp
Не подключается файл php через include в шаблоне .tpl ?
Вчера, 16:51
У меня в панели администрирования сайта есть такие логи: .error.log и .access.log
-
dj-avtosh
Не подключается файл php через include в шаблоне .tpl ?
Вчера, 16:48
это не то, ищите FATAL-логи
-
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
Не подключается файл php через include в шаблоне .tpl ?
Вчера, 14:20
Никто не умеет гадать — смотрите в логи сервера почему 500
-
Slavchik
Разрешения на BBcode по группам при добавлении новости с сайта — модуль GroupBBcode
Вчера, 14:07
del
-
eXtErNaL
Сделать модуль для загрузки документов с электронной подписью
8-02-2023, 18:19 -
1191
Сделать модуль для загрузки документов с электронной подписью
8-02-2023, 17:42
Загружаются PDF файлы, они подписаны электронной подписью, в этой подписи есть все эти поля.
-
lutskboy
Сделать модуль для загрузки документов с электронной подписью
8-02-2023, 14:14
суть модуля чтоб сделать уникальный ключ? все остальное имя фамилия дата откуда должно браться? дата с новости. фио с доп поля?
-
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)
должна предшествовать обработке сообщений; в противном случае цвет фона не изменяется.