FreeBasic
Главная
Вход
Регистрация
Воскресенье, 19.11.2017, 22:48Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Библиотеки для FreeBasic » Библиотека Window9 для Freebasic » ContainerGadget (некоторые особенности)
ContainerGadget
symarglДата: Воскресенье, 19.04.2015, 20:07 | Сообщение # 1
Сержант
Группа: Пользователи
Сообщений: 27
Репутация: 0
Статус: Offline
Два вопрос по вышеозначенной теме создателю замечательной Window9:
1. ContainerGadget, как ни пытался, более чем в единственном числе применить не удалось. А если хочется два, три и т.д.?
2. Гаджетам, объединенным Container'ом, не удается изменить ни цвет текста/фона, ни шрифт. Баг или фича?
 
haavДата: Воскресенье, 19.04.2015, 21:12 | Сообщение # 2
Генерал-лейтенант
Группа: Администраторы
Сообщений: 793
Репутация: 34
Статус: Offline
Цитата
Два вопрос по вышеозначенной теме создателю замечательной Window9:
1. ContainerGadget, как ни пытался, более чем в единственном числе применить не удалось. А если хочется два, три и т.д.?
2. Гаджетам, объединенным Container'ом, не удается изменить ни цвет текста/фона, ни шрифт. Баг или фича?


С цветом да есть проблемы, но в остальном все в порядке:

Код
#Include "window9.bi"
Dim Shared  As HWND ph
ph=OpenWindow("",10,10,800,600)
ContainerGadget(1,10,10,300,300)
TextGadget(2,10,10,150,50,"Text1")
UseGadgetList(ph)
ContainerGadget(4,400,400,300,300)
TextGadget(5,10,10,100,20,"Text2")
SetGadgetFont(2,CINT(LoadFont("arial",22)))
Do
  Var ev=WindowEvent
  If ev=EventClose Then End
Loop


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
symarglДата: Воскресенье, 19.04.2015, 21:51 | Сообщение # 3
Сержант
Группа: Пользователи
Сообщений: 27
Репутация: 0
Статус: Offline
Про UseGadgetList я не догадался.

А если третий Container нужно добавить, тогда как?


Сообщение отредактировал symargl - Воскресенье, 19.04.2015, 21:52
 
haavДата: Понедельник, 20.04.2015, 06:07 | Сообщение # 4
Генерал-лейтенант
Группа: Администраторы
Сообщений: 793
Репутация: 34
Статус: Offline
Код
#Include "window9.bi"
Dim Shared  As HWND ph
ph=OpenWindow("",10,10,800,600)
ContainerGadget(1,10,10,300,300)
SetGadgetColor(1,&hff,0,1)
TextGadget(2,10,10,150,50,"Text1")
UseGadgetList(ph)
ContainerGadget(4,400,400,150,100)
SetGadgetColor(4,&hff00,0,1)
TextGadget(5,10,10,100,20,"Text2")
SetGadgetFont(2,CINT(LoadFont("arial",22)))
UseGadgetList(ph)
ContainerGadget(6,0,400,120,100)
SetGadgetColor(6,&hff0000,0,1)
TextGadget(7,10,10,100,20,"Text3")

Do
     Var ev=WindowEvent
     If ev=EventClose Then End
Loop


Если не использовать UseGadgetList, то следующий контейнер будет создавать в прошлом контейнере. Поясняю: при создания контейнера , он автоматически становится родителем для всех следующих гаджетов. Именно поэтому если нужно, чтобы контейнер создавался в главном окне , то надо указать его родителем (с помощью UseGadgetList). Что касается цветов, то я исправлю это.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
symarglДата: Понедельник, 20.04.2015, 08:46 | Сообщение # 5
Сержант
Группа: Пользователи
Сообщений: 27
Репутация: 0
Статус: Offline
Да, понял теперь логику работы Container'а.
Обнаружил такую несообразность: полностью грузит одно ядро процессора. Хотел приложить снимок таск манагера, а вот не получается: говорит что «Текст сообщения превышает допустимый лимит».
 
haavДата: Понедельник, 20.04.2015, 09:00 | Сообщение # 6
Генерал-лейтенант
Группа: Администраторы
Сообщений: 793
Репутация: 34
Статус: Offline
Цитата symargl ()
Да, понял теперь логику работы Container'а.
Обнаружил такую несообразность: полностью грузит одно ядро процессора. Хотел приложить снимок таск манагера, а вот не получается: говорит что «Текст сообщения превышает допустимый лимит».


Да, да все правильно. Это я некорректный пример привел.
Либо поменяй WindowEvent на WaitEvent
Либо в цикле добавь sleep(10) - число 10 может быть другим , зависит от производительности программы. Например при работе с графикой я ставлю 1, а просто c GUI до 15.

Сейчас создам тему, где буду выкладывать промежуточные версии window9 (я кажется исправил баг с цветами гаджетов, находящихся в контейнере)


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
symarglДата: Понедельник, 20.04.2015, 10:26 | Сообщение # 7
Сержант
Группа: Пользователи
Сообщений: 27
Репутация: 0
Статус: Offline
Про WaitEvent я уже догадался smile
Исправленную версию W9 скачал. Цвета в контейнере работают как надо. Спасибо!
 
Форум » Библиотеки для FreeBasic » Библиотека Window9 для Freebasic » ContainerGadget (некоторые особенности)
Страница 1 из 11
Поиск: