Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663

Реализация через PopupMenu функций copy and paste в DrawGrid

14.03.2016, 13:06. Показов 3236. Ответов 42
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня! Встала задача реализовать данный сабж в пределах одного DrawGrid. При выделение одной, а еще лучше диапазона ячеек. В голову приходит некий еще один, временный DrawGrid (промежуточный хранитель). Как это правильно реализовать вообще? Может есть пример где - не найти. Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.03.2016, 13:06
Ответы с готовыми решениями:

Реализация Copy/Paste
Добрый день!!!!! уважаемые форумчане подскажите кто как реализует copy/paste?????? Есть грид, в нем можно выделять несколько...

Copy >> Paste
Тянет ли копи паст под низкочастотники? Не в ту категорию пост запихал ( Как исправить?

Copy/Paste
доброго! вот у меня тут возник такой вопрос: 1.Сopy 2.Paste итак вот вопросы 1.Как сделать так что бы в виндовс приложении из...

42
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
16.03.2016, 14:23  [ТС]
Студворк — интернет-сервис помощи студентам
Там Grid1SelectCell большой получился, но по сути дела, я так понимаю
Цитата Сообщение от volvo Посмотреть сообщение
просто по OnMouseMove проверяется признак "кнопка мыши зажата", и если да, то для ячейки, над которой находится мышь, выставляется 1 в Grid1SelectCell
вот часть этого события, если надо - все событие напишу.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
if(!(ShiftB & cShiftKey) && (!fl_MouseDown))
    {
        if(Grid1SelectCnt != 0)
            {
                Grid1SelectCnt=0;
                memset(&Grid1SelectInd[0],0,sizeof(Grid1SelectInd));
                memset(&Grid1SelectCell[0][0],0,sizeof(Grid1SelectCell));
            }
        Grid1SelectInd[indxDev]=1;
        Grid1SelectCell[DrawGrid1Col_Sel][DrawGrid1Row_Sel]=1;
        Grid1SelectCnt++;
        mSelNumbInp =
        Form1->dev_default[p.d[indx_Sel_Loop].d_type[indxDev]-1].s.NumbInp;
        if(mSelNumbInp == 1)
        Grid1SelectInd[indxDev] |= 0x02;
        else
        Grid1SelectInd[indxDev] |= 0x04;
        if(mSelNumbInp > 1)
        Grid1SelectInd[indxDev] |= 0x08;
        mSelNumbOut =
        Form1->dev_default[p.d[indx_Sel_Loop].d_type[indxDev]-1].s.NumbOutput;
        if(mSelNumbOut == 1)
        Grid1SelectInd[indxDev] |= 0x10;
        if(mSelNumbOut > 1)
        Grid1SelectInd[indxDev] |= 0x40;
    }else// ----- shift key
    {
        if(Grid1SelectInd[indxDev] == 0)
            {
                Grid1SelectInd[indxDev]=1;
                Grid1SelectCell[DrawGrid1Col_Sel][DrawGrid1Row_Sel]=1;
                Grid1SelectCnt++;
                mSelNumbInp =
                Form1->dev_default[p.d[indx_Sel_Loop].d_type[indxDev]-1].s.NumbInp;
                if(mSelNumbInp == 1)
                Grid1SelectInd[indxDev] |= 0x02;
                else
                Grid1SelectInd[indxDev] |= 0x04;
                if(mSelNumbInp > 1)
                Grid1SelectInd[indxDev] |= 0x08;
                mSelNumbOut =
                Form1->dev_default[p.d[indx_Sel_Loop].d_type[indxDev]-1].s.NumbOutput;
                if(mSelNumbOut == 1)
                Grid1SelectInd[indxDev] |= 0x10;
                if(mSelNumbOut > 1)
                Grid1SelectInd[indxDev] |= 0x40;
            }
    }
Grid1SelectState = 0;
for(int ind=0; ind  < MAX_DEVICE+1 ;ind++)
    {
       Grid1SelectState |= Grid1SelectInd[ind];
    }
if(Grid1SelectState == 3)// only one input
    {
        Button9->Enabled = true;
        StringGrid5->Enabled = true;
        StringGrid5_Set(Sender,indxDev);
    }else
    {
         StringGrid5->Rows[1]->Clear();
 
        for(int i=0; i<  indtSG5  ; i++)
        {
          StringGrid5->Cells[i][1] = "-";
        }
        Button9->Enabled = false;
        StringGrid5->Enabled = false;
    }



больше присваивания Grid1SelectCell, кроме copy paste нигде не происходит
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33479 / 21577 / 8250
Регистрация: 22.10.2011
Сообщений: 37,040
Записей в блоге: 12
16.03.2016, 14:39
Это чего такое вообще? Не, в такое я точно не полезу, тут чуть что не так - оно вообще работать перестанет.
1
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 663
16.03.2016, 14:52  [ТС]
Цитата Сообщение от volvo Посмотреть сообщение
Это чего такое вообще?
Да там все не так страшно)) Суть в том, что присваивание происходит в OnMouseMove при нажатой кнопке мыши.
на все остальное можно не смотреть - там внутренняя перетусовка данных
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.03.2016, 14:52

Copy-Paste VIM
Как выделить и сделать копи-пейст?

RichTextBox и Copy/Paste
В общем столкнулся с проблемой копирования и вставки данных из буфера обмена в поле RichTextBox. Во-первых, горячие клавиши (Ctrl +...

Запрет на copy/paste
как сделать так чтоб при открытии ексель запускалась прога которая блокирует копирование и вставку ?

Не работает Copy\paste
Доброго времени суток. Не ожидал что увижу такое... в базе не работает Copy\Paste Посмотрел другие базы, там все норм. Сравнил...

Copy/Paste текста в Word
Уважаемые! Не сочтите за труд, подскажите - что не так делаю? Нужно: - открыть в фоновом режиме источник (путь - FileSource); -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
43
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru