purebasic.info

PureBasic forum
Текущее время: Вт мар 31, 2020 12:59 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: ExplorerListGadget Чтение имя файла
СообщениеДобавлено: Пт сен 19, 2008 11:33 pm 
Не в сети
доцент

Зарегистрирован: Чт май 01, 2008 7:40 pm
Сообщений: 29
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Скажита, пожалуйста, как из ExplorerListGadget можно прочитать имя всех выделенных файлов?
И такой вопрос: как убрать все колонки КРОМЕ именя самого файла и его размера?
Код:
1
RemoveGadgetColumn(#FileList, 1) ; Remove


Но так можно ведь и "промахнуться" убрав "не то, что надо".


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 22, 2008 5:57 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11603
Благодарил (а): 4 раз.
Поблагодарили: 489 раз.
Ігор писал(а):
Скажита, пожалуйста, как из ExplorerListGadget можно прочитать имя всех выделенных файлов?

Можно например так
Код:
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
If OpenWindow(0, 0, 0, 400, 450, "ExplorerListGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
    ExplorerListGadget(0, 10, 10, 380, 180, "c:\*.exe;*.pb;*.txt", #PB_Explorer_MultiSelect|#PB_Explorer_GridLines|#PB_Explorer_FullRowSelect|#PB_Explorer_AlwaysShowSelection )
    RemoveGadgetColumn(0, 2) ; Remove
    RemoveGadgetColumn(0, 2) ; Remove
ButtonGadget(1,20,200,350,30,"Узнать количество строк и определить имна выделеных строк")
    EditorGadget(2,10,238,380,200)
    Repeat
       
      Event=WaitWindowEvent()
      Gadget=EventGadget()
      Type=EventType()
     
      If Event=#PB_Event_Gadget ; Произошло событие в гаджете
       If Gadget=0 ; События от ExplorerListGadget
         
          Select Type
           Case #PB_EventType_Change           ; Был выбран другой пункт
            Debug "Был выбран другой пункт"
           Case #PB_EventType_LeftClick        ; Одиночный клик левой кнопкой мышки
            Debug "Одиночный клик левой кнопкой мышки"
           Case #PB_EventType_RightClick       ; Одиночный клик правой кнопкой мышки
            Debug "Одиночный клик правой кнопкой мышки"
           Case #PB_EventType_LeftDoubleClick  ; Двойной клик левой кнопкой мышки
            Debug "Двойной клик левой кнопкой мышки"
           Case #PB_EventType_RightDoubleClick ; Двойной клик правой кнопкой мышки
            Debug "Двойной клик правой кнопкой мышки"
          EndSelect
         
       ElseIf Gadget=1 ; События от кнопки
       
       CountItem=CountGadgetItems(0) ; Количество строк в ExplorerListGadget
        Text.s="" ; Очищаем строковую переменную
        Text=Text+"Количество строк:  "+Str(CountItem)+Chr(10)+Chr(10)
        Text=Text+"****************************************"+Chr(10)
        Text=Text+"Текущие строки:"+Chr(10)
          For i=0 To CountItem-1 ; В цикле читаем все строки
           Text=Text+GetGadgetItemText(0,i,0)+Chr(10) ; Счмтываем строку,номер которой задан в переменной i
          Next i
          Text=Text+Chr(10)+Chr(10)+"****************************************"+Chr(10)
          Text=Text+"Выделеные строки:"+Chr(10)
           For i=0 To CountItem-1 ; В цикле ицем выделеные строки
             If GetGadgetItemState(0,i)=5 Or GetGadgetItemState(0,i)=6 ; Есть выделеная строка
              Text=Text+GetGadgetItemText(0,i,0)+Chr(10) ; Читаем строку
             EndIf
           Next i
        SetGadgetText(2, Text)
       
       EndIf
       
      EndIf
   
    Until Event = #PB_Event_CloseWindow
  EndIf  


В редакторе отображаются сначала все строки, а затем те, что выделены.
Обрабатываются также клики мышкой по списку ExplorerListGadget

Ігор писал(а):
И такой вопрос: как убрать все колонки КРОМЕ именя самого файла и его размера?
Да вроде RemoveGadgetColumn работает. :?

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн сен 22, 2008 10:24 pm 
Не в сети
доцент

Зарегистрирован: Чт май 01, 2008 7:40 pm
Сообщений: 29
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Цитата:
Да вроде RemoveGadgetColumn работает.

Работает. :D
Но! Как узнать, что уберу именно то, что надо?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт сен 23, 2008 10:23 am 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11603
Благодарил (а): 4 раз.
Поблагодарили: 489 раз.
Ігор писал(а):
Но! Как узнать, что уберу именно то, что надо?

Ну так там стандартное количество колонок и они всегда находятся на определённых местах.
Есть вариант, но он будет работать только на русских Виндах та и то не навсех - нужно прочитать заголовки колонок и ориентироваться на их мена.
Прочитать можно так
Код:
1
2
3
4
 Debug GetGadgetItemText(0,-1,0)
   Debug GetGadgetItemText(0,-1,1)
   Debug GetGadgetItemText(0,-1,2)
   Debug GetGadgetItemText(0,-1,3)



Но всё же лучше использовать
Код:
1
2
3
RemoveGadgetColumn(0, 2) ; Remove 
    RemoveGadgetColumn(0, 2) ; Remove
 

поскольку при этом нет зависимости от винды и языка (а может есть, незнаю).

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср апр 10, 2013 11:56 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вс дек 09, 2012 9:02 pm
Сообщений: 780
Откуда: Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 14 раз.
Пункты репутации: 0
А как менять стиль отображения ExplorerListGadget-а.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 11, 2013 6:59 am 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 71 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
SetGadgetAttribute (Gadget, #PB_Explorer_DisplayMode, Mode). Возможны следующие значения:
Цитата:
#PB_Explorer_LargeIcon: Large icon mode
#PB_Explorer_SmallIcon: Small icon mode
#PB_Explorer_List : List icon mode
#PB_Explorer_Report : Report mode (columns, default mode)

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 11, 2013 1:07 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вс дек 09, 2012 9:02 pm
Сообщений: 780
Откуда: Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 14 раз.
Пункты репутации: 0
Спасибо, а как убрать расширение в ExplorerListGadget-е


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: ExplorerListGadget Чтение имя файла
СообщениеДобавлено: Пт дек 27, 2019 9:24 am 
Не в сети
профессор

Зарегистрирован: Вт май 13, 2014 4:12 am
Сообщений: 933
Благодарил (а): 100 раз.
Поблагодарили: 31 раз.
Пункты репутации: 5
Ігор писал(а):
как убрать все колонки КРОМЕ именя самого файла и его размера?

Код:
1
2
3
While GetGadgetItemText(elg1, -1, 0):RemoveGadgetColumn(elg1, 0):Wend; удаляем все колонки которые по умолчанию
AddGadgetColumn(elg1, 0, #PB_Explorer_Name, 350); добавляем нужную колонку
SetGadgetText(elg1, newPath.s); обновляем морду с нужной папкой


или
Код:
1
2
3
скока=SendMessage_(SendMessage_(GadgetID(1), #LVM_GETHEADER, 0, 0),  #HDM_GETITEMCOUNT, 0, 0)
 
 


каким вариантом узнаем количество колонок, без разницы
в случае отсутствия колонки ремове вылетает с ошибкой, так что надо убедиться в наличии колонки
не забывайте что винда после удаления колонки меняет нумерацию у тех что остались справа, так что если точно знаете какие удаляете, удаляйте справа налево, иначе индексы изменятся и удалите не то что хотели


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB