System coders zone Board.sysbin.com
Здесь говорят правду!   RSS   Файловый хостинг #1

 ПоискПоиск   ПользователиПользователи   РегистрацияРегистрация   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Simple graphical application for Miraculix

 
Начать новую тему   Ответить на тему    Список форумов Board.sysbin.com -> Miraculix
Предыдущая тема :: Следующая тема  
Автор Сообщение
Kreoton
Специалист
Специалист


Зарегистрирован: 26.05.2004
Сообщения: 270
Откуда: Moscow

СообщениеДобавлено: Сб Май 21, 2005 6:58 pm    Заголовок сообщения: Simple graphical application for Miraculix Ответить с цитатой

Код:

 ;======================================================;
 ;=  Simple graphical application for Miraculix          =;
 ;=  Простейшее графическое приложение для Miraculix   =;
 ;======================================================;
use32   ; 32-битный код

        mov     edx, gui_dll      ; Смещение имени модуля
        xor     eax,eax         ; Функция ядра #0 - получение точки входа в модуль
        int     0x90         ; Вызов ядра Miraculix
        mov     [WinGUI],ebx      ; Запомнить точку входа в модуль GUI.DLL

        call    Draw_Window      ; Нарисуем простейшее окно

      Wait_Event:         ; Начало обработки событий
        mov     eax,0xB         ; Функция графического ядра (GUI.DLL) #0x0B - Ждать события
        call    [WinGUI]      ; Вызов GUI.DLL
               ; В DL - ID события, в остальных регистрах параметры
    ;===========--
    ;===  Перерисовка
    ;======================--
        cmp     dl,1         
        jne     no_Redraw      ; Перерисовка?
        call    Draw_Window      ; Если да, перерисовать окно
        jmp     Wait_Event      ; Вернутся в начало цикла ожидания событий
      no_Redraw:

    ;===========--
    ;===  Получение фокуса
    ;======================--
        cmp     dl,2
        jne     no_GetFocus
        mov     al,8         ; Получить фокус
        call    [WinGUI]
        jmp     Wait_Event
      no_GetFocus:

    ;===========--
    ;===  Потеря фокуса
    ;======================--
        cmp     dl,3
        jne     no_LostFocus
        mov     ecx,-2         ; Перерисовать только рамку и заголовок
        mov     al,2
        call    [WinGUI]
        jmp     Wait_Event
      no_LostFocus:

    ;===========--
    ;===  Выход
    ;======================--
        cmp     dl,4
        jne     no_Exit
        mov     al,4         ; Функция графического ядра (GUI.DLL) #0x04 - Выход
        call    [WinGUI]
        jmp     Wait_Event
      no_Exit:

        jmp     Wait_Event

 ;========================;
 ;===   Создать окно   ===;
 ;========================;
Draw_Window:
        mov     esi,50 *65536+ 350   ; Координата начала окна по оси X - 50, размер по X - 350
        mov     edi,50 *65536+ 250   ; Координата начала окна по оси Y - 50, размер по Y - 350
        xor     ebp,ebp         ; 0 для обычного окна
        mov     ecx,11100000000b   ; Атрибут окна.
        mov     edx, WinName      ; Заголовок окна
        xor     eax,eax         ; Функция графического ядра (GUI.DLL) #0 - Определить окно
        call    [WinGUI]

        mov     ecx,-1         ; Цвет клиентской области окна (-1 цвет по умолчанию)
        mov     al,2         ; Функция графического ядра (GUI.DLL) #0x02 - Нарисовать окно
        call    [WinGUI]

        ret

 ;========================;
 ;===  Секция данных   ===;
 ;========================;
WinName         db 'Example application',0
gui_dll         db 'GUI',0
WinGUI          dd 0

Просмотреть профиль
http://miraculix.ru/ - Официальный сайт Miraculix
CodeWorld
Гуру четвертой степени
Гуру четвертой степени


Зарегистрирован: 26.10.2003
Сообщения: 4425
Откуда: UA

СообщениеДобавлено: Сб Май 28, 2005 9:57 am    Заголовок сообщения: Ответить с цитатой

А какие компоненты уже есть - кнопки, радио батоны?
Давай ещё скриншотов гуи в действии (у мя по прежнему не пашут последнии версии)
Просмотреть профиль
Kreoton
Специалист
Специалист


Зарегистрирован: 26.05.2004
Сообщения: 270
Откуда: Moscow

СообщениеДобавлено: Сб Май 28, 2005 8:53 pm    Заголовок сообщения: Ответить с цитатой

Всё уже есть, причем, отлично работает! Надо только многое вынести из граф.ядра в DLL-ки.
Скрины скоро будут.
Просмотреть профиль
CodeWorld
Гуру четвертой степени
Гуру четвертой степени


Зарегистрирован: 26.10.2003
Сообщения: 4425
Откуда: UA

СообщениеДобавлено: Вс Май 29, 2005 8:00 am    Заголовок сообщения: Ответить с цитатой

Цитата:
Всё уже есть

Всё это что? Деревья есть? Статус бары? Давай весь список, знаешь ли "Всё" - это не ответ smile
Просмотреть профиль
Kreoton
Специалист
Специалист


Зарегистрирован: 26.05.2004
Сообщения: 270
Откуда: Moscow

СообщениеДобавлено: Ср Июн 01, 2005 3:41 pm    Заголовок сообщения: Ответить с цитатой

На уровне ядра есть только кнопки, остальное реализую в DLL-ках
Просмотреть профиль
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Board.sysbin.com -> Miraculix Часовой пояс: GMT + 3
Страница 1 из 1

Similar Topics
Тема Автор Форум
Нет новых сообщений Описание Miraculix API Kreoton Miraculix
Нет новых сообщений Miraculix OS :: News Kreoton Miraculix
Нет новых сообщений A йа Miraculix взломал %) Smart Coder OS development
Нет новых сообщений Исходники Miraculix Kreoton Miraculix
Нет новых сообщений Miraculix Operation System Гость OS development




Powered by www.phpbb.com