tsyntaxedit крохонький примерчик :)

Вопросы программирования и использования MSEide + MSEgui.

Модератор: Модераторы

tsyntaxedit крохонький примерчик :)

Сообщение amateur » 12.08.2013 22:04:32

достала "борьба" с лазарем решил отвлечься на мсе.
вот че получилось.
Вложения
memomse.zip
(31.82 КБ) Скачиваний: 531
Последний раз редактировалось amateur 19.08.2013 11:36:57, всего редактировалось 2 раз(а).
Аватара пользователя
amateur
энтузиаст
 
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Re: tsyntaxedit крохонький примерчик :)

Сообщение mse » 13.08.2013 10:33:10

Some comments:
Код: Выделить всё
procedure tmainfo.on_popup_edit(const sender: TObject; var amenu: tpopupmenu;
               var mouseinfo: mouseeventinfoty);
begin
  tpopupmenu1.menu[0].Caption := simpletext.selectedtext;
  amenu := tpopupmenu1;
end;
               
procedure tmainfo.on_update_tpopupmenu1(const sender: tcustommenu); //MSE
begin
sender.menu[0].caption := simpletext.selectedtext;
end;

procedure tmainfo.on_change_spin(const sender: TObject);
begin
//  simpletext.font.height := strtoint(trealspinedit1.text);       MSE
  simpletext.font.height := trealspinedit1.asinteger; //better     MSE
end;

procedure tmainfo.on_setvalue_spin(const sender: TObject; var avalue: realty;
               var accept: Boolean);
begin
simpletext.font.height:= round(avalue);             //much better MSE
end;

procedure tmainfo.on_setintvalue_spin(const sender: TObject;
               var avalue: Integer; var accept: Boolean);
             //best, needs MSEide+MSEgui git master,               MSE
             //onsetintvalue was not published for trealspinedit   MSE
begin
simpletext.font.height:= avalue;
end;

procedure tmainfo.btn_open(const sender: TObject);
begin
  if tfiledialog1.execute = mr_ok then begin
//    simpletext.clear;                           not necessary    MSE
    simpletext.loadfromfile(tfiledialog1.controller.filename);
  end; 
end;

simpletext.optionswidget1 ow1_autoscale should be true in order to synchronize grid row height with font height.
Instead to use simpletext.onpopup one could set simpletext.popupmenu to tpopupmenu1 and use tpopupmenu1.onupdate.
If simpletext.optionsedit1 oe1_autopoupmenu is true the default popupmenu and the items of tpopupmenu1 will be merged.
mse
новенький
 
Сообщения: 68
Зарегистрирован: 08.08.2013 15:40:31

Re: tsyntaxedit крохонький примерчик :)

Сообщение amateur » 13.08.2013 10:49:30

simpletext.clear;
showed how to clean tsyntaxedit.

simpletext.font.height:= avalue;

ups :)

This is a simple example. For more need to relax more :wink:

Добавлено спустя 5 минут 23 секунды:
tpopupmenu
had another idea...

Добавлено спустя 33 минуты 38 секунд:
Не много поясню.
Пример очень прост. Но в нем показано:

1. Как сделать перенос строк в twidgetgrid
- activate mygrid.optionsgrid og_rowheight in order to allow variable rowhight
in different rows.
- activate mygrid.datacols[0].options1 co1_autorowheight.
- activate simpletext.textflags tf_wordbreak.
- activate simpletext.textflagsactive tf_wordbreak.

Martin

оригинал сообщения более важен...

2. Как пользоваться tfiledialog (не показал что в filter писать, но разбраться то можно :))

3. Как по двойному щелчку выбрать слово;

4. Фишка showlink (по этому принципу можно организовать не только подчеркивание);

5. Узнать где находится курсор;

6. С помощью trealspinedit проверил глючность данной реализации.

Хотя не учел возможность "подстройки" интерфейса программы при изменении размера шрифта и применение скинов. Ну и не включил пару финтов (просто не сильно разобрался в них).
Аватара пользователя
amateur
энтузиаст
 
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Re: tsyntaxedit крохонький примерчик :)

Сообщение debi12345 » 13.08.2013 11:34:07

Если бы нашелся специалист, доработавший MSE RichString-и - так, чтобы одна срока могла включать символы разных шрифтов, размеров и стилей.... Ну и GUI-компонент для бестормозной отрисовки :)
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: tsyntaxedit крохонький примерчик :)

Сообщение amateur » 19.08.2013 11:39:18

Малость "поизвращался" :)

Теперь (вроде) может copy - paste и еще малость...

сорцы поменял.

debi12345 вспомнил пословицу - бочка меда и ложка дегтя :lol:
п.с.
tpopupmenu чет мне он не нравитсо :?
Аватара пользователя
amateur
энтузиаст
 
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32


Вернуться в MSEide + MSEgui

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru