На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
  
> как передать выделенные иконки из listview в listbox , ногами не бить)
    прошу помочь

    в listview сделал выбор мультиселект

    нужно чтобы при выборе одной или нескольких иконок(в моём случае) из листвью добавлялось в листбокс.

    Спасиб заранее.
      Спасибо. но вопрос не в том чтобы включить свойство в листвью мультиселект , а как передать в листбокс
        на рисунке показано

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


        С моим познанием о выделении нескольких элементов листвью ни хрена не прокатит)))

        по одному они добавляются со следующим кодом

        ExpandedWrap disabled
          var
             z:integer;
          begin
           
          if listview1.ItemIndex = -1 then  Exit;
           
          for z := 0 to listview1.Items.Count-1 do
              begin
                    If listview1.ItemIndex = z then
                    Listbox1.Items.Add(listview1.items.item[z].caption);
              end;



        Хелп , как добавить несколько
        Прикреплённый файлПрикреплённый файл2017_11_28_165309.jpg (56,36 Кбайт, скачиваний: 582)
          Вот тут пример.
            блин круть) уже почти)) , но есть еще вопрос

            ExpandedWrap disabled
              procedure TForm1.ListView1Click(Sender: TObject);
              var
                  Item: TListItem;
                begin
               
                Item := ListView1.Selected;
               
                while Item <> nil do
                begin
                  ListBox1.Items.Add(Item.Caption);
                  Item := ListView1.GetNextItem(Item, sdAll, [isSelected]);
                end
              end;


            сейчас если я выделяю например два элемента
            с ctrl

            в listbox два раза первым попадает тот элемент который я выделяю первым и потом остальное норм добавляется.
            если же я просто мышью выделяю определенную область, то всё норм.

            как можно решить с ctrl момент? чтоб не было дублирования первого элемента
            Прикреплённый файлПрикреплённый файл2017_11_29_085553.jpg (29,69 Кбайт, скачиваний: 588)
            Прикреплённый файлПрикреплённый файл2017_11_29_085615.jpg (31,32 Кбайт, скачиваний: 592)
              Цитата djmix777 @
              как можно решить с ctrl момент? чтоб не было дублирования первого элемента

              Во-первых, не нужно вешать добавление элементов в листбокс на OnClick листвью. Если бы ты добавлял по одному элементу по двойному клику, это было бы еще ничего. Но при множественном выборе лучше делать добавление не "автоматом" в момент выделения, а по клику на спец.кнопке или контекстном меню.
              Во-вторых, дублирование может возникнуть не только из-за ctrl, но и просто потому, что юзер добавит один или несколько элементов, потом подумает и добавит еще несколько, прихватив уже добавленные. Поэтому для исключения дублирования, нужно добавлять элемент в листбокс только в том случае, если он еще не добавлен. Делается это элементарно
              ExpandedWrap disabled
                s:=Item.Caption;
                if ListBox1.Items.IndexOf(S) < 0 then
                  ListBox1.Items.Add(S);
                Идеаально)). вроде))
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0326 ]   [ 20 queries used ]   [ Generated: 19.04.24, 05:28 GMT ]