FreeBasic похожий на PureBasic

Страница 2 из 6 Предыдущий  1, 2, 3, 4, 5, 6  Следующий

Предыдущая тема Следующая тема Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  DEPOzit в Пн Апр 11, 2011 9:59 pm

ага, или например сделать размер иконки равной 1
Типа: Var LLIISS=ListViewGadget(1,10,10,300,300,Style,,,1)

И еще: выравнивание по левому краю не работает? Левый столбец по левому, остальные по центру...

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Пн Апр 11, 2011 10:29 pm

DEPOzit пишет:ага, или например сделать размер иконки равной 1
Типа: Var LLIISS=ListViewGadget(1,10,10,300,300,Style,,,1)

И еще: выравнивание по левому краю не работает? Левый столбец по левому, остальные по центру...

Все работает, смотри внимательно стили по умолчанию для столбцов и строк. В столбцах установлено LVCFMT_CENTER поставь LVCFMT_LEFT. Вообще настроек у этого контрола конечно много...

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  DEPOzit в Пн Апр 11, 2011 10:37 pm

Прошу прощение, пропустил этот момент. Да, действительно все ОК.

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  DEPOzit в Ср Апр 13, 2011 8:36 am

Станислав, как создать дочернее окно? Со стилем WS_CHILD ничего не создается.

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Ср Апр 13, 2011 12:38 pm

DEPOzit пишет:Станислав, как создать дочернее окно? Со стилем WS_CHILD ничего не создается.

Я не делал при создании возможность создавать дочерние окна функцией OpenWindow. Но если уж очень нужно, то можно так:

Код:
#Include "window9.bi"

Var hwnd=OpenWindow("Main",10,10,500,500)
Var event=0
Var hwnd1=OpenWindow("Child",10,10,200,200)
SetParent(hwnd1,hwnd)
ButtonGadget(1,10,10,100,30,"Button")
Do
 event=WaitEvent()
 If Event=EventClose Then End
Loop

P.S Может нужно было MDI ? Если так в справке есть примеры создания.

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  DEPOzit в Ср Апр 13, 2011 1:41 pm

Не-не, MDI не надо. Спасибо.
Только происходит некое наслоение:
Код:
#Include "window9.bi"

Var hwnd=OpenWindow("Main",10,10,500,500)
ButtonGadget(1,10,10,100,30,"Button1")
Var event=0
Var hwnd1=OpenWindow("Child",10,10,200,200)
SetParent(hwnd1,hwnd)
ButtonGadget(2,10,10,120,30,"Button2")
Do
 event=WaitEvent()
 If Event=EventClose Then End
Loop
Родительское окно всячески пытается налезть на дочернее.

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Ср Апр 13, 2011 3:07 pm

DEPOzit пишет:Не-не, MDI не надо. Спасибо.
Только происходит некое наслоение:
Код:
#Include "window9.bi"

Var hwnd=OpenWindow("Main",10,10,500,500)
ButtonGadget(1,10,10,100,30,"Button1")
Var event=0
Var hwnd1=OpenWindow("Child",10,10,200,200)
SetParent(hwnd1,hwnd)
ButtonGadget(2,10,10,120,30,"Button2")
Do
 event=WaitEvent()
 If Event=EventClose Then End
Loop
Родительское окно всячески пытается налезть на дочернее.

Попробуй так:

Код:
#Include "window9.bi"

Var hwnd=OpenWindow("Main",10,10,500,500)
ButtonGadget(1,10,10,100,30,"Button1",WS_CLIPSIBLINGS)
Var event=0
Var hwnd1=OpenWindow("Child",10,10,200,200,WS_VISIBLE Or WS_OVERLAPPEDWINDOW Or WS_CLIPSIBLINGS)
SetParent(hwnd1,hwnd)
ButtonGadget(2,10,10,120,30,"Button2")
Do
 event=WaitEvent()
 If Event=EventClose Then End
Loop

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  DEPOzit в Ср Апр 13, 2011 3:20 pm

Принцип понятен. Спасибо

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  DEPOzit в Чт Апр 14, 2011 9:27 am

Станислав, а почему после активации и закрытии дочернего окна в родительском окне перестают создаваться гаджеты (в данном примере кнопка "Button3"):
Код:
#Include "window9.bi"

Var hwnd=OpenWindow("Main",10,10,500,500)
ButtonGadget(1,10,10,100,30,"Button1",WS_CLIPSIBLINGS)
Var event=0
Var hwnd1=OpenWindow("Child",10,10,200,200,WS_VISIBLE Or WS_OVERLAPPEDWINDOW Or WS_CLIPSIBLINGS)
SetParent(hwnd1,hwnd)
ButtonGadget(2,10,10,120,30,"Button2")
Do
   event=WaitEvent()
 Select Case event
  Case EventClose
  If EventHwnd=hwnd1 Then Close_Window(hwnd1): ButtonGadget(3,10,50,120,30,"Button3")
  If EventHwnd=hwnd Then End
 End Select
Loop
Может быть как-то надо передать управление главному окну?

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Чт Апр 14, 2011 12:29 pm

DEPOzit пишет:Станислав, а почему после активации и закрытии дочернего окна в родительском окне перестают создаваться гаджеты (в данном примере кнопка "Button3"):
Код:
#Include "window9.bi"

Var hwnd=OpenWindow("Main",10,10,500,500)
ButtonGadget(1,10,10,100,30,"Button1",WS_CLIPSIBLINGS)
Var event=0
Var hwnd1=OpenWindow("Child",10,10,200,200,WS_VISIBLE Or WS_OVERLAPPEDWINDOW Or WS_CLIPSIBLINGS)
SetParent(hwnd1,hwnd)
ButtonGadget(2,10,10,120,30,"Button2")
Do
   event=WaitEvent()
 Select Case event
  Case EventClose
  If EventHwnd=hwnd1 Then Close_Window(hwnd1): ButtonGadget(3,10,50,120,30,"Button3")
  If EventHwnd=hwnd Then End
 End Select
Loop
Может быть как-то надо передать управление главному окну?

Есть в библиотеке функция UseGadgetList(hwnd) . В любом месте кода можно менять окно родитель для вновь создаваемых гаджетов.
Пример:

Код:
#Include "window9.bi"

Var hwnd=OpenWindow("Main",10,10,500,500)
ButtonGadget(1,10,10,100,30,"Button1",WS_CLIPSIBLINGS)
Var event=0
Var hwnd1=OpenWindow("Child",10,10,200,200,WS_VISIBLE Or WS_OVERLAPPEDWINDOW Or WS_CLIPSIBLINGS)
SetParent(hwnd1,hwnd)
ButtonGadget(2,10,10,120,30,"Button2")
Do
  event=WaitEvent()
 Select Case event
  Case EventClose
  If EventHwnd=hwnd1 Then Close_Window(hwnd1)
  UseGadgetList(hwnd): ButtonGadget(3,10,50,120,30,"Button3")
  If EventHwnd=hwnd Then End
 End Select
Loop

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  DEPOzit в Чт Апр 14, 2011 2:05 pm

Ага, все отлично.
Еще вопросик - setgadgettext(1,"") вызывает ошибку. Как очистить поле гаджета?

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Чт Апр 14, 2011 2:16 pm

DEPOzit пишет:Ага, все отлично.
Еще вопросик - setgadgettext(1,"") вызывает ошибку. Как очистить поле гаджета?

Не может быть, чтобы при таком вызове была ошибка, потому как именно так и очищается поле гаджета. Ошибка в чем то другом. Если не секрет, выложи код

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  DEPOzit в Чт Апр 14, 2011 2:27 pm

Не секрет конечно: http://freebasic.ru/rash.rar
Нажми на любой вид расхода, потом напиши что-нибудь в "Добавить элемент в список" и нажми кнопку "Добавить".
После ошибки закоментируй 85-ю строку или включи в кавычки символ. Ошибка пропадет.

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Чт Апр 14, 2011 2:51 pm

DEPOzit пишет:Не секрет конечно: http://freebasic.ru/rash.rar
Нажми на любой вид расхода, потом напиши что-нибудь в "Добавить элемент в список" и нажми кнопку "Добавить".
После ошибки закоментируй 85-ю строку или включи в кавычки символ. Ошибка пропадет.

Ошибка вылетает не на этой строчке, а на 99

AddComboBoxItem(11,GetGadgetText(15, 7),-1)

Ты пытаешься создать новый пункт в ComboBoxGadget с пустой строкой. Так нельзя! Сделай проверку на добавляемую строку. Если равна "" определи ее как " "

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  DEPOzit в Чт Апр 14, 2011 2:59 pm

Конец рабочего дня сказывается. Не туда влепил строчку эту Embarassed

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  DEPOzit в Пт Апр 15, 2011 9:56 am

Реализация вывода на печать принтера планируется?

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Пт Апр 15, 2011 10:24 am

DEPOzit пишет:Реализация вывода на печать принтера планируется?

Дело в том, что у меня нет принтера, а делать функции вслепую я не хочу.

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  DEPOzit в Пт Апр 15, 2011 10:33 am

есть же виртуальные принтеры - в том же MS Office, doPDF, PrintToPicture и т.д.

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Пт Апр 15, 2011 10:59 am

DEPOzit пишет:есть же виртуальные принтеры - в том же MS Office, doPDF, PrintToPicture и т.д.

Я подумаю над этим

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  DEPOzit в Чт Апр 21, 2011 2:51 pm

Как создать окно изначально развернутым? Стиль WS_MAXIMIZE не срабатывает.

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Чт Апр 21, 2011 5:07 pm

DEPOzit пишет:Как создать окно изначально развернутым? Стиль WS_MAXIMIZE не срабатывает.

ShowWindow(hwnd,SW_MAXIMIZE)

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Чт Апр 21, 2011 5:24 pm

Вообще конечно вопрос интересный ты задал... Если без использования функции ShowWindow, то при создании окна можно вот так:

Код:
#Include "window9.bi"

Var hwnd=OpenWindow("",CW_USEDEFAULT,SW_MAXIMIZE,CW_USEDEFAULT,CW_USEDEFAULT,WS_OVERLAPPEDWINDOW or WS_VISIBLE Or WS_MAXIMIZE Or SW_SHOWMAXIMIZED)

Do
 Var event=WaitEvent()
 If Event=EventClose Then End
Loop

Дибильно конечно, но это вопрос к Microsoft. Хрен когда додумаешься. Если бы не яндекс....

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  DEPOzit в Чт Апр 21, 2011 5:52 pm

Мда))). Вот и я разные вариации перебирал, но до такой не додумался))).

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  DEPOzit в Пт Апр 22, 2011 8:44 am

Еще вопросик созрел)))) :
Как реализовать событие нажав клавишу Enter при этом находясь в другом гаджете (например StringGadget). Если гаджеты не активны то все работает, если активны то события не проиходит.
Ну вот например:
Код:
#Include "window9.bi"

Dim As Integer event
Var hwnd=OpenWindow("",10,10,400,400)
AddKeyboardShortcut(hwnd,FVIRTKEY ,vk_RETURN,1) 'Enter
AddKeyboardShortcut(hwnd,FCONTROL,VK_W,2) 'CTRL+W
StringGadget(3,10,120,250,20,"",ES_left,WS_EX_CLIENTEDGE)

Do
 event=WaitEvent
 If event=EventMenu Then
  Select case EventNumber
  Case 1
    MessBox("","1 ìåíþ")
  Case 2
    MessBox("","2 ìåíþ")
  End Select
 EndIf
 If event=EventClose Then End
Loop

Пробовал и с AddKeyboardShortcut и с EventKEY. В чем загвоздка?Smile

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Пт Апр 22, 2011 9:37 am

DEPOzit пишет:Еще вопросик созрел)))) :
Как реализовать событие нажав клавишу Enter при этом находясь в другом гаджете (например StringGadget). Если гаджеты не активны то все работает, если активны то события не проиходит.
Ну вот например:
Код:
#Include "window9.bi"

Dim As Integer event
Var hwnd=OpenWindow("",10,10,400,400)
AddKeyboardShortcut(hwnd,FVIRTKEY ,vk_RETURN,1) 'Enter
AddKeyboardShortcut(hwnd,FCONTROL,VK_W,2) 'CTRL+W
StringGadget(3,10,120,250,20,"",ES_left,WS_EX_CLIENTEDGE)

Do
 event=WaitEvent
 If event=EventMenu Then
  Select case EventNumber
  Case 1
    MessBox("","1 ìåíþ")
  Case 2
    MessBox("","2 ìåíþ")
  End Select
 EndIf
 If event=EventClose Then End
Loop

Пробовал и с AddKeyboardShortcut и с EventKEY. В чем загвоздка?Smile

Да это баг, надо смотреть

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Страница 2 из 6 Предыдущий  1, 2, 3, 4, 5, 6  Следующий

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения