Сейчас на форуме: zds, UniSoft (+5 невидимых)

 eXeL@B —› Программирование —› Как заблокировать прокрутку текста в memo?
Посл.ответ Сообщение

Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 17 мая 2013 02:22
· Личное сообщение · #1

Если кол-во символов в строке (или самих строк) в компоненте мемо (или ричэдит, неважно),
превышает размер границ компонента, то, выделяя текст мышкой и подводя кусрор к границам, он автоматом скролится.


Есть ли возможность заблокировать это?



Ранг: 590.6 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 17 мая 2013 02:53
· Личное сообщение · #2

Задисейблить окно.

-----
старый пень


| Сообщение посчитали полезным: SReg


Ранг: 307.9 (мудрец), 196thx
Активность: 0.180
Статус: Участник

Создано: 17 мая 2013 03:28 · Поправил: mysterio
· Личное сообщение · #3

Как вариант: Memo1.DragMode := dmAutomatic;
Тогда текст мышкой (можно только через правую кнопку мышки) и клавишами не выделить и соответственно не поскролить.

Ну или так, тогда конечно текст никак мышкой, кроме как правой, не выделить:
Code:
  1.   TMemo = class(StdCtrls.TMemo)
  2.     procedure WMMouseActivate(var Msg: TMessage); message WM_MOUSEACTIVATE;
  3.   end;
  4.  
  5.   TForm1 = class(TForm)
  6.     Memo1: TMemo;
  7.     ...
  8.   end;
  9.  
  10. procedure TMemo.WMMouseActivate(var Msg: TMessage);
  11. begin
  12.   try
  13.     inherited;
  14.     if Msg.LParamHi = 513 then begin // 516 для правой кнопки
  15. //      showmessage('Нажали левую кнопку мышки');
  16.       Msg.Result:= MA_NOACTIVATEANDEAT;
  17.     end;
  18.  
  19.   except
  20.     // ...
  21.   end;
  22. end;


-----
Don_t hate the cracker - hate the code.


| Сообщение посчитали полезным: SReg

Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 17 мая 2013 08:34 · Поправил: SReg
· Личное сообщение · #4

mysterio
Да не, это не то, но в любом случае спасибо
Мне нужно было перетаскивать выделенный кусок текста мышкой на другой компонент, не портачив "внешний вид".
А так уже вопрос решил в принципе.




Ранг: 307.9 (мудрец), 196thx
Активность: 0.180
Статус: Участник

Создано: 17 мая 2013 13:54
· Личное сообщение · #5

Делись решением

-----
Don_t hate the cracker - hate the code.




Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 17 мая 2013 15:22
· Личное сообщение · #6

Ну у меня компонента Synedit, и я умудрился провтыкать, что там уже есть события OnStartDrag/OnEndDrag
Ну а в теле собветственно как сказал r_e (enable/disable)
Просто невнимательность


 eXeL@B —› Программирование —› Как заблокировать прокрутку текста в memo?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати