Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как в TEdit выделить весь текст и установить, курсор в начало строки 
:(
    Опции темы
ДЫМ
Дата 1.8.2005, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 6.1.2004

Репутация: 8
Всего: 8



При получении фокуса TEdit выделяет весь текст (AutoSelect=True), но устанавливает каретку в конец строки, и если строка большая, то она прокручивается и начала уже не видно. Мне надо, чтобы вся строка в TEdit была выделена, но каретка находилась слева от выделенного текста (в самом начале строки). Надеюсь понятно изложил.

Как это сделать?


PM MAIL WWW   Вверх
FRAGNATIC
Дата 1.8.2005, 02:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: 6
Всего: 11



Код

Edit1.SetFocus;
edit1.SelStart:=0;

тока таким образом выделение с текста убирается(
если вызвать селектол то курсор опять в конец ходить и хз как убрать это сама процедура селектол выглядит так
SendMessage(Handle, EM_SETSEL, 0, -1);
как не эксперементировал с параметрами не вышло(
PM MAIL   Вверх
Song
Дата 1.8.2005, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



Код
With Edit1 Do
 Begin
  SelStart:=0;
  SelLength:=Length(Text));
 End; {With}



--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
FRAGNATIC
Дата 1.8.2005, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: 6
Всего: 11



Song и чё?
ты эфект смотрел?
Тотже то и при SelectAll
PM MAIL   Вверх
Song
Дата 1.8.2005, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



FRAGNATIC
ну попробуй в ворде хотя бы сделать так: выдели там строчку клавиатурой, но так чтобы курсор был слева smile


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
FRAGNATIC
Дата 2.8.2005, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: 6
Всего: 11



Song
Ну у мя и в дэлфи (в ИДЭ ) нормально получается выделеть стркоу слева на право чтобы курсор был слева) программно у мя так не выходит) как и в том примере что ты дал( smile
PM MAIL   Вверх
ДЫМ
Дата 2.8.2005, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 6.1.2004

Репутация: 8
Всего: 8



Цитата
Ну у мя и в дэлфи (в ИДЭ ) нормально получается выделеть стркоу слева на право чтобы курсор был слева) программно у мя так не выходит) как и в том примере что ты дал( 


Вот именно, если выделить самому, то получается, значит можно и программно сделать. Но как?
PM MAIL WWW   Вверх
FRAGNATIC
Дата 2.8.2005, 02:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: 6
Всего: 11



ДЫМ
Вообщем копай исходники TMemo ! В нём это тож можнО! Посмотри как всё это работает! А ещё лучше сразу исходники винды)

Это сообщение отредактировал(а) FRAGNATIC - 2.8.2005, 02:52
PM MAIL   Вверх
Song
Дата 2.8.2005, 07:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



Цитата(FRAGNATIC @ 2.8.2005, 01:25)
Song
Ну у мя и в дэлфи (в ИДЭ ) нормально получается выделеть стркоу слева на право чтобы курсор был слева) программно у мя так не выходит) как и в том примере что ты дал( smile

Позволю себе предположить, что это "своё выделение", ну т.е. не то которое реализуется стандартными MS edit контролами.
А своего-то можно наделать, и каретка здесь вовсе не причём..


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
Song
Дата 2.8.2005, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



На вот smile

Код

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    procedure EditHighlight(Var Msg: TWMCtlColorEdit); message WM_CTLCOLOREDIT;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

Procedure TForm1.EditHighlight(Var Msg: TWMCtlColorEdit);
Begin
 inherited;
 With Msg Do IF ChildWnd = Edit1.Handle then
  Begin
   SetTextColor(ChildDC,ColorToRGB(ClWindow));
   SetBkColor(ChildDC,ColorToRGB(ClHighLight));
   SendMessage(ChildWnd,EM_SETSEL,0,0); 
  End; {IF}
End;



--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
Romikgy
Дата 2.8.2005, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Курсор перемещается, но и выделение пропадает smile

У меня появилось , очень хорошая идея, сэмулировать нажатие клавы, т.е.

Курсор в правое крайнее положение, и потом допустим shift+home и выделенно и курсор слево,
с клавы все на ура, а вот программно попробуй, не обрадуешься,
почемуто вместо нажать шифт, нажать хом, отпустить хом(home), отпустить шифт,
срабатывает нажать - отпустить шифт, нажать - отпустить хом, нажать - отпустить шифт, почему так????? Хотя с буквами и цифрами все правильно нажимается. Использовал keybd_event.

Это сообщение отредактировал(а) Romikgy - 2.8.2005, 12:25


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Song
Дата 2.8.2005, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



Цитата(Romikgy @ 2.8.2005, 09:55)
Курсор перемещается, но и выделение пропадает

:blink:

у меня всё ок. Ничего не пропадает.


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
Romikgy
Дата 2.8.2005, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Цитата(Song @ 2.8.2005, 10:36)
у меня всё ок. Ничего не пропадает.

Да действительно ничего не пропадает, не весь код скопировал, только мааааленький трабл, после этого попробуй чет поменять или посмотреть конец текста или середину smile Да и ввод шифорот на выворот, хотя если автору это подходит, вопросов нет smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Song
Дата 2.8.2005, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



Цитата(Romikgy @ 2.8.2005, 13:28)
Да и ввод шифорот на выворот

ну а как ты хотел, если ему нужно чтобы курсор был в начале?
Ведь ввод идёт не от девы Марии, а от курсора


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
Romikgy
Дата 2.8.2005, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Я никак не хотел, вопрос то не мой smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1092 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.