; ; ------------------------------------------------------------ ; ; PureBasic - MiniBrowser ; ; (c) Fantaisie Software ; ; ------------------------------------------------------------ ; Procedure ResizeWebWindow() ResizeGadget(10, #PB_Ignore, #PB_Ignore, WindowWidth(0), WindowHeight(0)-52) ResizeGadget(4, #PB_Ignore, #PB_Ignore, WindowWidth(0)-185, #PB_Ignore) ResizeGadget(5, WindowWidth(0)-25, #PB_Ignore, #PB_Ignore, #PB_Ignore) ResizeGadget(6, #PB_Ignore, #PB_Ignore, WindowWidth(0), #PB_Ignore) EndProcedure If OpenWindow(0, 100, 200, 500, 300, "PureBasic МиниБраузер v1.0", #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget) CreateStatusBar(0, WindowID(0)) AddStatusBarField(#PB_Ignore) StatusBarText(0, 0, "Добро пожаловать в самый маленький в мире браузер! :)", 0) ButtonGadget(1, 0, 3, 55, 25, "Назад") ButtonGadget(2, 50, 3, 55, 25, "Вперёд") ButtonGadget(3, 100, 3, 50, 25, "Стоп") StringGadget(4, 155, 5, 0, 20, "http://www.purebasic.com") ButtonGadget(5, 0, 3, 20, 25, ">") FrameGadget(6, 0, 30, 0, 2, "", 2) ; Хороший маленький сепаратор If WebGadget(10, 0, 31, 0, 0, "http://www.purebasic.com") = 0 CompilerIf #PB_Compiler_OS <> #PB_OS_Windows ; Linux и OX использует Webkit MessageRequester("Ошибка", "Webkit библиотека не найдена", 0) CompilerEndIf End ; Выход EndIf AddKeyboardShortcut(0, #PB_Shortcut_Return, 0) ; Используем bindevent() для изменения размера окна в реальном времени ; BindEvent(#PB_Event_SizeWindow, @ResizeWebWindow()) ResizeWebWindow() ; Настройка Гаджета на текущий размер окна Repeat Event = WaitWindowEvent() Select Event Case #PB_Event_Gadget Select EventGadget() Case 1 SetGadgetState(10, #PB_Web_Back) Case 2 SetGadgetState(10, #PB_Web_Forward) Case 3 SetGadgetState(10, #PB_Web_Stop) Case 5 SetGadgetText(10, GetGadgetText(4)) EndSelect Case #PB_Event_Menu ; У нас есть только один ярлык SetGadgetText(10, GetGadgetText(4)) EndSelect Until Event = #PB_Event_CloseWindow EndIf