Поиск:

Ответ в темуСоздание новой темы Создание опроса
> лишний ентер, в мемо 
:(
    Опции темы
Grom
Дата 29.8.2006, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Код

void __fastcall TForm1::Memo2KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
 TShiftState MyKey;
MyKey<<ssCtrl;
if (((Shift == MyKey) & (Key==VK_RETURN)))
   {
   Memo2->Clear();
   }
}

проблема в том, что после очистки мемо в Мемо->Lines->String[0] заносится enter. Если комбинацию хоткеев сделать Ctrl+F1 то всё нормально. Как избавиться от лишнего ентера ?

Это сообщение отредактировал(а) Grom - 29.8.2006, 14:25
--------------------
Хостинг, Vds, Dedicated serve, регистрация доменов (RU,com,net,org) - обращаться в icq.
PM MAIL   Вверх
DemoCode
Дата 29.8.2006, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Grom @  29.8.2006,  15:25 Найти цитируемый пост)
Как избавиться от лишнего ентера ?

Присвоить Key значение не равному VK_RETURN (например VK_OEM_CLEAR) перед очитской мемо-поля.


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
Grom
Дата 29.8.2006, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



DemoCode, 
Код

void __fastcall TForm1::Memo2KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
 TShiftState MyKey;
MyKey<<ssCtrl;
if (((Shift == MyKey) & (Key==VK_RETURN)))
   {
   Key=VK_OEM_CLEAR;
   Memo2->SetFocus();
   Memo2->Clear();
   }
}

всё равно... тоже самое...
--------------------
Хостинг, Vds, Dedicated serve, регистрация доменов (RU,com,net,org) - обращаться в icq.
PM MAIL   Вверх
Romikgy
Дата 29.8.2006, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Key=0;


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

PM   Вверх
DemoCode
Дата 29.8.2006, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Grom @  29.8.2006,  15:54 Найти цитируемый пост)
всё равно... тоже самое... 

делай это в OnKeyUp


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
Grom
Дата 29.8.2006, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Romikgy, всё равно не работает.


DemoCode, по кейап - не удобно. т.к. нажно держать ctrl и отпускать enter.
--------------------
Хостинг, Vds, Dedicated serve, регистрация доменов (RU,com,net,org) - обращаться в icq.
PM MAIL   Вверх
Romikgy
Дата 29.8.2006, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Grom @  29.8.2006,  18:58 Найти цитируемый пост)
всё равно не работает.

извратный способ , но работает
Код

Boolean bl=false;
void __fastcall TForm1::Memo1KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
 TShiftState MyKey;
MyKey<<ssCtrl;
if (((Shift == MyKey) & (Key==VK_RETURN)))
   {
    bl=true;
   Memo1->SetFocus();
   Memo1->Clear();
   }  //*/
}
void __fastcall TForm1::Memo1KeyPress(TObject *Sender, char &Key)
{
if (bl)
{
 Key=0;
 bl=false;
}
}


Добавлено @ 21:20 
Цитата(DemoCode @  29.8.2006,  14:06 Найти цитируемый пост)
делай это в OnKeyUp

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

Добавлено @ 21:27 
Так красивее получается
Код

 TShiftState MyKey;
MyKey<<ssCtrl;
if (((Shift == MyKey) & (Key==VK_RETURN)))
   {
   Memo1->SetFocus();
   Memo1->Clear();
    PostMessage(Memo1->Handle,WM_CHAR,VK_BACK,0xe0001);
   }



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

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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