motorboy
 - Стаж: 9 дней
- Сообщений: 11
- Репутация:2[+] [-]
|
Последний раз редактировалось: motorboy (Сегодня, в 21:49), всего редактировалось 11 раз(а)
|
 Отправлено: Сегодня, в 04:47
(спустя 2 дня 2 часа)
AZJIO
  - Стаж: 8 лет
- Сообщений: 1356
- Репутация:127[+] [-]
|
motorboy, вот ещё пример со списком, с привязкой данных к пунктуcode;- TOP EnableExplicit ;- ● Structure Structure prog path.s name.s idxImage.i size.q *p EndStructure ;- ● Define Define ListIcon_ID, hImgList Define hIcon, i, idx, tmp, tmp$ Define item.LVITEM Define *p Define NewList ProgName() Define NewList prog.prog() ;- List *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files\7-Zip\7zFM.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files\AIMP\AIMP.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files\WinRAR\WinRAR.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Windows\System32\notepad.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Windows\System32\calc.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files\Internet Explorer\iexplore.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files\Everything\Everything.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files\WinMerge\WinMergeU.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files (x86)\K-Lite Codec Pack\MPC-HC64\mpc-hc64.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files (x86)\Resource Hacker\ResourceHacker.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files (x86)\Scanner\Scanner.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files (x86)\HxD\HxD.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files (x86)\QTranslate\QTranslate.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files (x86)\HTML Help Workshop\hhw.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files (x86)\FastStone Image Viewer\FSViewer.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" ;-┌──GUI──┐ If OpenWindow(0, 0, 0, 300, 350, "Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ListIcon_ID = ListIconGadget(#PB_Any, 5, 5, 290, 340, "Файлы", 200, #PB_ListIcon_FullRowSelect | #LVS_NOCOLUMNHEADER) hImgList = ImageList_Create_(32, 32, #ILC_COLOR32 | #ILC_MASK, 1, 1) SendMessage_(GadgetID(ListIcon_ID), #LVM_SETIMAGELIST, #LVSIL_SMALL, hImgList) ; Добавляем данные ForEach prog() Next i = 0 SendMessage_(GadgetID(ListIcon_ID), #WM_SETREDRAW, 0, 0) ForEach prog() If FileSize(prog()\path) > 100 hIcon = 0 ExtractIconEx_(prog()\path, 0, @hIcon, 0, 1) If hIcon tmp = ImageList_AddIcon_(hImgList, hIcon) DestroyIcon_(hIcon) ; Иконку уже в ImageList, оригинал можно удалить If tmp <> -1 prog()\idxImage = i item\mask = #LVIF_IMAGE item\iItem = i item\iImage = i tmp$ = GetFilePart(prog()\path, #PB_FileSystem_NoExtension) AddGadgetItem(ListIcon_ID, i, tmp$) SendMessage_(GadgetID(ListIcon_ID), #LVM_SETITEM, 0, @item) SetGadgetItemData(ListIcon_ID, i, prog()\p) i + 1 EndIf EndIf Else DeleteElement(prog()) ; удалить несуществующий путь из списка EndIf Next SendMessage_(GadgetID(ListIcon_ID), #WM_SETREDRAW, 1, 0) ;-┌──Loop──┐ Repeat Select WaitWindowEvent() ;- ├ Gadget Case #PB_Event_Gadget Select EventGadget() Case ListIcon_ID If EventType() = #PB_EventType_LeftClick idx = GetGadgetState(ListIcon_ID) If idx <> -1 *p = GetGadgetItemData(ListIcon_ID, idx) ChangeCurrentElement(prog() , *p) RunProgram(prog()\path) EndIf EndIf EndSelect ;- ├ Close Case #PB_Event_CloseWindow CloseWindow(0) ImageList_Destroy_(hImgList) End EndSelect ForEver ;-└──Loop──┘ EndIf
|
motorboy
 - Стаж: 9 дней
- Сообщений: 11
- Репутация:2[+] [-]
|
AZJIO Спасибо за помощь! Скоро выложу новую версию в которой реализовал то о чем просили, а потом займусь размером иконок, Hover меню, и фильтром показа программ на разных версиях винды.
|
Страница 3 из 3
Текущее время: 10-Мар 23:42
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|