PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Браузер на PureBasic


Браузер на PureBasic

Сообщений 1 страница 18 из 18

1

Добавил простую панель поиска : Яндекс и Google по ним пока вопросов нет.
Пробую добавить иконку возле надписи в ComboBoxGadget() , есть рабочие примеры в
CodeArchiv с использованием API функций. Примеры писались давно, когда не было поддержки
прозрачных каналов PNG, наверно можно решить проще.
Для меня самый простой вариант (может не самый правильный), программно,  через константу убрать обводку
гаджета и нарисовать её на фоне.
По StringGadget примеров с изображениями не нашел.
С  StringGadget,  чтоб поместить изображение внутрь обводки, нарисовал на фоне обводку, но при таком варианте, эти
элементы - жестко привязаны к своему месторасположению. Надо перерисовывать фон, или использовать
гаджет-линия предложенные Петром. Но пока для простоты кода - рисую на фоне.

Код:
;------------------------------------------------------
;                  Браузер
; 
;                  2010 год
;
;                 PureBasic 4.40
;
;-------------------------------------------------------

UsePNGImageDecoder()   ; инициализация PNG   декодера

Enumeration 
 #Window_0
 #Strin_1
 #Strin_2
 #poisk
 #web      
 #But      
 #But_1    
 #But_2
 #But_3
 #Imag
 #Imag_1
 #GO_Search
 #pos
 #But_4
 #But_5
 #fav
 #Image  
EndEnumeration




;{--Эта процедура определяет находится ли курсор мышки над заданым окном или гаджетом-------
Procedure IsMouseOver(wnd) 
 GetWindowRect_(wnd,re.RECT) 
 GetCursorPos_(pt.POINT) 
 Result.l = PtInRect_(@re, pt\x | (pt\y<<32) )
ProcedureReturn Result 
EndProcedure
;}------------------------------------------------------------------------------------------


;{----------- курсор рука над изоброжением-------------------------------------------------- 
Procedure Search(Event) 
Static Button, Buton_DOWN
 If Event=#WM_MOUSEMOVE ; Переместилась мышка
     If IsMouseOver(GadgetID(#Imag)) 
     myCursor=LoadCursor_(0,#IDC_HAND) ; курсор рука
     SetCursor_(myCursor) ; курсор рука
    EndIf 
 EndIf     
EndProcedure
;}------------------------------------------------------------------------------------------

;{-------загрузаем в #Strin_1 полученый адрес новой ссылки при переходе---------------------
Procedure NavigationCallback(Gadget, Url$)  
SetGadgetText(#Strin_1, Url$)         
 ProcedureReturn #True 
EndProcedure
;}------------------------------------------------------------------------------------------


;{----------------Процедура поиск-----------------------------------------------------------
Procedure Poisk()
 pos = GetGadgetState(77)+80    ; вычисляем идентификатор #web 
 text.s = GetGadgetText(#poisk)      ; какой выбран поиск (yandex или google)
 zapros.s = GetGadgetText(#Strin_2) 
   If text = "Яндекс"
     SetGadgetState(#Imag,ImageID(4)) ; изменяем текущее состояние изображенния
     SetGadgetText(pos, "http://yandex.ua/yandsearch?text=" + zapros)
   ElseIf  text = "Google"
     SetGadgetState(#Imag,ImageID(5))  ; изменяем текущее состояние изображенния 
     SetGadgetText(pos, "http://www.google.com/search?hl=ru&q=" + zapros)
   EndIf
EndProcedure
;}-----------------------------------------------------------------------------------------

;{--------Дуйствие, если курсор над поиском по кнопке "Enter"------------------------------
Procedure Strin_2(hwnd, msg, wParam, lParam) 
*PointOldEditFunc=GetWindowLong_(hWnd,#GWL_USERDATA)
 If  msg=258 
   If wParam=13
     msg=0
       Poisk()
   EndIf
 EndIf
ProcedureReturn CallWindowProc_(*PointOldEditFunc,hwnd, msg, wParam, lParam) 
EndProcedure 
;}-----------------------------------------------------------------------------------------

;{------Процедура скачивания favicon------------------------------------------------------- 
Procedure IEGetFile(file.s,page.s)
  If URLDownloadToFile_(#Null,@page,@file,#Null,#Null) = #S_OK 
    ProcedureReturn #True 
  Else 
    ProcedureReturn #False 
  EndIf 
EndProcedure

Procedure.s URLHostPart(u.s) ; определение хоста 
  If FindString(u,"://",1) 
    ProcedureReturn StringField(u,3,"/") 
  Else 
    ProcedureReturn StringField(u,1,"/") 
  EndIf 
EndProcedure 
;}-----------------------------------------------------------------------------------------


Procedure UpdateSpectrum(*xx)        ; Функция для создания индикатора 

Repeat

pos = GetGadgetState(77)+80    ; вычисляем идентификатор #web
SetGadgetAttribute(pos, #PB_Web_NavigationCallback, @NavigationCallback())   ;  узнаём URL
    url.s = GetGadgetText(#Strin_1)  ; получаем адрес
    rezu.s =URLHostPart(url.s)       ; выделяем хост из адреса
    
IEGetFile("img/"+rezu.s+".ico", "http://"+rezu.s+"/favicon.ico")
       
     a=  SetGadgetState(#fav,LoadImage(#Image, "img/"+rezu.s+".ico"))    
      If  a= 0
      SetGadgetState(#fav,LoadImage(#Image, "img/purebasic.mybb.ru.ico"))
      EndIf
Delay(350) 
ForEver
EndProcedure 
;}---------------------------------------------------------------------------


CatchImage(0,  ?Im0,  ?Im0End -?Im0 )
CatchImage(1,  ?Im1,  ?Im1End -?Im1 )
CatchImage(2,  ?Im2,  ?Im2End -?Im2 )
CatchImage(3,  ?Im3,  ?Im3End -?Im3 )
CatchImage(4,  ?Im4,  ?Im4End -?Im4 )
CatchImage(5,  ?Im5,  ?Im5End -?Im5 )
CatchImage(6,  ?Im6,  ?Im6End -?Im6 )

CatchImage(7,  ?Im7,  ?Im7End -?Im7 )       ; создать ссылку
CatchImage(8,  ?Im8,  ?Im8End -?Im8 )
CatchImage(9,  ?Im9,  ?Im9End -?Im9 )
CatchImage(10,  ?Im10,  ?Im10End -?Im10)
CatchImage(11,  ?Im11,  ?Im11End -?Im11)
CatchImage(12,  ?Im12,  ?Im12End -?Im12)
CatchImage(13,  ?Im13,  ?Im13End -?Im13)    ; удалит ссылку


OpenWindow (#Window_0,  0,  0,  1000,  800,  "Браузер на PureBasic", #PB_Window_MinimizeGadget |#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered |#PB_Window_SizeGadget) 
  SetWinBackgroundImage(WindowID(0), ImageID(3) ) 
  SmartWindowRefresh(#Window_0 ,1)                 ; для уменьшения мигания окна при изменении размера
 
  StringGadget(#Strin_1, 150, 6, 550, 16, "http://purebasic.info/",#PB_String_BorderLess)
  ButtonImageGadget(#But_1,10,2,22,22,ImageID(1))  ; браузер <<<
  ButtonImageGadget(#But,  35,2,32,22,ImageID(0))  ; обновить браузер
  ButtonImageGadget(#But_3,70,2,22,22,ImageID(6))  ; закрыть вкладку
  ButtonImageGadget(#But_2,95,2,22,22,ImageID(2))  ; браузер >>>
  
;GadgetToolTip( #But_1,  "Вернуться")
;GadgetToolTip( #But_3,  "закрыть вкладку")
;GadgetToolTip( #But_2,  "Вперёд")

  StringGadget(#Strin_2, 722, 6, 175, 16, "Поиск",#PB_String_BorderLess)
  ImageGadget(#Imag,   900, 5, 16, 16,ImageID(4))  ; лого поиска
   ComboBoxGadget(#poisk, 925, 3, 65, 20)
    AddGadgetItem (#poisk, -1,  "Яндекс")
    AddGadgetItem (#poisk, -1,  "Google")
    SetGadgetState(#poisk, 0)    ; начальное положение
    
    ImageGadget(#fav, 128, 5, 16, 16,LoadImage(#Image, "img/purebasic.info.ico"))
    
  
  ;----------------нажатие 'Enter' в поиске------------------------------ 
  *Old_PointOldEditFunc=GetWindowLong_(GadgetID(#Strin_2), #GWL_WNDPROC)
  SetWindowLong_(GadgetID(#Strin_2),#GWL_USERDATA, *Old_PointOldEditFunc)
  SetWindowLong_(GadgetID(#Strin_2), #GWL_WNDPROC, @Strin_2())
  ;----------------------------------------------------------------------


 PanelGadget(77, 0, 25, 1000, 750) ; панель
  AddGadgetItem(77, -1, "Главная")
  WebGadget(80, 0,0,1000,750, "")
 
  SetGadgetAttribute(80, #PB_Web_NavigationCallback, @NavigationCallback()) ; для получения нового URL
  SetGadgetText(80,  GetGadgetText(#Strin_1))  ; загружаем при старте браузер
                     
a=101
;------------------Меню--------------------
  If CreateImageMenu(1, WindowID(#Window_0))
   MenuTitle("Файл")
     MenuItem(1,"Открыть", ImageID(8))
     MenuItem(2,"Сохранить", ImageID(9))
      MenuBar()
     MenuItem(3,"Выход", ImageID(10))  
     MenuTitle("Избранное")
      MenuItem(0,"Создать ссылку",ImageID(7))
      MenuItem(00,""  )
      MenuItem(333,"Удалить ссылку",ImageID(13))
      MenuItem(00,""  )
       MenuBar()
      MenuItem(100,""  )  
        If OpenPreferences("url.pcs")
           PreferenceGroup("адрес")
             If ExaminePreferenceKeys()
               While NextPreferenceKey()>0        ; пока в группе "адрес" есть записи
                 keyValue$ = PreferenceKeyValue()
                 keyValue$ = ReplaceString(keyValue$, "~", "=") ; заменяем  "~" на "="
                   MenuItem(a,  keyValue$  )      ;  создаём меню с 101 позиции и записываем адреса по порядку
                   a=a+1 
               Wend
             EndIf
          ClosePreferences()    
        EndIf
        
     MenuTitle("Информация")
     MenuItem(4,  "Помощь", ImageID(11))
     MenuItem(5,  "О программе", ImageID(12))     
  EndIf
;------------------------------------------


CreateThread(@UpdateSpectrum(),0) 

Repeat
Event =  WaitWindowEvent() 
Window = EventWindow() 
Gadget = EventGadget()

     




   If Event=#PB_Event_SizeWindow   ; Изменяем размер браузера при изменении размеров окна

    ResizeGadget(77,#PB_Ignore,#PB_Ignore, WindowWidth(#Window_0)-0, WindowHeight(#Window_0)-0)
    ;Debug  CountGadgetItems(77)+79
    For a=0 To CountGadgetItems(77)-1 ; вычисляем идентификатор #web
      ResizeGadget(80+a,#PB_Ignore,#PB_Ignore, WindowWidth(#Window_0)-10, WindowHeight(#Window_0)-60)
    Next 
   EndIf 


  Select Event
   Case #PB_Event_Gadget
    Select EventGadget()
;----------------------------------Поиск---------------------------------------    
    Case #Imag  ; при нажатии на изображение
       Poisk()
;-------------------------------------------------------------------------------
     Case #poisk ; выбор поиска
       If EventType()=1
         text.s = GetGadgetText(#poisk)
         zapros.s = GetGadgetText(#Strin_2) 
        If text = "Яндекс"
          SetGadgetState(#Imag,ImageID(4))  ; изменяем текущее состояние изображенния
        ElseIf  text = "Google"
          SetGadgetState(#Imag,ImageID(5))  ; изменяем текущее состояние изображенния 
        EndIf
       EndIf    
;-------------------------------------------------------------------------------
     Case #But_1
       pos =GetGadgetState(77)+80          ; вычисляем идентификатор #web
       SetGadgetState(pos, #PB_Web_Back)   ; вернуться на шаг назад  в браузере         
     Case #But
       pos =GetGadgetState(77)+80          ; вычисляем идентификатор #web
       SetGadgetText(pos,  GetGadgetText(#Strin_1)) ; обновить браузер 
     Case #But_2
       pos =GetGadgetState(77)+80          ; вычисляем идентификатор #web 
       SetGadgetState(pos, #PB_Web_Forward); вернуться на шаг вперёд в браузере 
     Case #But_3 
       pos =GetGadgetState(77)
       If pos>0
        RemoveGadgetItem(77, pos)  ; удаляем панель
       EndIf

    EndSelect
  EndSelect
  
  
  Menu=EventMenu()                   ; Узнаём идентификатор пункта меню
  If Event= #PB_Event_Menu           ; Обрабатываем события от меню.
     Select Menu
        
      Case 0 ; создание новой ссылки
      url.s = GetGadgetText(#Strin_1)  ; получаем адрес
      rezu.s =URLHostPart(url.s)       ; выделяем хост из адреса

      IEGetFile("img/"+rezu.s+".ico", "http://"+rezu.s+"/favicon.ico") ; функция сохранения  и скачивания favicon.ico
      
      
        
        url.s = ReplaceString(url.s, "=", "~")  ; заменяем перед записью "=" на "~"
        If url.s > ""       ; если строка не пустая                               
           OpenPreferences("url.pcs")                  ; открыть файл с настройками
            PreferenceGroup("адрес")                   ; раздел адрес
            WritePreferenceString(url.s, url.s)        ; запись нового адреса
           ClosePreferences() 
           a =a+1                            ; увеличиваем номер пустой закладки 
        EndIf
         
        InsertMenu_(MenuID(1), 100, #MF_BYCOMMAND , a, url.s) ; api функция добавляет новый пункт меню, перед 101 пунктом
        DrawMenuBar_(WindowID(#Window_0))              ; перирисовка
   
     ;-----------16 заготовок под закладки------------            
      Case 101 To 116
       AddGadgetItem(77, -1, "Закладка")  ; создаём новую панель
       pos = CountGadgetItems(77)+79    ; вычисляем идентификатор #web
       Text.s = GetMenuItemText(1, EventMenu())
       WebGadget(pos, 0,0,1000,750,Text)      ;  загружаем адрес закладки в браузер
       SetGadgetText( #Strin_1, Text)  ;  загружаем адрес закладки в #Strin_1
        SetGadgetAttribute(pos, #PB_Web_NavigationCallback, @NavigationCallback())   ;  узнаём URL
               
        ResizeGadget(pos,#PB_Ignore,#PB_Ignore, WindowWidth(#Window_0)-7, WindowHeight(#Window_0)-40)
  
      url.s = GetGadgetText(#Strin_1)  ; получаем адрес
      rezu.s =URLHostPart(url.s)       ; выделяем хост из адреса

        SetGadgetState(#fav,LoadImage(#Image, "img/"+rezu.s+".ico"))

      ;-----------------------------------------------
      Case 3 ; выход из программы
       End
      Case 333
        del.s = GetGadgetText(#Strin_1)
        del.s = ReplaceString(del.s, "=", "~")  ; заменяем перед удалением "=" на "~"
       If OpenPreferences("url.pcs") 
         PreferenceGroup("адрес") 
         RemovePreferenceKey(del.s) ; удаляем пункт, который загружен в #Strin_1
         ClosePreferences()
       EndIf
     
      MessageRequester("Ссылка удалена !", "         Внимание ! "+Chr(10)+"Возможно востановить ссылку, пока она"+Chr(10)+"  загруженна в браузер", #MB_OK|#MB_ICONQUESTION)
       
     EndSelect  
  EndIf
  
  Search(Event) ; курсор рука над лого: поиск
  
If Event = #PB_Event_CloseWindow
Break    
EndIf
ForEver 

DataSection
 Im0:
 IncludeBinary "refresh.png"
 Im0End:
 Im1:
 IncludeBinary "left.png"
 Im1End:
 Im2:
 IncludeBinary "right.png"
 Im2End:
 Im3:
 IncludeBinary "fon3.png"
 Im3End:
 Im4:
 IncludeBinary "yandex.png"
 Im4End:
 Im5:
 IncludeBinary "google_1.png"
 Im5End:
 Im6:
 IncludeBinary "close.png"
 Im6End:
 
 Im7:
 IncludeBinary "create.png"
 Im7End:
 Im8:
 IncludeBinary "open_PB.png"
 Im8End:
 Im9:
 IncludeBinary "save_PB.png"
 Im9End:
 Im10:
 IncludeBinary "close.png"
 Im10End:
 Im11:
 IncludeBinary "information.png"
 Im11End:
 Im12:
 IncludeBinary "house.png"
 Im12End:
 Im13:
 IncludeBinary "delete.png"
 Im13End:
EndDataSection

Скачать архив браузер

http://www.mirashic.narod.ru/img/browser_1.png

Отредактировано mirashic (08.02.2010 21:31:06)

0

2

А почему поиск производится только при выборе поисковика в выпадающем списке?
Логичнее было бы, если происк производился при нажатии Enter, когда активно поле поиска, или при клике по иконке поиска.

mirashic написал(а):

По StringGadget примеров с изображениями не нашел.

Помоему туда вообще нельзя запихнуть рисунок.
В выпадающий список можно, но насчёт прозрачности неуверен.
Лучше используй в место PNG рисунков, иконки (файлы с расширением ICO). Они тоже поддерживают прозрачность.

0

3

По кнопке интер пробовал и вроде отлично работает, но если загружена страница поиска и запрос выполняется с страницы, а не с StringGadget,  то всё равно загружается текст с
StringGadget

Использовал такой вариант:

Код:
#Window_0  = 0
#web       = 1
#Strin_2   = 2
#poisk     = 3
#Imag      = 4
#GO_Search = 5

UsePNGImageDecoder()   ; инициализация PNG   декодера
UseJPEGImageDecoder()  ; инициализация JPEG  декодера 


;CatchImage(0,  ?Im0,  ?Im0End -?Im0 )

OpenWindow (#Window_0,  0,  0,  1000,  800,  "Поиск на PureBasic", #PB_Window_MinimizeGadget |#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered|#PB_Window_SizeGadget ) 
 
 StringGadget(#Strin_2, 715, 5, 200, 20, "http://purebasic.info/")
 ;ImageGadget(#Imag, 895, 7, 16, 16,ImageID(0)) 
 WebGadget(#web,5,30,990,740,"") 

 ComboBoxGadget(#poisk, 920, 5, 70, 20)
 AddGadgetItem (#poisk, -1,  "Яндекс")
 AddGadgetItem (#poisk, -1,  "Google")
 SetGadgetState(#poisk, 0)  
    
AddKeyboardShortcut(#Window_0,  #PB_Shortcut_Return, #GO_Search) 

Repeat
Event =  WaitWindowEvent() 
Window = EventWindow() 
Gadget = EventGadget()
   Select Event
        Case #PB_Event_Gadget
          Select EventGadget()
             Case #poisk
             If EventType()=1
                text.s = GetGadgetText(#poisk) 
               If text = "Яндекс"
                 SetGadgetText(#web, "http://yandex.ua/yandsearch?text="  + GetGadgetText(#Strin_2))
               ElseIf  text = "Google"
                 SetGadgetText(#web, "http://www.google.com/search?hl=en&ie=ISO-8859-1&q="  + GetGadgetText(#Strin_2))
               EndIf
             EndIf 
          EndSelect
         Case #PB_Event_Menu
         
       If EventMenu()  
            text.s = GetGadgetText(#poisk) 
           If text = "Яндекс"
             SetGadgetText(#web, "http://yandex.ua/yandsearch?text="  + GetGadgetText(#Strin_2))
           ElseIf  text = "Google"
             SetGadgetText(#web, "http://www.google.com/search?hl=en&ie=ISO-8859-1&q="  + GetGadgetText(#Strin_2))
           EndIf
       EndIf
          
   EndSelect
If Event = #PB_Event_CloseWindow
Break    
EndIf
ForEver 


DataSection
 ;Im0:
 ;IncludeBinary "magnifier.png"
 ;Im0End:
EndDataSection

Отредактировано mirashic (05.02.2010 19:38:16)

0

4

Не получается с кнопкой "Enter", работает или поиск в программе, или на странице ?

Обновил код.

Отредактировано mirashic (05.02.2010 22:53:26)

0

5

Как получить (выделить) URL адрес новой, открытой страницы ?

0

6

mirashic написал(а):

Не получается с кнопкой "Enter", работает или поиск в программе, или на странице

Не нужно было назначать "Enter" как "гарячую клавишу"!
Есть и другие варианты.

Код:
Procedure String_CB1(hwnd, msg, wParam, lParam)
*PointOldEditFunc=GetWindowLong_(hWnd,#GWL_USERDATA)
 If  msg=258 
   If wParam=13
     msg=0
     Debug "Нажата кнопка Enter в верхнем поле"
   EndIf
 EndIf
ProcedureReturn CallWindowProc_(*PointOldEditFunc,hwnd, msg, wParam, lParam) 
EndProcedure 

Procedure String_CB2(hwnd, msg, wParam, lParam)
*PointOldEditFunc=GetWindowLong_(hWnd,#GWL_USERDATA)
 If  msg=258 
   If wParam=13
     msg=0
     Debug "Нажата кнопка Enter в нижнем поле"
   EndIf
 EndIf
ProcedureReturn CallWindowProc_(*PointOldEditFunc,hwnd, msg, wParam, lParam) 
EndProcedure 



OpenWindow(1,0,0,100,70,"",#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
StringGadget(1,10,10,90,20,"")
  *Old_PointOldEditFunc=GetWindowLong_(GadgetID(1), #GWL_WNDPROC)
  SetWindowLong_(GadgetID(1),#GWL_USERDATA, *Old_PointOldEditFunc)
  SetWindowLong_(GadgetID(1), #GWL_WNDPROC, @String_CB1())
StringGadget(2,10,40,90,20,"")
  *Old_PointOldEditFunc=GetWindowLong_(GadgetID(2), #GWL_WNDPROC)
  SetWindowLong_(GadgetID(2),#GWL_USERDATA, *Old_PointOldEditFunc)
  SetWindowLong_(GadgetID(2), #GWL_WNDPROC, @String_CB2())

Repeat 
 Event=WaitWindowEvent() 
Until Event=#PB_Event_CloseWindow
mirashic написал(а):

Как получить (выделить) URL адрес новой, открытой страницы

Код:
Procedure NavigationCallback(Gadget, Url$) 
    Debug  Url$
 ProcedureReturn #True 
EndProcedure 
  
  If OpenWindow(0, 0, 0, 600, 300, "WebGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) 
    WebGadget(0, 10, 10, 580, 280, "http://www.purebasic.com") 
    SetGadgetAttribute(0, #PB_Web_NavigationCallback, @NavigationCallback())
    Repeat 
    Until WaitWindowEvent() = #PB_Event_CloseWindow 
  EndIf

0

7

Спасибо, сразу начну с второй  примера. Вроде пересматривал  КодАрхив и не нашел.
Спасибо.

0

8

Обновил код.
Теперь работает :

Показ адреса при переходе по новой ссылке
Кнопка 'Enter' над поиском
Клик по логотипу поиска

Не могу понять, или интернет у меня тормозит, или программа стала тормозить ?

0

9

Теперь заметил, что ссылки сохраняются все, а выводятся -нет.
Если в имени ссылки есть знак =
В файле сохранения будет запись например :

Браузер на PureBasic    =    Браузер на PureBasic
 
а загружается в браузер по первое ровно:

=23    =    Браузер на PureBasic

Придется делать по другому.

0

10

Перед сохранением, заменяй = на симовл, который точно не встретится в ссылке.
А при загрузке, заменяй этот символ на =.

0

11

Буду пробовать.
Даже не знаю с чего начать получил текст например :

url.s = GetGadgetText(#Strin_1)

, а как теперь про сканировать и заменить понятия не имею.

Читаю справку  String

Отредактировано mirashic (06.02.2010 20:19:07)

0

12

mirashic написал(а):

а как теперь про сканировать и заменить понятия не имею.

Используй функцию ReplaceString

0

13

Спасибо, как раз до неё дошел.

0

14

Получилось, отлично сработало. Спасибо.

0

15

Целый день не мог попасть на форум, предлагали не расстраиваться и выпить кофе.
Добавил панель вкладок, правда не так как должно правильно работать.

0

16

Пытаюсь сделать отображение иконки favicon.ico возле строки адреса.
Не получается переключать отображение разных адресов, при переходе с вкладки на вкладку.
Адрес отображается только при клике по WebGadget?
Может вообще не правильный подход и все параметры и кнопки для каждого  WebGadget
отображать на своей вкладке ?

0

17

mirashic написал(а):

Не получается переключать отображение разных адресов, при переходе с вкладки на вкладку.

Добавь вот такой обработчик событий от панели

Код:
      Case 77 ; Это панель
       Zakladka=GetGadgetState(77)
       SetGadgetText(#Strin_1, GetGadgetText(80+Zakladka))

0

18

Спасибо получилось !

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Браузер на PureBasic