Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

Пишем свое API

Непрочитано 12.12.2014, 22:48  
AJScorp
Почётный гражданин KAZUS.RUN
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Пишем свое API

Павел, с какого посыла Вы решили начинать дерево объектов с кнопки?
Сообщение от Easyrider83 Посмотреть сообщение
Итак, любой интерфейс начинается с самого элементарного – кнопки.
Оно конечно да, но после то, как
1. Z-Order объектов, на которых лежат эти самые кнопки
2. Вычисление отрисовки окон (того, что необходимо обновить).
3. Механизм сообщений.
Реклама:
AJScorp вне форума  
Непрочитано 12.12.2014, 22:56  
AJScorp
Почётный гражданин KAZUS.RUN
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Пишем свое API

Сообщение от MisterDi Посмотреть сообщение
введение дополнительной иерархии ИМХО избыточно.
Все зависит от задачи. А ежели окно ошибки, или предупреждения с выбором нужно вывести? Даже с кнопконабирателем, как в первом посте?
AJScorp вне форума  
Непрочитано 12.12.2014, 22:56  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Пишем свое API

Я не говорил, что пишу GUI. Это интерфейс. На чем рисовать кнопку - ваша проблема. Моя задача - графика и обработчик при минимальных расходах флеши. Целевая аудитория - мелкие 8-ми битные камни с дисплеями, подключенными по SPI для экономии линий ввода-вывода.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
Zoosman (17.12.2014)
Непрочитано 12.12.2014, 22:57  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Пишем свое API

Сообщение от AJScorp Посмотреть сообщение
Все зависит от задачи. А ежели окно ошибки, или предупреждения с выбором нужно вывести? Даже с кнопконабирателем, как в первом посте?
Залейте двумя рамками Label и налепите две кнопки. Проще все.
А вот так выглядят кнопки, на которых мы теперь можем писать разным шрифтом.
Миниатюры:
Нажмите на изображение для увеличения
Название: IMG_20141212_201312.jpg
Просмотров: 91
Размер:	313.9 Кб
ID:	73111  

Последний раз редактировалось Easyrider83; 12.12.2014 в 23:19.
Easyrider83 вне форума  
Непрочитано 12.12.2014, 23:15  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Пишем свое API

Сообщение от Easyrider83 Посмотреть сообщение
Целевая аудитория - мелкие 8-ми битные камни с дисплеями, подключенными по SPI для экономии линий ввода-вывода.
8-ми битные камни, да ещё дисплеи на SPI, да ещё и FreeRTOS! Силён!
STM32F0 вне форума  
Непрочитано 12.12.2014, 23:21  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Пишем свое API

В моем случае это STM32F103VC, который никак не 8-ми битный. Ничего другого под рукой нет. Операционка в данном случае никакой роли не играет.
Easyrider83 вне форума  
Непрочитано 12.12.2014, 23:30  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Пишем свое API

Советую посмотреть на функции openmotif и делать что-то подобное.
Уж больно текущая реализация жутко смотрится.
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
eddy вне форума  
Непрочитано 12.12.2014, 23:45  
AJScorp
Почётный гражданин KAZUS.RUN
 
Аватар для AJScorp
 
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,550
Сказал спасибо: 384
Сказали Спасибо 735 раз(а) в 416 сообщении(ях)
AJScorp на пути к лучшему
По умолчанию Re: Пишем свое API

Сообщение от Easyrider83 Посмотреть сообщение
Я не говорил, что пишу GUI. Это интерфейс. На чем рисовать кнопку - ваша проблема.
Это для меня уже давно не проблема, почти по всем 3м пунктам, хотел присоединиться к "проектированию".
AJScorp вне форума  
Непрочитано 13.12.2014, 00:10  
Boba_spb
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.06.2008
Сообщений: 1,393
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Пишем свое API

Сообщение от MisterDi Посмотреть сообщение
Это верно для случая многозадачных систем
На одном окне !!! Panel внутри GroupBox и GroupBox внутри Panel;
И щелкнем мышкой в центре.

Вопрос: какая должна быть очередность опроса котролов ?

А они каждый в своем массиве - Panel [NPanel] и GroupBox[NGroupBox]
Миниатюры:
Нажмите на изображение для увеличения
Название: 11.JPG
Просмотров: 40
Размер:	10.2 Кб
ID:	73113  
Boba_spb вне форума  
Непрочитано 13.12.2014, 00:58  
Boba_spb
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.06.2008
Сообщений: 1,393
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Пишем свое API

Рисовал тут как - через SPI;

Рисование строки в прямоугольник с центровкой текста ;
Фонт самопальный высотой 24 пикселы;
PHP код:
void DrawString(unsigned char *tx, int Left, int Top, int Width,  uint16_t ColorFont, uint16_t ColorBack)
{
    int uk = 0;
    int uk1 = 0;
    uint16_t cnt = 0;
    uint32_t *ptr;
    uint32_t b = 0;
    unsigned char *ptc = tx;
    // задать область рисования  
    SetString(Left, Top, Width);
    // стартанем запись
    TFT_DC_LOW;
    TFT_CS_LOW;
    SendByte( 0x2C );
    TFT_DC_HIGH;
    // Вычислим  ширину текста и отцентруем
    while(*ptc != 0) { uk +=  fnt24[ fnt24[ *ptc++ ] ] ;}
    uk = (Width - uk) / 2; 
    uk1 = 0;
    // Зальем слева;   
   while(uk1 ‹ uk)
    {
       for( int j=0; j‹24; j++) SendWord(ColorBack);
           uk1++;
    }
    
    // Рисуем текст 
    while(*tx != 0 && uk1 ‹= Width)
    {
     cnt = fnt24[ fnt24[*tx] ];
     ptr = (uint32_t *)&fnt24[fnt24[*tx++]+1];
     for(uint16_t  i=0;i‹cnt;i++)
     {
       b = *ptr++;
       for( int j = 0; j ‹ 24;j++)
       {
         if((b & 0x800000) != 0) SendWord(ColorFont);  
         else               SendWord(ColorBack);
         b ‹‹= 1;
       }
       if(++uk1 ›= w)break;
     }
    }
    //зальем кончик
    while(uk1 ‹= Width)
    {
       for(int j=0; j‹24; j++)   SendWord(ColorBack);
           uk1++;
    }
    TFT_CS_HIGH;
  
} 
Boba_spb вне форума  
Сказали "Спасибо" Boba_spb
Zoosman (17.12.2014)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
свое USB устройство ESWANT Микроконтроллеры, АЦП, память и т.д 2 08.09.2009 14:58


Часовой пояс GMT +4, время: 16:01.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.