Как создать GUI приложение
|
|
asdserg | Дата: Понедельник, 16.03.2015, 14:17 | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 3
Статус: Offline
| Здравствуйте. Решил вот попробовать себя в качестве программиста на freebasic. Язык очень понравился своей простотой. С консольными программами заморочек нет. Но вот что касается окошек!? Ни как не въеду. До этого кодил на VB.NET. Там все просто набросал контролов на формочку и вперед, как говорится. А тут - ступор. Использую Fbedit и как в ней создать GUI? Подскажите люди добрые! Подскажите на примере с использованием библиотеки Window9. Например на простом примере с разбором кода. На VB код:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click TextBox2.Text = TextBox1.Text End Sub
Как такое-же сделать в Fbedit? С уважением asdserg.
Сообщение отредактировал asdserg - Понедельник, 16.03.2015, 14:19 |
|
| |
haav | Дата: Понедельник, 16.03.2015, 14:51 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Да... После VB.Net создавать GUI на FB гемор еще тот Для библиотеки window9 полноценных визуальных редакторов форм нет. Есть какие-то отдельные , но в них много ошибок. Поэтому весь GUI пишется вручную.
Если по коду представленному выше, то примерно следующее:
Код #Include "window9.bi"
Dim As integer event ' переменная , принимающая событие Dim As HWND hwnd ' хендл главного окна hwnd=OpenWindow("Главное окно",300,10,500,500) ' создаем окно TextGadget(1,10,50,40,20,"Текст")' создаем 1 текстовый гаджет TextGadget(2,10,10,80,20,"")' создаем 2 текстовый гаджет ButtonGadget(3,10,90,90,20,"Копировать") ' Создаем кнопку SetGadgetColor(1,&hff,&hffffff,3) ' изменяем цвет 1 текстового гаджета SetGadgetColor(2,&hfff,&hffff,3) ' изменяем цвет 2 текстового гаджета
Do event=WaitEvent()' получаем событие Select case event ' что за событие? Case EventClose ' если закрытие окна Exit Do ' тогда выход из цикла и завершение программы Case eventgadget ' если событие клика мышью по гаджету If EventNumber = 3 Then ' если гаджет имеет ID = 3 SetGadgetText(2,GetGadgetText(1)) ' меняем текст во втором гаджете EndIf End Select Loop
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
asdserg | Дата: Понедельник, 16.03.2015, 15:51 | Сообщение # 3 |
Рядовой
Группа: Пользователи
Сообщений: 3
Статус: Offline
| Да действительно несколько геморно. Но разобраться попробую. А вот насчет визуального редактора встроенного в Fbedit, что можете сказать? Эксперементировал тут. В общем если при создании проекта поставить галку в Ресурсов(.rc) (думаю - это файл ресурсов), то слева появляется панель контролов, но куда их кидать, где сама форма? Пожалуйста подскажите как пользоваться данным визуальным редактором? Как его прикрутить к коду? Ни какой документации по этому поводу пока не нашел. С уважением asdserg.
|
|
| |
haav | Дата: Понедельник, 16.03.2015, 16:44 | Сообщение # 4 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Цитата asdserg ( ) Да действительно несколько геморно. Но разобраться попробую. А вот насчет визуального редактора встроенного в Fbedit, что можете сказать? Эксперементировал тут. В общем если при создании проекта поставить галку в Ресурсов(.rc) (думаю - это файл ресурсов), то слева появляется панель контролов, но куда их кидать, где сама форма? Пожалуйста подскажите как пользоваться данным визуальным редактором? Как его прикрутить к коду? Ни какой документации по этому поводу пока не нашел.
Меню->ресурсы->добавить диалог Создается диалог, на него кидаются контролы. Все это дело создается в файле ресурсов, ну а код процедур и самой обработки сообщений и пр. пишется вручную.
Также читаем справку FbEdit, смотрим примеры в fbedit\Projects\Samples
Также есть визуальный редактор VISG. Он создает сразу код с чистым WinApi. Правда код "грязноват" на мой взгляд, в общем мне больше по душе вручную писать изначально, чем заморачиваться с визуальными редакторами. Это на vb.net все сделано шикарно, на FB такого нет.
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
haav | Дата: Понедельник, 16.03.2015, 16:48 | Сообщение # 5 |
Генералиссимус
Группа: Администраторы
Сообщений: 1373
Статус: Offline
| Кстати забыл совсем, может этот редактор посмотрите: http://www.planetsquires.com/firefly_freebasic.html . Он должен быть ближе вам, но я его шибко не тестировал
Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
|
|
| |
asdserg | Дата: Понедельник, 16.03.2015, 18:12 | Сообщение # 6 |
Рядовой
Группа: Пользователи
Сообщений: 3
Статус: Offline
| Большое Вам спасибо за советы. Буду разбираться. С уважением asdserg.
|
|
| |