Поиск:

Ответ в темуСоздание новой темы Создание опроса
> StringGrid и буфер обмена, StringGrid и буфер обмена 
V
    Опции темы
Lozovik
Дата 16.11.2006, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Подскажите пожалуйста, как копировать содержимое ячеек из StringGrid в буфер. И как в обработчике нажания клавиш StringGrid реализовать похожее на то, что сделано для Edit в следующем тексте:


Код

void __fastcall TForm1::Edit1KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
        CVE (Edit1, Key);
}

void CVE (TEdit *E, WORD &K)
{
        if(GetKeyState(VK_LCONTROL)&0x100)
        {
                if(K==0x43)//Копировать C
                {
                         Clipboard()->Clear();
                         E->CopyToClipboard();
                }
                if(K==0x56)//Вставить V
                {
                         if (Clipboard()->HasFormat(CF_TEXT))
                         E->PasteFromClipboard();
                         else
                         Application->MessageBox("В буфере нет текста.", NULL, MB_OK);
                }
                if(K==0x2E)//Удалить Del
                {
                         E->ClearUndo();
                }
                if(K==0x58)//Вырезать Х
                {
                         Clipboard()->Clear();
                         E->CutToClipboard();
                }
                if(K==0x5A)//Отменить Z
                {
                        E->Undo();
                }
        }


}

Или как проиметировать нажатье соответствующих пунктов вспрлывающего по правому клику меню StringGrid.


Зарание признателен.

PM MAIL   Вверх
Vyacheslav
Дата 16.11.2006, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

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



А можно сначала  вопрос: А зачем? Все эти команды поддерживаются и так на редактируемых контролах. Что касается пунктов меню, то это просто, но тоже кода не понадобится. Все делается в дизайне
1. Кладем на форму TActionList
2Дважды щелкаем по нему. Откроется окно. В правой части кликаем правой клавишей и в всплывающем меню выбираем New Standart Action
3.В открывшемся дереве выбираем все action из TEdit
4. Кладем на форму TPopupMenu
5.Нажимаем на кнопку в инспекторе напротив свойства Items и добавляем пункты меню
6.В каждом пункте для свойства Action выбираем из списка соответствующий Action
7. Для тех контролов, у которых должно быть всплывающее меню , например у того же StringGrida
заполняем свойство PopupMenu

И требуемый функционал готов smile 



--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Lozovik
Дата 16.11.2006, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

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

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

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

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


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

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


 




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


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

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