Конкурс красоты

Вопросы программирования и использования MSEide + MSEgui.

Модератор: Модераторы

Конкурс красоты

Сообщение Alexander » 29.04.2007 01:55:47

Предлагаю начать "конкурс красоты" MSE. Публиковать здесь удачные
со своей точки зрения варианты дизайна программ или просто
абстрактное разукрашивание компонентов без всякого
функционала. :)

Рекомендуемый формат картинок - PNG - полноцветно,
компактно и без потерь.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 771
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение debi12345 » 29.04.2007 15:52:41

В новостях Мартин сам выкладывал дня два назад - в стилизации под "дерево". Если сможете залить куда-то - залинкуйте то снэпшот сюда.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение Alexander » 29.04.2007 17:34:36

Изображение

Сделано.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 771
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение rudjuk1977 » 29.04.2007 17:37:40

И почему до сих пор красивый интерфейс - не стандарт для Lazarus ? Ведь может быть красивым, если захочет!
rudjuk1977
постоялец
 
Сообщения: 104
Зарегистрирован: 28.04.2007 21:18:56
Откуда: Киев

Сообщение Alexander » 19.05.2007 23:32:37

Изображение
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 771
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение debi12345 » 20.05.2007 13:18:03

Красота не только внешняя бывает.
Например, заполнение и коректировка массива ключей выбранных строк таблицы по изменению значения InternalCalc boolean-поля в текущей строке ( при выборе в WidgetGrid и т.п. ):

Код: Выделить всё
procedure tjobaddfo.usedchanged(Sender: TField);
begin
with sender, qryJobHosts do begin
  if asboolean then begin
   additem(newhostids, fieldbyname('id').asinteger);
  end else begin
   removeitem(newhostids, fieldbyname('id').asinteger);
  end;
end;
end;


"additem" и "removeitem" - специальные процедуры для работы с DynArray. Эта группа методов позволяют использовать такие массивы вместо Set-ов (имеющих лимит 256 значений)
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение Alexander » 20.05.2007 13:30:35

А я как раз хотел спрсить об этом. Значит функции для работы с
динамическими массивами уже есть !

Насчёт внутренней красоты не может быть сомнений. Обгаживают ведь
не её. Кто хоть немного разобрался, тому эта красота открывается.
Народ хочет внешней, без неё на внутреннюю смотреть не хочет из
принципа. Блин.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 771
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение debi12345 » 20.05.2007 15:00:21

Народ хочет внешней, без неё на внутреннюю смотреть не хочет из
принципа. Блин.
=========
Не-а.
Народ пока ничего конкретного, с осязаемым результатом, не хочет. Он, на досуге, просто утоляет исследовательские инстинкты. На что достаточно поверхностного взгляда и простеньких тестовых примеров. Вот когда в xUSSR за пиратство начнут массово судить и облавы на предприятиях устраивать, и появятся массовые заказы сложных программ "чтобы под Линукс работало и печатало" - тогда и результат понадобится, а под него и средства достижения энтого результата. Старые или новые, совместимые с Дельфи или нет, неважно - лишь бы надежно работали.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение Alexander » 20.05.2007 18:19:12

Есть мысль насчёт вот такого прикола. Не знаю как её оценит Мартин.
Как я понимаю, все параметры вида компонентов одного типа. Один
тип - цвет (раскраска), второй - форма. Что если сделать (если это
реально) диалог, в котором будут перечислены эти компоненты (и
дефолтные тоже) и пользователь мог бы их настраивать. А настройки
сохранялись бы в том же стат файле. Возможно в тип компонентов тогда
нужно будет включить строку с именем, понятным пользователю.

На эту идею меня натолкнула, естественно, работа wahono.
Но в отличии от его диалога цвета эта задача заметно сложнее.

Такая возможность вообще закроет тему тем.

Стоящая ли идея ?

Бедный Мартин.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 771
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение debi12345 » 21.05.2007 01:34:39

Есть мысль насчёт вот такого прикола. Не знаю как её оценит Мартин.
[...]
============
Идет работа над глобальными Frame/Face Template. Посмотрим, что это за "звери".
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение haword » 21.05.2007 08:46:36

Alexander писал(а):Изображение

я валяюсь, извините конечно, вкусы у всех разные, но я не думаю что серо-буро-малиновая форма с желтым фоном это красиво :) Но скроллбар грида понравился, безспорно! Если бы и все контролы были такими же приятными для глаза :)
haword
постоялец
 
Сообщения: 301
Зарегистрирован: 02.03.2006 11:34:40

Сообщение Alexander » 21.05.2007 21:03:36

haword писал(а):Но скроллбар грида понравился, безспорно! Если бы и все контролы были такими же приятными для глаза


Так в чём проблема то ? Они УЖЕ ДАВНО ЭТО МОГУТ ! Эти свойства есть
у каждого компонента и элемента, А дальше дело собственного вкуса.
Об том и речь. И на дизайн среды смотреть не надо.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 771
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение haword » 22.05.2007 08:55:26

Alexander писал(а):
haword писал(а):Но скроллбар грида понравился, безспорно! Если бы и все контролы были такими же приятными для глаза


Так в чём проблема то ? Они УЖЕ ДАВНО ЭТО МОГУТ ! Эти свойства есть
у каждого компонента и элемента, А дальше дело собственного вкуса.
Об том и речь. И на дизайн среды смотреть не надо.

понимаешь, как бы не старался мартин все равно если не будет события OnOwnerDraw ничего путнего не получиться. Да я вижу у тебя красиво сделанны скроллбары у грида, но я так же помню как они начинают изгибаться если на них мышей навести, а при таком стиле отображения это будет только ПОРТИТЬ все! Потом эти УЖАСТНЫЕ меню, что нельзя сделать одного размера все пункты меню? обязательно одно шире другое тоньше? Опять же при наведении мыши получается изврат который исправить можно только переписыванием самого контрла. Эх мечты мечты! Помнится еще во время 0.8 или 0.9 версии я смотрел как он там все делал. Так там функция прорисовки контрола при наведении мышки ИСПОЛЬЗОВАЛАСЬ ВЕЗДЕ ОДНА и при наведении на кнопку и на скроллбар и на меню!!! Вот это было весело, когда по идее каждый контрол должен был иметь свои функции прорисовки. Ну да ладно как говориться хозяин-барин :)
Может всетаки Мартин дорос до добавления метода OnOwnerDraw? :) Я не думаю чтобы это было сложно когда виджеты его собственной разработки! Если этот момент наступит и не наступит конец света, тогда можно будет писать действительно красивые программы не обращая внимание на новые дизайнерские способности Мартина :) И можно будет делать красивые градиентные меню типа как в мелкософтском оффисе или опеноффисе под вынь.
haword
постоялец
 
Сообщения: 301
Зарегистрирован: 02.03.2006 11:34:40

Сообщение debi12345 » 22.05.2007 10:12:21

Вот это было весело, когда по идее каждый контрол должен был иметь свои функции прорисовки
==============
В MSEgui существует один-единственный "canvas", всего top-level окна ( формы). Что очень даже разумно.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение haword » 22.05.2007 14:58:30

debi12345 писал(а):Вот это было весело, когда по идее каждый контрол должен был иметь свои функции прорисовки
==============
В MSEgui существует один-единственный "canvas", всего top-level окна ( формы). Что очень даже разумно.

Понятия: различные функции для формиравания видимой части КАЖДОГО виджета и один динственный канвас думаю как то различаются все же? :) Объясню на всякий случай что я имел ввиду. В мсегуи есть например функция - DrawFrameBox, так вот эта функция используется везде где рисуются виджеты, и во время рисования скроллбара и во время рисования кнопки и комбобокса, и меню, просто задаются всегда разные размеры прорисовки это бокса. Покрайней мере раньше так было. Универсализация конечно это хорошо, если так то сделал бы хоть OnOwnerDraw для каждого своего виджета, тогда бы никаких бы вопросов и не возникало бы. Можно было бы рисовать красивые менюшки, с красивыми выделениями полей и прозрачностями!!!!!! и всякими другими прибабахами. кнопки дутые-раздутые, картинки везде пихать где только душа позваляет!! НО есть одно НО на этом способе рисования одной функцией всегда и везде все и построенно и чтобы это изменить надо скорее всего много чего переделывать. Думаю когда ни будь это и случиться и появятся нужные события.
haword
постоялец
 
Сообщения: 301
Зарегистрирован: 02.03.2006 11:34:40

След.

Вернуться в MSEide + MSEgui

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru