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

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

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

Требуется создать компонент на основе класса TMemo, так чтобы вид компонента был в виде геометрической фигуры. Пример: компонент в виде ромба.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.09.2014, 19:14
Ответы с готовыми решениями:

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

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

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

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

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

Добавлено через 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  [ТС] 5
Тогда возникает вопрос, возможно ли сделать свой компонент который наследует все свойства и методы нескольких классов: Например сделать ко мпонент на основе класса TShape и TMemo?
0
2648 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,725
30.09.2014, 20:49 6
Нельзя.
Механизм множественного наследования классов в Delphi не реализован.
0
723 / 475 / 130
Регистрация: 24.12.2008
Сообщений: 3,924
30.09.2014, 20:55 7
Можно совместить, в качестве примера компонент TLabelEdit
0
2648 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,725
30.09.2014, 21:01 8
Цитата Сообщение от Игорь[Igor] Посмотреть сообщение
Можно совместить
Совместить можно, наследовать нельзя.
0
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 10
30.09.2014, 21:03  [ТС] 9
Каким же образом можно совместить компонент TMemo с каким-нибудь другим компонентом выступающим в виде геометрической фигуры?

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

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

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

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

Похоже не осознаешь) .. Или не трезво).. Или не здраво)
0
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 10
30.09.2014, 21:58  [ТС] 18
Каким образом можно этого избежать?
0
236 / 195 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
30.09.2014, 21:59 19
Обратите внимание на язык ДРАКОН, думаю он вам много идей подкинет.
1
0 / 0 / 0
Регистрация: 30.09.2014
Сообщений: 10
30.09.2014, 22:01  [ТС] 20
Цитата Сообщение от SmittWesson Посмотреть сообщение
Что за ересь. В блок-схемах пишется алгоритм.
Задача состоит в том что в блок схеме должен писаться программный код.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.09.2014, 22:01

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru