Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/22: Рейтинг темы: голосов - 22, средняя оценка - 4.55
 Аватар для Vovik_0_1
40 / 40 / 6
Регистрация: 28.07.2011
Сообщений: 431

Drag&Drop. Из ListView1 перетащить строку в Memo.

05.04.2012, 15:21. Показов 4285. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем! Помогите реализовать перетаскивание. Мне нужно из ListView1 перетащить строку в Memo. Как это сделать? Ну если это сложно то например из Edit1 в Edit2 перетащить мышкай слово.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.04.2012, 15:21
Ответы с готовыми решениями:

Перенос текста из Memo в Memo (Drag&Drop)
Подскажите как осуществить перетаскивание текста из memo в memo в с++ builder???

Drag&Drop
Как перенести из TreeView1 текст в Edit1 !?!?!?

Drag&Drop
Здравствуйте:) Уже месяц работаю над текстовым редактором. Встал вопрос: например на рабочем столе файл. Как реализовать...

27
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
05.04.2012, 15:55
- к примеру так__
C++
1
2
3
4
5
void __fastcall TForm1::Memo1DragDrop(TObject *Sender, TObject *Source,
      int X, int Y)
{
          Memo1->Lines->Add(((TEdit *)Source)->Text);
}
У Edit на mousedown должно быть
C++
1
Edit1->BeginDrag(0,-1);
, ну и Accept = true; на Memo-DragOver.
1
 Аватар для Vovik_0_1
40 / 40 / 6
Регистрация: 28.07.2011
Сообщений: 431
05.04.2012, 15:59  [ТС]
Сделал так:
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Memo1DragDrop(TObject *Sender, TObject *Source,
      int X, int Y)
{
  Memo1->Lines->Add(((TEdit *)Source)->Text);
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Edit1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
 Edit1->BeginDrag(0,-1);
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Memo1DragOver(TObject *Sender, TObject *Source,
      int X, int Y, TDragState State, bool &Accept)
{
   Accept = true;
}
Ничего не происходит(
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
05.04.2012, 16:06
- не в моих привычках дурить людей... . У меня - происходит (BCB 5.0) __
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void __fastcall TForm1::Edit1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
        Edit1->BeginDrag(0,-1);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Memo1DragDrop(TObject *Sender, TObject *Source,
      int X, int Y)
{
          Memo1->Lines->Add(((TEdit *)Source)->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Memo1DragOver(TObject *Sender, TObject *Source,
      int X, int Y, TDragState State, bool &Accept)
{
       Accept = true;
}
Миниатюры
Drag&Drop. Из ListView1 перетащить строку в Memo.  
1
 Аватар для Vovik_0_1
40 / 40 / 6
Регистрация: 28.07.2011
Сообщений: 431
05.04.2012, 16:10  [ТС]
А зачем кнопки на скрине? Перетаскивание же должно быть мышкой?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
05.04.2012, 16:12
на кнопки не обращай внимания; они от другого примера (лень каждый раз новую форму брать)
Меня вдруг осенило... - ты, может, просто в текст программы вставил эти строчки? Проверь в Object Inspector - Events есть ли привязка для мемо и эдит к этим функциям.
Миниатюры
Drag&Drop. Из ListView1 перетащить строку в Memo.   Drag&Drop. Из ListView1 перетащить строку в Memo.  
1
 Аватар для Vovik_0_1
40 / 40 / 6
Регистрация: 28.07.2011
Сообщений: 431
05.04.2012, 16:17  [ТС]
Блиииин!!!! Я перепутал извеняюсь. Я думал перетаскивание из Memo в Edit)))) А оказалось наоборот!
А как из ListView1 перетащить строку в Memo???

Добавлено через 50 секунд
Цитата Сообщение от nick42 Посмотреть сообщение
Edit1->BeginDrag(0,-1);
И кстати что делают вот эти параметры? 0,-1 ???
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
05.04.2012, 16:36
почти то же самое...
C++
1
   Memo1->Lines->Add(((TListView *)Source)->Selected->Caption) ;
0
 Аватар для Vovik_0_1
40 / 40 / 6
Регистрация: 28.07.2011
Сообщений: 431
05.04.2012, 17:37  [ТС]
Не хачется создавать новую тему вопрос простой. Как вызвать функцию
C++
1
void __fastcall TForm2::ListBox1Click(TObject *Sender)
из другой функции? пробовал так
C++
1
void ListBox1Click(TObject *Sender);
не работает!

Добавлено через 3 минуты
Цитата Сообщение от nick42 Посмотреть сообщение
Memo1->Lines->Add(((TListView *)Source)->Selected->Caption) ;
Это в Memo. А в ListView что писать?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
05.04.2012, 18:00
Цитата Сообщение от Vovik_0_1 Посмотреть сообщение
Это в Memo. А в ListView что писать?
Аналогично TEdit: Код C++1 ListView1->BeginDrag(0,-1);
на MouseDown

Добавлено через 3 минуты
Цитата Сообщение от Vovik_0_1 Посмотреть сообщение
Как вызвать функцию
просто пишешь ListBox1Click(0); - вот ты её и вызвал. Если нужно какой-нибудь Item высветить - то Selected...
0
 Аватар для Vovik_0_1
40 / 40 / 6
Регистрация: 28.07.2011
Сообщений: 431
07.04.2012, 15:05  [ТС]
А как из TListBox1 в тот же Memo?? Делал вот так :
C++
1
Memo2->Lines->Add(((TListBox *)Source)->Items->Text);
Не работает(
0
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
07.04.2012, 15:19
Смотри в сторону Drag,Dock,Drop и ItemIndex, Focused у ListView.
0
 Аватар для Vovik_0_1
40 / 40 / 6
Регистрация: 28.07.2011
Сообщений: 431
07.04.2012, 15:46  [ТС]
Да я смотрю но не получается! Поэтому и спросил.
0
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
07.04.2012, 15:57
Не пойму, то ли форум подлагивает, то ли я, ибо не видел в принципе присутствие первой страницы в теме. При перебросе, проверяешь ItemIndex, если он больше -1, то переносишь заголовок и текст под-элементов в новую строку в Memo. Что-то вроде:
C++
1
2
if (ListView->ItemIndex > -1)
  Memo->Lines->Add(ListView->Focused->Caption + " " + ListView->Focused->SubItems->String[0]);
Но этот код будет работать только в случае, если элемент был выбран (зависит от задачи), если нет, то проверяешь был ли какой-либо элемент под курсором в момент передачи, сохраняешь информацию о нем и используешь, когда необходимо.
1
 Аватар для Vovik_0_1
40 / 40 / 6
Регистрация: 28.07.2011
Сообщений: 431
07.04.2012, 16:04  [ТС]
Да это я уже сделал мне для TListBox надо!
0
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
07.04.2012, 16:11
А в чем перевода всего это действия относительно ListBox?
0
 Аватар для Vovik_0_1
40 / 40 / 6
Регистрация: 28.07.2011
Сообщений: 431
07.04.2012, 22:00  [ТС]
Помогите! Не получается! Если так
C++
1
Memo2->Lines->Add(((TListBox *)Source)->Items->Text);
То в memo уходят все слова(итемы), а как сделать чтобы тот который я выделил?
Как это понять?
Цитата Сообщение от DefineTrueFalse Посмотреть сообщение
А в чем перевода всего это действия относительно ListBox?
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
07.04.2012, 22:08
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
        ListBox1->DragMode = dmAutomatic;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Memo1DragOver(TObject *Sender, TObject *Source,
      int X, int Y, TDragState State, bool &Accept)
{
        Accept = true;        
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Memo1DragDrop(TObject *Sender, TObject *Source,
      int X, int Y)
{
        Memo1->Lines->Add(ListBox1->Items->Strings[ListBox1->ItemIndex]);
}
//---------------------------------------------------------------------------
0
 Аватар для Vovik_0_1
40 / 40 / 6
Регистрация: 28.07.2011
Сообщений: 431
07.04.2012, 22:18  [ТС]
Не работает, пишит не найден -1.
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
07.04.2012, 22:19
C++
1
2
3
4
5
6
void __fastcall TForm1::Memo1DragDrop(TObject *Sender, TObject *Source,
      int X, int Y)
{
        if (ListBox1->ItemIndex != -1)
                Memo1->Lines->Add(ListBox1->Items->Strings[ListBox1->ItemIndex]);
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.04.2012, 22:19
Помогаю со студенческими работами здесь

TFrame: Drag & Drop
Доброго дня! На форме по-умолчанию находится 2 экземпляра TFrame. На каждом TFrame находится TPanel c свойством Align = alClient. ...

Drag&Drop С++ Builder
подскажите как с ListBox передать текст в Edit?

Drag & Drop file
Подскажите как используя DRAG &amp; DROP перетащить файл на RichEdit чтобы он открылся в RichEdit?

Реализовать Drag & Drop на форму
Как сделать что-бы окно программы распознавало перетаскиваемые файлы

Drag&Drop - отсутствует сообщение
Привет. Пытаюс разобратся в Drag&amp;Drop на форуме нашел некий инфо, и помогло... Вот что я надцарапал в билдере, но сообшение не...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru