; ; ------------------------------------------------------------ ; ; PureBasic - Gadget example file ; ; (c) Fantaisie Software ; ; ------------------------------------------------------------ ; #WindowWidth = 450 #WindowHeight = 305 ; Загрузим наши изображения.. ; LoadImage(0, #PB_Compiler_Home + "examples/sources/Data/Drive.bmp") LoadImage(1, #PB_Compiler_Home + "examples/sources/Data/File.bmp") LoadImage(2, #PB_Compiler_Home + "examples/sources/Data/PureBasic.bmp") CompilerIf #PB_Compiler_OS = #PB_OS_Windows ; формат файлов .ico поддерживается только в Windows. LoadImage(3, #PB_Compiler_Home + "examples/sources/Data/CdPlayer.ico") CompilerElse LoadImage(3, #PB_Compiler_Home + "examples/sources/Data/Drive.bmp") CompilerEndIf CreatePopupMenu(0) MenuItem(0, "Выскакивание!") If OpenWindow(0, 100, 200, #WindowWidth, #WindowHeight, "PureBasic - Продвинутая Демонстрация Гаджетов", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget) ListIconGadget(5, 170, 50, 265, 200, "Столбец 1", 131) AddGadgetColumn(5, 1, "Столбец 2", 300) AddGadgetColumn(5, 2, "Столбец 3", 80) TextGadget(4, 10, 16, 180, 35, "Подождите инициализации...") ProgressBarGadget(3, 10, 260, #WindowWidth-25, 20, 0, 100) ; Обновление ProgressBar, просто для удовольствия! ; For k=0 To 100 SetGadgetState(3, k) Delay(10) Next ImageGadget (0, 200, 5, 0, 0, ImageID(2)) ButtonImageGadget(1, 384, 5, 50, 36, ImageID(3)) TreeGadget (2, 10, 50, 150, 200) SetGadgetText(4, "Инициализация Ok... Welcome !") ; Заполните Гаджет дерева большим количеством записей (включая изображение) ; For k=0 To 10 AddGadgetItem(2, -1, "Главное "+Str(k), ImageID(1)) AddGadgetItem(2, -1, "Режим экрана", ImageID(1)) AddGadgetItem(2, -1, "640*480", ImageID(1), 1) AddGadgetItem(2, -1, "800*600", ImageID(3), 1) AddGadgetItem(2, -1, "1024*768", ImageID(1), 1) AddGadgetItem(2, -1, "1600*1200", ImageID(1), 1) AddGadgetItem(2, -1, "Джойстик", ImageID(1)) Next ; Заполните Гаджет ListIcon. Обратите внимание, что столбец разделен символом Chr (10) (конец строки) ; For k=0 To 100 AddGadgetItem(5, -1, "Элемент "+Str(k)+Chr(10)+"C 2"+Chr(10)+"Комментарий 3", ImageID(3)) Next SetGadgetState(5, 8) Repeat Event = WaitWindowEvent() If Event = #PB_Event_Gadget Select EventGadget() Case 1 MessageRequester("Инфо", "Ты сделал это!", 0) Case 2 SetGadgetText(4, "TreeGadget. Выбор элемента: "+Str(GetGadgetState(2))) If EventType() = 2 MessageRequester("Инфо", "Двойной клик: элемент"+Str(GetGadgetState(2))+", Текст: "+GetGadgetText(2), 0) ElseIf EventType() = 1 DisplayPopupMenu(0, WindowID(0)) EndIf Case 5 SetGadgetText(4, "ListIconGadget. Выбор элемента: "+Str(GetGadgetState(5))) If EventType() = 2 MessageRequester("Инфо", "Двойной клик: элемент"+Str(GetGadgetState(5))+", Текст: "+GetGadgetText(5), 0) ElseIf EventType() = 1 DisplayPopupMenu(0, WindowID(0)) EndIf EndSelect EndIf Until Event = #PB_Event_CloseWindow EndIf End