Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
Фотовьювер
SSleveraДата: Воскресенье, 08 Мая 2011, 12:16 | Сообщение # 1
Новый участник
Группа: Пользователи
Сообщений: 2
Репутация: 0
Награды: 0
Статус: Offline
Задача следующая: организовать обычный просмотр фоток и предпросмотр. Тоесть, загрузив в листбокс несколько фоток, первая из них показывается в окне просмотра, а следующая ей в списке должна отображаться ввиде маленькой превьюшки. Как это сделать?

Пример проекта прикрепляю

Прикрепления: list.rar (1.1 Kb)


Сообщение отредактировал SSlevera - Вторник, 10 Мая 2011, 16:32
 
DEMBELДата: Воскресенье, 08 Мая 2011, 13:02 | Сообщение # 2
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
взять следующий элемент массива считая от выделенного...

кстати, раз мультивыбор в списке отключен, незачем перебирать в цикле выделенные элементы, он всегда будет один:

Code
ListBoxGetSelectedItems("SongList","Items$,ItemsNum$,#,NumItems")
c=LEN(Items$)-1
Items$=StrCopy(Items$,1,c)
ReplaceImage("Image","Items$ ")

то что закомментировано мне показалось лишним:
Code
BrowseForFolder("Выберите папку с изображениями:","")
folder$=CBK_OpenDir
If (folder$ <> '') Then
   SearchForFiles("folder$","jpg")
   If (CBK_NumInList>0) Then
     ListBoxAddItem("SongList","RESET")
     ListBoxAddItem("SongList","<List>")
     **ListBoxGetItems("SongList","<List>")
     ** SongListReset()
     ** ListBoxGetItems("SongList","<List>")
     ListBoxSelectItem("SongList","1")
   End
End

ну а как взять элемент массива я попозже покажу, если кто-то ранее не ответит...




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
YURIYДата: Воскресенье, 08 Мая 2011, 15:38 | Сообщение # 3
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
http://mmbuilder.ru/publ/lessons/start/9/2-1-0-17
http://mmbuilder.ru/publ/lessons/start/10/2-1-0-18

http://mmbuilder.ru/load/projects/other/32-1-0-464
http://mmbuilder.ru/load/projects/other/32-1-0-446

Это навскидку! Вам мало информации для создания своего алгоритма и решения поставленной задачи?



Вечная память Андрею Сергееву!
 
DEMBELДата: Воскресенье, 08 Мая 2011, 16:52 | Сообщение # 4
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Code
ListBoxGetSelectedItems("SongList","Items$,ItemsNum$,#,NumItems")
c=LEN(Items$)-1
Items$=StrCopy(Items$,1,c)
ReplaceImage("Image","Items$ ")
**берем номер следующего элемента
NextItem = VAL(ItemsNum$)+1
**достаем его
ListBoxGetItems("SongList","Items$,ItemsNum$,#,NumItems")
GetItem$ = GetArrayItem(Items$,#,NextItem)
**если он не последний то загружаем превью
If (GetItem$ <> '') Then
   ReplaceImage("Preview","GetItem$")
End




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
SSleveraДата: Вторник, 10 Мая 2011, 16:32 | Сообщение # 5
Новый участник
Группа: Пользователи
Сообщений: 2
Репутация: 0
Награды: 0
Статус: Offline
спасибо за информацию, к сожалению под рукой нет компьютера, как достигну результата в этой затее, отпишусь

Добавлено (10 Май 2011, 16:32)
---------------------------------------------
И так, всё получилось всё работает, однако появился ещё вопрос, (к сожалению у меня получилось сделать это только так как написанно ниже) можно ли сделать короче и быстрее?

Code
ListBoxGetSelectedItems("SongList","Items$,ItemsNum$,#,NumItems")
c=LEN(Items$)-1
Items$=StrCopy(Items$,1,c)
ReplaceImage("Image","Items$  ")

NextItem = VAL(ItemsNum$)+1
PrevItem = VAL(ItemsNum$)-1
CurItem = CBK_CurItemList
TotalItem = CBK_NumInList

ListBoxGetItems("SongList","Items$,ItemsNum$,#,NumItems")

GetItemN$ = GetArrayItem(Items$,#,NextItem)
GetItemP$ = GetArrayItem(Items$,#,PrevItem)
GetItemC$ =  GetArrayItem(Items$,#,CurItem)
GetItemT$ =  GetArrayItem(Items$,#,TotalItem)

If (NextItem > CBK_NumInList) Then
    ImageOpacity("PreviewN","30")
    ReplaceImage("PreviewN","GetItemT$")
End

If (NextItem < CBK_NumInList) Then
    ImageOpacity("PreviewN","90")
    ReplaceImage("PreviewN","GetItemT$")
End

If (GetItemN$ <> '') Then
    ImageOpacity("PreviewN","90")
    ReplaceImage("PreviewN","GetItemN$")
End

If (CBK_NumInList > 0) Then
    ImageOpacity("PreviewP","30")
    ReplaceImage("PreviewP","GetItemC$")
End

If (GetItemP$ <> '') Then
    ImageOpacity("PreviewP","90")
    ReplaceImage("PreviewP","GetItemP$")
End

Ну и на всякий случай пример того, что вышло прикреплю в первый пост.
http://mmbuilder.ru/forum/12-2363-46013-16-1304842613

Сообщение отредактировал SSlevera - Вторник, 10 Мая 2011, 16:33
 
  • Страница 1 из 1
  • 1
Поиск: