purebasic.info

PureBasic forum
Текущее время: Пт янв 19, 2018 6:45 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 42 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: PanelGadget
СообщениеДобавлено: Чт мар 06, 2014 10:08 pm 
Не в сети
доцент

Зарегистрирован: Вт фев 25, 2014 8:41 pm
Сообщений: 26
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Вопрос не по теме, как устроена функция WebGadget которая отображает web страницы?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PanelGadget
СообщениеДобавлено: Чт мар 06, 2014 10:23 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 80 раз.
Пункты репутации: 24
Это просто Internet Explorer, встроенный в твою программу :) Там даже контекстное меню одинаковое. Убедиться в этом можно так:
Код:
1
2
3
4
OpenWindow(1,5,5,700,700,"")
WebGadget(1,5,5,690,690,"http://2ip.ru/browser-update/")
 
Repeat:Until WaitWindowEvent() = #PB_Event_CloseWindow

Правда, вывалится ошибка сценария, но это ничего не обычного для IE :D

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PanelGadget
СообщениеДобавлено: Пт мар 07, 2014 9:44 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вс дек 09, 2012 9:02 pm
Сообщений: 768
Откуда: Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 11 раз.
Пункты репутации: 0
А вертикально можно расположить этот канвас панель?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PanelGadget
СообщениеДобавлено: Пт мар 07, 2014 10:51 pm 
Не в сети
доцент

Зарегистрирован: Вт фев 25, 2014 8:41 pm
Сообщений: 26
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Задам опять вопрос не по теме. Как организовать вставку изображения в едитор гаджет на указанную позицию?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PanelGadget
СообщениеДобавлено: Сб мар 08, 2014 1:02 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вт апр 26, 2011 8:18 pm
Сообщений: 263
Откуда: Волгоград
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
А почему так модно не по теме спрашивать стало?
Изображение -> редактор (варнинг: жуткий костыль, я бы так не делал, но если очень прям надо в текстовый (!) эдитор вставить изображение, то...)
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Procedure InsertImageIntoEditor(Editor.i,ImageGadget.i,Image.i,x.i,y.i,Width.i,Height.i)
  UseGadgetList(GadgetID(0))
  ProcedureReturn ImageGadget(ImageGadget,x,y,Width,Height,ImageID(Image))
EndProcedure
OpenWindow(0,0,0,800,600,"Костыль")
EditorGadget(0,5,5,790,590)
CreateImage(0,200,50)
StartDrawing(ImageOutput(0))
DrawText(5,5,"Вот он, костыль!")
StopDrawing()
InsertImageIntoEditor(0,1,0,100,100,200,50)
Repeat
  Event=WaitWindowEvent()
  If Event=#PB_Event_Gadget
    If EventGadget()=0
      If EventType=#PB_EventType_Change
        FreeGadget(1)
        InsertImageIntoEditor(0,1,0,100,100,200,50)
      EndIf
    EndIf
  EndIf
Until Event=#PB_Event_CloseWindow


UPD:
Костыль работает и без вот этого:
Код:
1
2
3
4
5
6
7
8
9
 
  If Event=#PB_Event_Gadget
    If EventGadget()=0
      If EventType=#PB_EventType_Change
        FreeGadget(1)
        InsertImageIntoEditor(0,1,0,100,100,200,50)
      EndIf
    EndIf
  EndIf


Мне, просто, стало интересно, как будет вести себя редактор при разных издевательствах, и с последнего эксперимента забыл убрать.
Вертикальный канвас-панель:
Код:
1
TabBarGadget(TabBarGadget,x,y,Width,Height,#TabBarGadget_Vertical)



Последний раз редактировалось Realist Сб мар 08, 2014 7:04 pm, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PanelGadget
СообщениеДобавлено: Сб мар 08, 2014 2:27 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вс дек 09, 2012 9:02 pm
Сообщений: 768
Откуда: Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 11 раз.
Пункты репутации: 0
Не работает.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
XIncludeFile "TabBarGadget.pbi"
 
Structure Gadget
  GadgetN.l
  Tab.b
EndStructure
 
Global NewList Gadgets.Gadget()
 
Procedure UpdateGadgets() ;Показываем все нужные гаджеты и скрываем ненужные
  Protected tab = GetTabBarGadgetState(1)
  ForEach Gadgets()
    If Gadgets()\Tab = tab
      HideGadget(Gadgets()\GadgetN, 0)
    Else
      HideGadget(Gadgets()\GadgetN, 1)
    EndIf
  Next
EndProcedure
 
Procedure AddGadgetToTab(Gadget, Tab) ;Добавляем гаджет в список
  AddElement(Gadgets())
  With Gadgets()
    \GadgetN = Gadget
    \Tab = Tab
  EndWith
  UpdateGadgets()
EndProcedure
 
Procedure DeleteGadgetFromTab(Gadget, Tab) ;Удаляем гаджет из списка
  ForEach Gadgets()
    If Gadgets()\GadgetN = Gadget And Gadgets()\Tab = Tab
      DeleteElement(Gadgets(), 1)
      Break
    EndIf
  Next
  UpdateGadgets()
EndProcedure
 
OpenWindow(1, 5, 5, 400, 300, "TabBar", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TabBarGadget(1, 5, 5, 100, 100,#TabBarGadget_Vertical)
AddTabBarGadgetItem(1, -1, "Tab1")
AddTabBarGadgetItem(1, -1, "Tab2")
AddTabBarGadgetItem(1, -1, "Tab3")
SetTabBarGadgetState(1, 0)
 
;===================================
ButtonGadget(2, 5, 135, 100, 20, "Button1 Tab1")
ButtonGadget(3, 5, 165, 100, 20, "Button2 Tab1")
 
ButtonGadget(4, 5, 135, 100, 20, "Button1 Tab2")
ButtonGadget(5, 5, 165, 100, 20, "Button2 Tab2")
 
ButtonGadget(6, 5, 135, 100, 20, "Button1 Tab3")
ButtonGadget(7, 5, 165, 100, 20, "Button2 Tab3")
 
AddGadgetToTab(2, 0)
AddGadgetToTab(3, 0)
AddGadgetToTab(4, 1)
AddGadgetToTab(5, 1)
AddGadgetToTab(6, 2)
AddGadgetToTab(7, 2)
 
Repeat
  If WaitWindowEvent() = #PB_Event_CloseWindow
    Break
  EndIf
   
  If TabBarGadgetEvent(1) = #TabBarGadgetEvent_Change
    UpdateGadgets()
  EndIf
ForEver



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PanelGadget
СообщениеДобавлено: Сб мар 08, 2014 3:54 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вт апр 26, 2011 8:18 pm
Сообщений: 263
Откуда: Волгоград
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
А, ну извини, не знал. Все претензии к разработчику инклуда.
Есть новая версия под PB v5.21+.
http://www.purebasic.fr/english/viewtopic.php?f=12&t=47588


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PanelGadget
СообщениеДобавлено: Сб мар 08, 2014 6:30 pm 
Не в сети
доцент

Зарегистрирован: Вт фев 25, 2014 8:41 pm
Сообщений: 26
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Почему? Чтоб кучу тем не плодить, вот и задаю в одной


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PanelGadget
СообщениеДобавлено: Сб мар 08, 2014 7:00 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11079
Благодарил (а): 4 раз.
Поблагодарили: 384 раз.
Про поиск форума ничего не слышал?

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PanelGadget
СообщениеДобавлено: Сб мар 08, 2014 10:04 pm 
Не в сети
доцент

Зарегистрирован: Вт фев 25, 2014 8:41 pm
Сообщений: 26
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Приношу глубочайшие извинения за то что в теме про панель гаджет я задал пару вопросов не касающиеся ни каким боком к панельгаджет. Впредь буду создавать темы по каждому вопросу согласно правилам форума, за исключением если подобная тема присутствует на форуме…


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PanelGadget
СообщениеДобавлено: Пт ноя 03, 2017 8:24 pm 
Не в сети
профессор

Зарегистрирован: Пт фев 20, 2009 12:57 pm
Сообщений: 1576
Откуда: Алматы
Благодарил (а): 12 раз.
Поблагодарили: 39 раз.
Пункты репутации: 5
а можно задать цвет этих панелей? чот у меня дичь какая-то... с включенной галкой поддерживать стили виндовс - задний фон белый. хотелось бы чтоб был серый. отключаю галку этих стилей, то цвет как надо, но там эти заголовки панелей такие невзрачные, и не понятно что на них можно нажимать.
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PanelGadget
СообщениеДобавлено: Пт ноя 03, 2017 8:52 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11079
Благодарил (а): 4 раз.
Поблагодарили: 384 раз.
Помести на вкладки контейнеры.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
OpenWindow(0, 0, 0, 322, 220, "PanelGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
PanelGadget(0, 8, 8, 306, 203)
AddGadgetItem (0, -1, "Panel 1")
ContainerGadget(1, 0, 0, GetGadgetAttribute(0, #PB_Panel_ItemWidth), GetGadgetAttribute(0, #PB_Panel_ItemHeight))
CloseGadgetList()
AddGadgetItem (0, -1,"Panel 2")
ContainerGadget(4, 0, 0, GetGadgetAttribute(0, #PB_Panel_ItemWidth), GetGadgetAttribute(0, #PB_Panel_ItemHeight))
ButtonGadget(2, 10, 15, 80, 24,"Button 1")
ButtonGadget(3, 95, 15, 80, 24,"Button 2")
CloseGadgetList()
CloseGadgetList()
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow


_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 42 ]  На страницу Пред.  1, 2, 3

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB