Форум » GUI » Имитация события » Ответить

Имитация события

S-A-N: Как программно сымитировать наступление события? Если конкретно, то ситуация следующая. При нажатии на кнопку в таблицу БД добавляется новая запись, с ней выполняется ряд действий. После этого я хочу сымитировать нажатие <Enter> или двойной клик, чтобы это событие обработал Browse. Подскажите, пожалуйста, как правильно это сделать?

Ответов - 3

gfilatov: S-A-N пишет: хочу сымитировать нажатие <Enter> или двойной клик, чтобы это событие обработал Browse Нет проблем - используйте встроенную функцию InsertReturn() (см. рабочий пример ниже) #include "minigui.ch" Function Main REQUEST DBFCDX SET CENTURY ON DEFINE WINDOW Form_1 ; AT 0,0 ; WIDTH 640 HEIGHT 480 ; TITLE 'MiniGUI Browse Demo' ; MAIN NOMAXIMIZE ; ON INIT OpenTables() ; ON RELEASE CloseTables() DEFINE MAIN MENU POPUP 'File' ITEM 'Process Browse DblClick' ACTION ( Form_1.Browse_1.Setfocus, InsertReturn() ) ITEM 'Get Browse Value' ACTION MsgInfo ( Str ( Form_1.Browse_1.Value ) ) ITEM 'Refresh Browse' ACTION Form_1.Browse_1.Refresh SEPARATOR ITEM 'Exit' ACTION Form_1.Release END POPUP POPUP 'Help' ITEM 'About' ACTION MsgInfo ("MiniGUI Browse Demo") END POPUP END MENU @ 10,10 BROWSE Browse_1 ; WIDTH 610 ; HEIGHT 390 ; HEADERS { 'Code' , 'First Name' , 'Last Name', 'Birth Date', 'Married' , 'Biography' } ; WIDTHS { 150 , 150 , 150 , 150 , 150 , 150 } ; WORKAREA Test ; FIELDS { 'Test->Code' , 'Test->First' , 'Test->Last' , 'Test->Birth' , 'Test->Married' , 'Test->Bio' } ; VALUE 1 ; ON DBLCLICK MsgInfo("Dbl Click Procedure") ; LOCK END WINDOW CENTER WINDOW Form_1 Form_1.Browse_1.SetFocus ACTIVATE WINDOW Form_1 Return Nil Procedure OpenTables() Use Test Via "DBFCDX" Shared Return Procedure CloseTables() Use Return

S-A-N: Спасибо. Это именно то, что нужно. Жаль только, что при поиске InsertReturn в MiniGUI.chm ничего не находится. Я уверен, что это не единственная функция о которой не известно файлу справки, а, следовательно, и многим разработчикам, начинающим осваивать MiniGUI.

gfilatov: S-A-N пишет: уверен, что это не единственная функция о которой не известно файлу справки Да, Вы правы Существуют и другие полезные недокументированные функции типа GetControlHandle(), GetControlIndex(), GetControlType() и т.д. Но в этом и состоит преимущество проектов с открытым кодом, что Вам доступны все исходники библиотеки и масса примеров разного уровня сложности - изучайте, исследуйте, используйте чужие наработки без ограничений и к тому же бесплатно




полная версия страницы