On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение





Пост N: 23
Зарегистрирован: 31.05.07
ссылка на сообщение  Отправлено: 20.11.08 11:20. Заголовок: Переадресация событий кнопки


Добрый день!
Я один из новеньких, изучающих МиниГУИ. Подскажите пожалуйста, как можно на лету переопределить события кнопок, допустим ONCLICK?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 6 [только новые]


модератор




Пост N: 907
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 20.11.08 11:45. Заголовок: spair2k пишет: как ..


spair2k пишет:

 цитата:
как можно на лету переопределить события кнопок



Использовать свойство Form_1.Button_1.Action

Рабочий пример ниже (обрати внимание на переопределение действия таймера также):


 цитата:
#include "minigui.ch"

Procedure Main

DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 400 ;
HEIGHT 200 ;
TITLE 'Hello World!' ;
MAIN

DEFINE BUTTON Button_1
ROW 10
COL 10
CAPTION 'Action 1'
ACTION MsgBox(This.Title,'Message')
DEFAULT .T.
END BUTTON

DEFINE BUTTON Button_2
ROW 40
COL 10
CAPTION 'Change Action 1'
ACTION ( Form_1.Button_1.Action := {|| MsgBox(GetProperty('Form_1','Title'),'New title')}, ;
Form_1.Button_1.Action )
END BUTTON

DEFINE BUTTON Button_3
ROW 70
COL 10
CAPTION 'New Timer Action'
ACTION Form_1.Timer_1.Action := {|| SetProperty('Form_1','Label_2','Value', Str(Memory(0)/1024) + ' MB')}
END BUTTON

DEFINE BUTTON Button_4
ROW 100
COL 10
CAPTION 'Cancel'
ACTION ThisWindow.Release
END BUTTON

@ 15,150 LABEL Label_1 ;
VALUE 'Timer Test:'

@ 15,220 LABEL Label_2 TRANSPARENT

DEFINE TIMER Timer_1 ;
INTERVAL 1000 ;
ACTION Form_1.Label_2.Value := Time()

END WINDOW

CENTER WINDOW Form_1

ACTIVATE WINDOW Form_1

Return



Спасибо: 1 
ПрофильЦитата Ответить





Пост N: 24
Зарегистрирован: 31.05.07
ссылка на сообщение  Отправлено: 20.11.08 11:55. Заголовок: gfilatov пишет: Раб..


gfilatov пишет:

 цитата:
Рабочий пример


Спасибо, выручил...

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 25
Зарегистрирован: 31.05.07
ссылка на сообщение  Отправлено: 20.11.08 15:51. Заголовок: решил я собрать этот..


решил я собрать этот примерчик и вот что получилось...
gfilatov пишет:

 цитата:
ACTION ( Form_1.Button_1.Action := {|| MsgBox(GetProperty('Form_1','Title'),'New title')}, ;
Form_1.Button_1.Action )

ACTION Form_1.Timer_1.Action := {|| SetProperty('Form_1','Label_2','Value', Str(Memory(0)/1024) + ' MB')}


На эти строчки ругается компилятор

 цитата:
Harbour 1.0.0 Intl. (Rev. 9029)
Copyright (c) 1999-2008, http://www.harbour-project.org/
Harbour MiniGUI Extended Distribution
Compiling 'recourse.prg'...
recourse.prg(24) Error E0022 Invalid lvalue: '()'
recourse.prg(31) Error E0022 Invalid lvalue: '()'
2 errors


я попробовал написать вот что

 цитата:
Form1.btnOk.Action = {||msgbox('I got it!')}


но вышло тоже сообщение?
Где искать?


Спасибо: 0 
ПрофильЦитата Ответить
модератор




Пост N: 908
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 20.11.08 16:17. Заголовок: spair2k пишет: Где ..


spair2k пишет:

 цитата:
Где искать?


Просто надо обновить Ваш расширенный релиз библиотеки - эта фишка появилась в 58-й сборке.
А какая сборка у Вас?

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 26
Зарегистрирован: 31.05.07
ссылка на сообщение  Отправлено: 24.11.08 10:19. Заголовок: gfilatov пишет: А к..


gfilatov пишет:

 цитата:
А какая сборка у Вас?


упс...
у меня 54я...
принял к сведению...

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 28
Зарегистрирован: 31.05.07
ссылка на сообщение  Отправлено: 24.11.08 10:36. Заголовок: у меня проблемы с 58..


у меня проблемы с 58ой...
тот же код собирается с ошибками...
пересобрал библиотеки под xHarbour пишет "не поддерживает pcode v.7" и как это лечить?
вернулся на старую версию

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 40
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет