Кнопки "Развернуть окно" и "Вернуть к обычному размеру"

All that makes Kolibri beautiful outside while we are working inside
  • А я буду настаивать на появлении кнопок "Развернуть окно" и "Вернуть к обычному размеру".
    Окно без скина - ужаснейший пережиток Менуэта. Выпилить его к чертям. Для тех, кому нужно окно без скина пусть просто определяют область и рисуют там что угодно.
    Из хаоса в космос
  • Вообще я это и имел в виду. Есть же определение окна без отрисовки, верно?
  • Есть, но заголовком там всё равно рулит ядро. Что создаёт неприятные эффекты - запускаем FPlay, кликаем на кнопке в заголовке и двигаем мышь.
  • Есть два замечания по поводу кнопок:
    1) Если добавлять новые стандартные кнопки в скин, то думаю должна быть возможность при создании окна включать или выключать любые из них, в зависимости от того нужны они в данном окне или нет. Т. е. если какая либо кнопка не нужна то скин рисуется без нее.
    2) Еще могу посоветовать добавить стандартную кнопку с вопросиком, по аналогии с виндосовским стилем WS_EX_CONTEXTHELP.
  • Возможно, идея кнопки с вопросиком была инновационной, но, к сожалению, не прижилась. Если пользователя интересуют многие элементы интерфейса, ему придется метаться мышкой туда-сюда; вдобавок, подсказки по вопросику часто бывают слишком тривиальны. Но это не значит, что такое не приживется у нас, с другой стороны. Зависит от реализации.
  • По моему субъективному оценочному суждению кнопка "?" не нужна. Вешать на дерево табличку с надписью "дерево" не имеет большого смысла.
    Насчет персонализации наличия кнопок для конкретного окна - такая вещь нужна и востребована.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Собственно, было бы здорово, если бы окно:
    1) Имело минимально допустимый размер (например, VLC нельзя свернуть сильнее, чем кнопки play+prev+next+громкость)
    2) Имело максимально допустимый размер (не все программы могут работать на весь экран)
    3) Имело бы в заголовке кнопку распахнуть/свернуть, если это действие возможно для окна (удобно же!)
    4) Показывало бы в углу маленький неприметный треугольничек, если размер окна возможно изменять (не всегда ясно, можно ли растягивать окно)
    5) При наведении мыши на рамку изменяло курсор мыши на стрелки растягивания - разумеется, в случае, если окно можно растягивать (еще одна наглядная демонстрация того, что размер окна можно изменить)

    Наверное, я чего-то заоблачного сейчас от текущей оконной подсистемы прошу :D
  • 1 и 2 реализуются на уровне приложения, абсолютно ничего сложного. Вот только блокировки флага разворота на весь экран для этого случая нет.
    5 - я даже собирался делать (помнишь глобус украины курсор с круглыми часиками?), но мне помогли понять, что сей безблагодарный труд никаким почетом для меня пользоваться не будет и его забудут, как сотни других мелких улучшений (кто теперь вспомнит моргавший курсор и вылезающие на передний план иконки?). Все безвозвратно сгорает в ядерной топке ракетного двигателя проекта.

    З.Ы. Более того - вот сделаю я автомонтирование дополнительного раздела по файлу-метке, так через пару месяцев тоже никто не вспомнит такую мелочь - такие вещи воспринимаются само собой разумеющимися и не достойными внимания.
    Last edited by Mario_r4 on Fri Jun 14, 2013 8:30 pm, edited 1 time in total.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Собственно, пункт 4 тоже реализуется на уровне приложения.
    Насчет пункта 5 - если у тебя вдруг снова возникнет такое желание, то это по крайней мере меня очень обрадует.
  • Для пункта 5 уже есть готовые курсоры. Я их лично рисовал, никаких проблем с копирайтом.
    И все 5 пунктов реализуются на уровне приложения, хотя курсорный код ядра нуждается в некоторой чистке и модификации.
    Last edited by Serge on Fri Jun 14, 2013 9:14 pm, edited 2 times in total.
  • Супер, ребята, вы молодцы. Курсоры мне очень понравились еще в fplay!
  • 1) реализовывать на уровне приложения лишний код и костыли по большому счёту. Это должно быть в параметрах окна.

    Опен сорс вообще вещь неблагодарная и если кто-то пришёл сюда за славой и памятью в веках, то он наверно пришёл не по адресу.
    Из хаоса в космос
  • Leency
    Это в ядре как раз лишний код с кнопками и заголовками. Ядру достаточно области отрисовки контролировать и события в правильном порядке раздавать.
  • Leency wrote:Окно без скина - ужаснейший пережиток Менуэта. Выпилить его к чертям.
    окно без скина позволяет аботаль с полнооконными приложениями как в видеоиграх проще чем окно со скином, учитывая бордюр и прочее. Собственно да это пережиток, и выкинуть его можно)

    Соглашусь с serge
    Это в ядре как раз лишний код с кнопками и заголовками. Ядру достаточно области отрисовки контролировать и события в правильном порядке раздавать.
    вынести работу по окнам в библиотеку, библиотеке тоже ни что не помешает подгружать скин и отрисовывать, но смущает вопрос о производительности такой отрисовки...

    Ну а пока спрошу сам, являются ли в текущем положении актуальными такие параметры как:

    Code: Select all

    WINDOW_CAPTION	- Фон полосы заголовка.
    WINDOW_INACTCAPTION	 - Фон полосы заголовка при неактивном окне.
    На мой взгляд эти параметры ни к чему и хотелось бы мне их выкинуть, но мож я чего то не знаю????

    Пока текущая таблица системных цветов такая, сейчас работаю над описаниями каждого контрола и каждого значения из таблицы, чтобы это не вызывало сомнений, поэтому собственно если у кого есть вопросы о необходимости я отвечу, но кратко.
    Spoiler:

    Code: Select all

    1	WINDOW_FACE	Фон активного окна.
    2	WINDOW_INACTFACE	Фон неактивного окна.
    3	WINDOW_FRAME	Цвет рамки активного окна.
    4	WINDOW_INACTFRAME	Цвет рамки неактивного окна.
    5	WINDOW_CAPTION	Фон полосы заголовка.
    6	WINDOW_INACTCAPTION	Фон полосы заголовка при неактивном окне.
    7	WINDOW_TITLE	Цвет текста полосы заголовка.
    8	WINDOW_TEXT	Цвет текста в рабочей области окна.
    9	WINDOW_APPWORKSPACE	Фон панелей и дочерних окон приложения.
    10	WINDOW_GRAYTEXT	Цвет неактивного текста.
    11	BTN_FACE	Фон выпуклого элемента (кнопки).
    12	BTN_INACTFACE	Фон неактивного выпуклого элемента.
    13	BTN_FOCUSFACE	Фон выпуклого элемента при наведении.
    14	BTN_FRAME	Цвет рамки кнопки.
    15	BTN_INACTFRAME	Цвет рамки неактивной кнопки.
    16	BTN_FOCUSFRAME	Цвет рамки кнопки при наведении.
    17	BTN_TEXT	Цвет текста кнопки.
    18	BTN_INACTTEXT	Цвет текста неактивной кнопки.
    19	BTN_FOCUSTEXT	Цвет текста кнопки при наведении.
    20	3D_FACE	Полоса просмотра.
    21	3D_DARK	Теневая обводка 3D.
    22	3D_LIGHT	Световая обводка 3D.
    23	ELEMENT_FACE	Фон input элементов (edit, listbox).
    24	ELEMENT_INACTFACE	Фон неактивных input элементов.
    25	ELEMENT_FRAME	Цвет рамки input элементов.
    26	ELEMENT_INACTFRAME	Цвет рамки неактивных input элементов
    27	ELEMENT_VOLUME	Цвет выделения и заполнения.
    28	ELEMENT_TEXT	Цвет текста input элементов.
    29	ELEMENT_INACTTEXT	Цвет текста неактивных input элементов.
    30	ELEMENT_SHADOW	Цвет тени для неактивных input элементов.
    31	RESERVED	Зарезервировано.
    32	RESERVED	Зарезервировано.
    Элементы к которым будет описание в спецификации с визуальным отображением.
    Spoiler:

    Code: Select all

    Window
    ChildWindow (??? возможно и будет)
    Edit
    CheckBox
    ListBox
    ComboBox
    ProgressBar
    PopupMenu
    Label
    Panel
    Button
    TreeViewer
    TabSet
    TrackBar
    ScrollBar
    StatusBar
    Hint
  • Who is online

    Users browsing this forum: No registered users and 8 guests