Кнопки "Развернуть окно" и "Вернуть к обычному размеру"
-
Для тех, кому нужно, есть "окно без скина". Вообще, я буду рад, если это предложение будет реализовано, но настаивать не очень буду.
А я буду настаивать на появлении кнопок "Развернуть окно" и "Вернуть к обычному размеру".
Окно без скина - ужаснейший пережиток Менуэта. Выпилить его к чертям. Для тех, кому нужно окно без скина пусть просто определяют область и рисуют там что угодно.
Окно без скина - ужаснейший пережиток Менуэта. Выпилить его к чертям. Для тех, кому нужно окно без скина пусть просто определяют область и рисуют там что угодно.
Из хаоса в космос
Вообще я это и имел в виду. Есть же определение окна без отрисовки, верно?
Есть, но заголовком там всё равно рулит ядро. Что создаёт неприятные эффекты - запускаем FPlay, кликаем на кнопке в заголовке и двигаем мышь.
Есть два замечания по поводу кнопок:
1) Если добавлять новые стандартные кнопки в скин, то думаю должна быть возможность при создании окна включать или выключать любые из них, в зависимости от того нужны они в данном окне или нет. Т. е. если какая либо кнопка не нужна то скин рисуется без нее.
2) Еще могу посоветовать добавить стандартную кнопку с вопросиком, по аналогии с виндосовским стилем WS_EX_CONTEXTHELP.
1) Если добавлять новые стандартные кнопки в скин, то думаю должна быть возможность при создании окна включать или выключать любые из них, в зависимости от того нужны они в данном окне или нет. Т. е. если какая либо кнопка не нужна то скин рисуется без нее.
2) Еще могу посоветовать добавить стандартную кнопку с вопросиком, по аналогии с виндосовским стилем WS_EX_CONTEXTHELP.
Возможно, идея кнопки с вопросиком была инновационной, но, к сожалению, не прижилась. Если пользователя интересуют многие элементы интерфейса, ему придется метаться мышкой туда-сюда; вдобавок, подсказки по вопросику часто бывают слишком тривиальны. Но это не значит, что такое не приживется у нас, с другой стороны. Зависит от реализации.
По моему субъективному оценочному суждению кнопка "?" не нужна. Вешать на дерево табличку с надписью "дерево" не имеет большого смысла.
Насчет персонализации наличия кнопок для конкретного окна - такая вещь нужна и востребована.
Насчет персонализации наличия кнопок для конкретного окна - такая вещь нужна и востребована.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Собственно, было бы здорово, если бы окно:
1) Имело минимально допустимый размер (например, VLC нельзя свернуть сильнее, чем кнопки play+prev+next+громкость)
2) Имело максимально допустимый размер (не все программы могут работать на весь экран)
3) Имело бы в заголовке кнопку распахнуть/свернуть, если это действие возможно для окна (удобно же!)
4) Показывало бы в углу маленький неприметный треугольничек, если размер окна возможно изменять (не всегда ясно, можно ли растягивать окно)
5) При наведении мыши на рамку изменяло курсор мыши на стрелки растягивания - разумеется, в случае, если окно можно растягивать (еще одна наглядная демонстрация того, что размер окна можно изменить)
Наверное, я чего-то заоблачного сейчас от текущей оконной подсистемы прошу
1) Имело минимально допустимый размер (например, VLC нельзя свернуть сильнее, чем кнопки play+prev+next+громкость)
2) Имело максимально допустимый размер (не все программы могут работать на весь экран)
3) Имело бы в заголовке кнопку распахнуть/свернуть, если это действие возможно для окна (удобно же!)
4) Показывало бы в углу маленький неприметный треугольничек, если размер окна возможно изменять (не всегда ясно, можно ли растягивать окно)
5) При наведении мыши на рамку изменяло курсор мыши на стрелки растягивания - разумеется, в случае, если окно можно растягивать (еще одна наглядная демонстрация того, что размер окна можно изменить)
Наверное, я чего-то заоблачного сейчас от текущей оконной подсистемы прошу
1 и 2 реализуются на уровне приложения, абсолютно ничего сложного. Вот только блокировки флага разворота на весь экран для этого случая нет.
5 - я даже собирался делать (помнишьглобус украины курсор с круглыми часиками?), но мне помогли понять, что сей безблагодарный труд никаким почетом для меня пользоваться не будет и его забудут, как сотни других мелких улучшений (кто теперь вспомнит моргавший курсор и вылезающие на передний план иконки?). Все безвозвратно сгорает в ядерной топке ракетного двигателя проекта.
З.Ы. Более того - вот сделаю я автомонтирование дополнительного раздела по файлу-метке, так через пару месяцев тоже никто не вспомнит такую мелочь - такие вещи воспринимаются само собой разумеющимися и не достойными внимания.
5 - я даже собирался делать (помнишь
З.Ы. Более того - вот сделаю я автомонтирование дополнительного раздела по файлу-метке, так через пару месяцев тоже никто не вспомнит такую мелочь - такие вещи воспринимаются само собой разумеющимися и не достойными внимания.
Last edited by Mario_r4 on Fri Jun 14, 2013 8:30 pm, edited 1 time in total.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Собственно, пункт 4 тоже реализуется на уровне приложения.
Насчет пункта 5 - если у тебя вдруг снова возникнет такое желание, то это по крайней мере меня очень обрадует.
Насчет пункта 5 - если у тебя вдруг снова возникнет такое желание, то это по крайней мере меня очень обрадует.
Для пункта 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 0 guests