Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 10

Можно ли создать компонент на основе класса TMemo, чтобы компонент был в виде геометрической фигуры?

30.09.2014, 19:14. Показов 3459. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Требуется создать компонент на основе класса TMemo, так чтобы вид компонента был в виде геометрической фигуры. Пример: компонент в виде ромба.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.09.2014, 19:14
Ответы с готовыми решениями:

String и компонент класса TMemo
Как реализовать в Делфи цикличный перебор и изменения каждого символа введенного пользователем в компонент Memo1(класса TMemo)?Иными...

Создать компонент, реализующий функциональность TMemo
Создать компонент, реализующий функциональность TMemo Сокрытие при движении (наведении) мышки. помогите пожалуйста. ничего не смыслю в...

Изменение свойств компонента из класса в котором не был создан этот компонент
Требуется изменить текст на кнопке с помощью вызова процедуры из другого класса в новом потоке. Рабочий код без нового потока: ...

22
 Аватар для Игорь[Igor]
726 / 478 / 130
Регистрация: 24.12.2008
Сообщений: 3,924
30.09.2014, 19:16
Можно, изучай работу с регионами.
1
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 10
30.09.2014, 19:43  [ТС]
Можно немного конкретики.
0
 Аватар для Игорь[Igor]
726 / 478 / 130
Регистрация: 24.12.2008
Сообщений: 3,924
30.09.2014, 20:10
Сам мемо наврятли получиться сделать в виде ромба, но можно сделать компонент в виде ромба или другой вигуры и на нем поле мемо. С помощью регионов можно создавать или изменять компоненты обрезая и убирая лишнее так сказать, можно и форму сделать круглой.

Добавлено через 3 минуты
Вот мримерчик

Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.FormCreate(Sender: TObject);
var
  r: hrgn;
begin
  r:=CreateEllipticRgn(0, 0, Width, Height);
  try
    setWindowRgn(handle, r, true);
  finally
    deleteObject(r);
  end;
end;
0
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 10
30.09.2014, 20:41  [ТС]
Тогда возникает вопрос, возможно ли сделать свой компонент который наследует все свойства и методы нескольких классов: Например сделать ко мпонент на основе класса TShape и TMemo?
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
30.09.2014, 20:49
Нельзя.
Механизм множественного наследования классов в Delphi не реализован.
0
 Аватар для Игорь[Igor]
726 / 478 / 130
Регистрация: 24.12.2008
Сообщений: 3,924
30.09.2014, 20:55
Можно совместить, в качестве примера компонент TLabelEdit
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
30.09.2014, 21:01
Цитата Сообщение от Игорь[Igor] Посмотреть сообщение
Можно совместить
Совместить можно, наследовать нельзя.
0
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 10
30.09.2014, 21:03  [ТС]
Каким же образом можно совместить компонент TMemo с каким-нибудь другим компонентом выступающим в виде геометрической фигуры?

Добавлено через 1 минуту
Может быть есть какие-нибудь материалы по данной теме?
0
 Аватар для Игорь[Igor]
726 / 478 / 130
Регистрация: 24.12.2008
Сообщений: 3,924
30.09.2014, 21:06
Цитата Сообщение от mss Посмотреть сообщение
Совместить можно, наследовать нельзя.
Про наследование и неговорю
0
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 10
30.09.2014, 21:15  [ТС]
Вообщем объясню, зачем мне все это. Требуется сделать курсовую работу. Мне досталась программа которая должна реализовывать следующий функционал:
1. Программа основывается на блок схемах;
2. В блок схемах пишется программный код на паскале;
3. В качестве поля ввода для кода выступает компонент TMemo;
4. Блоки связываются между собой узлами;
5. После запуска программа компилируется, код из блок схем собирается в единую программу на основе связей, т.е связи показывают что за чем будит выполняться;
6. Получается готовая программа.

Программа разрабатывается для понимания структур программ.
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
30.09.2014, 21:27
А тебе не приходила в голову гениальная до простоты мысль - не заниматься откровенной фигней с ромбовидными и прочими бубликообразными мемо, а взять какую-нибудь готовую библитеку компонентов для построения-отображения-редактирования блок-схем ?)
0
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 10
30.09.2014, 21:34  [ТС]
Нет, не приходила. Проблема в том, что внутри блок схемы должен быть программный код, например в ромбе должен располагаться код условия if ... then .... и т.д.
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
30.09.2014, 21:41
Цитата Сообщение от Hasan Посмотреть сообщение
в ромбе должен располагаться код условия if ... then .... и т.д.
В приведенных тобой 6-ти пунктах об этом нет ни слова - это ты уже сам допетрил до такого извращения)

На том самом ромбе вполне можно изобразить некое символическое обозначение содержимого, а само содержимое - программный код - поместить в какую-либо структуру данных, ассоциированных с блоком, и редактировать ее в обычном мемо
0
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 10
30.09.2014, 21:45  [ТС]
Цитата Сообщение от mss Посмотреть сообщение
В приведенных тобой 6-ти пунктах об этом нет ни слова
2. В блок схемах пишется программный код на паскале;
0
 Аватар для SmittWesson
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
30.09.2014, 21:51
Можно создать непрямоугольные фигуры на основе панелей, на которых расположен компонент мемо со свойством Aligh = Client. Панель будет иметь нужную форму, а компонент Мемо, будет иметь вид вписанного прямоугольника.
Цитата Сообщение от Hasan Посмотреть сообщение
В блок схемах пишется программный код на паскале;
Что за ересь. В блок-схемах пишется алгоритм. К языковой реализации, он не имеет никакого отношения.
1
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
30.09.2014, 21:55
Цитата Сообщение от Hasan Посмотреть сообщение
2. В блок схемах пишется программный код на паскале
И чего ?
Где тут написано что фрагмент программного кода нужно обязательно впендюрить в контур ромба ?)

Ты вообще осознаешь трезво и здраво, что выражение, следующее за оператором IF, может быть сколь угодно длинным и сложным, и чтобы показать его ромб должен будет иметь размеры ханойской башни ?)
Да и не только после IF - и после THEN и после ELSE
Да и не простой оператор там может быть, а составной.. А внутри него еще туева хуча вложенных составных операторов.. И идентификаторы длиной с сызранский мост тоже не исключены)

Похоже не осознаешь) .. Или не трезво).. Или не здраво)
0
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 10
30.09.2014, 21:58  [ТС]
Каким образом можно этого избежать?
0
 Аватар для SmittWesson
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
30.09.2014, 21:59
Обратите внимание на язык ДРАКОН, думаю он вам много идей подкинет.
1
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 10
30.09.2014, 22:01  [ТС]
Цитата Сообщение от SmittWesson Посмотреть сообщение
Что за ересь. В блок-схемах пишется алгоритм.
Задача состоит в том что в блок схеме должен писаться программный код.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.09.2014, 22:01
Помогаю со студенческими работами здесь

Сделать компонент Memo невидимым, но текст от него, чтобы был виден
Как сделать так чтобы Компонент Memo не был видим, при этом его текст должен быть видим! Типо текст на фоне!

Создать свой компонент в c++builder6 (на основе TStringGrid)?
Построить класс - потомок класса TStringGrid, объект которого при нажатии клавиши F11 выводит в отдельном окне сообщения о своих параметры:...

Как создать свой компонент, на основе стандартного?
Как создать свой компонент на основе стандартного. Например, хочу сделать свой компонент на основе Menu и combo box, также чтоб направление...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru