Я взял на заметку.
Сейчас мне не нравится, что нельзя на лету поменять тип окна. Придётся запускать новый поток или вообще делать запуск с параметром и при переходе в режим слайд-шоу запускать новый kiv, а старый завершать. Ну или я что-то не учёл.
Иконка хорошая, спасибо.
Kolibri Image Viewer
В WinXP для режима слайд шоу запускается новый поток. То, что запущено 2 программы можно увидеть по alt+tab.
Здесь можно также. Ничего криминального я в этом не вижу. Чтобы исключить альт+таб можно убивать слайд-шоу при деактивации окна - но тут могут быть подводные камни - внезапно вылезший @notify. Пока что вероятность этого чуть менее чем нулевая, так что вполне можно)
P.S. Там иконки 2 - я пост отредактировал. Мне белая даже как-то больше нравится...
Здесь можно также. Ничего криминального я в этом не вижу. Чтобы исключить альт+таб можно убивать слайд-шоу при деактивации окна - но тут могут быть подводные камни - внезапно вылезший @notify. Пока что вероятность этого чуть менее чем нулевая, так что вполне можно)
P.S. Там иконки 2 - я пост отредактировал. Мне белая даже как-то больше нравится...
Из хаоса в космос
Что-то я засомневался и решил проверить. Всё таки можно.dunkaist wrote:Сейчас мне не нравится, что нельзя на лету поменять тип окна.
Spoiler:
Code: Select all
#include "..\lib\kolibri.h"
#include "..\lib\file_system.h"
int pro_inf;
int i;
void main()
{
dword id;
word key;
loop()
{
switch(WaitEvent())
{
case evButton:
id=GetButtonID();
if (id==1) ExitProcess();
break;
case evKey:
key = GetKey();
IF (key==013){ //Enter
if (i==1) i=0; else i=1;
draw_window();
}
break;
case evReDraw:
draw_window();
break;
}
}
}
void draw_window()
{
if (i==1) DefineAndDrawWindow(215,100,250,200,0x34,0xFFFFFF,0,0,"Fuck my brain!");
else DefineAndDrawWindow(215,100,250,200,0x00,0xFFFFFF,0,0,"Fuck my brain!");
WriteText(5,130,0x80,0,"Press Enter",0);
}
stop:
- Attachments
-
-
example.kex (928 Bytes)Downloaded 374 times
-
Из хаоса в космос
О, классно! А я слишком общо понял
Положение и размеры окна устанавливаются при первом вызове этой функции и игнорируются при последующих; для изменения положения и/или размеров уже созданного окна используйте 67-ю функцию.
Leency, ну исходники то есть, так что дерзай. :3
Удобно было бы, если бы в заголовке отображалось количество изображений и номер текущего, вроде
Картинка.png [2/16] - Kolibri Image Viewer
Картинка.png [2/16] - Kolibri Image Viewer
Из хаоса в космос
Тогда уж [2/16] Картинка.png - Kolibri Image Viewer, чтобы глазами по заголовку не бегать в поисках этих индексов. И как ты себе представляешь определение количества картинок в папке? По расширению? По сигнатуре? А если их количество изменится во время работы программы? При каждом переходе к новой картинке перечитывать директорию?
Меня, как и всех, устроит любой вариант как он будет определять кол-во изображений в папке, если он будет работать. Сейчас KIV каким-то образом знает их кол-во и номер текущего изображения, т.к.
if (cur_num == img_num) cur_num = 0;
if (cur_num == img_num) cur_num = 0;
Из хаоса в космос
Слайдшоу - это клёво, только сейчас как я понимаю окно делается MAXIMIZED, за счёт чего панель задач видна. А надо просто менять координаты на 0, 0 и размер окна на размер экрана.
Из хаоса в космос
Не понял юмора. Проверь r3116 ещё раз.
Случайно перепутал кнопку "Слайдшоу" и "Установка изображения рабочего стола". Может к последней функции прикрутить MessageBox? ("Установить изображения?": "Да", "Нет")
Я считаю это лишним, я не буду этого делать.Albom wrote:Случайно перепутал кнопку "Слайдшоу" и "Установка изображения рабочего стола". Может к последней функции прикрутить MessageBox? ("Установить изображения?": "Да", "Нет")
Кстати, нужно как-то адекватно (компактно и понятно) предоставить пользователю выбор режима обоев (stretch, tiled, fit, etc). Если у кого-нибудь появятся идеи -- буду рад услышать. Пока в голову не пришло ничего лучше рисования букв (S, T, F, etc) на кнопке установки обоев и смены режима по правому клику. Компактно, но с понятностью не очень.
Leency,
я таки понял, о чём ты говорил. Если окно уже максимизировано, то его размер не изменяется. Действительно просмотрел.
Я чего-то не знаю, или у нас и правда нельзя изменить размер максимизированного окна и нельзя без помощи пользователя его размаксимизировать?
я таки понял, о чём ты говорил. Если окно уже максимизировано, то его размер не изменяется. Действительно просмотрел.
Я чего-то не знаю, или у нас и правда нельзя изменить размер максимизированного окна и нельзя без помощи пользователя его размаксимизировать?
Я тоже такой не помню, - есть место для 71.2 ф.
Я проверил как zSea с этим справляется. И он таки справляется, но нехорошим образом - он изменяет размеры клиентской области. Тоесть если программа вылетит (а возможно достаточно будет просто закрыть окно в режиме слайдшоу) и панель задач уже будет не видна при максимизировании окна.
Я когда-то предлагал диамонду сделать, чтобы в KIV при нажатии на установить обоями рабочего стола выпадало меню, но он счёл это сложным. У меня очень долго хранился этот концепт и в итоге я его удалил. Всё же я считаю идею с выпадающим меню при нажатии на кнопку удачной. Кнопки поворота также надо будет сгруппировать в одну кнопку с выпадающим меню.
Я над этим поработаю и позже выложу концепт.
Я проверил как zSea с этим справляется. И он таки справляется, но нехорошим образом - он изменяет размеры клиентской области. Тоесть если программа вылетит (а возможно достаточно будет просто закрыть окно в режиме слайдшоу) и панель задач уже будет не видна при максимизировании окна.
Я когда-то предлагал диамонду сделать, чтобы в KIV при нажатии на установить обоями рабочего стола выпадало меню, но он счёл это сложным. У меня очень долго хранился этот концепт и в итоге я его удалил. Всё же я считаю идею с выпадающим меню при нажатии на кнопку удачной. Кнопки поворота также надо будет сгруппировать в одну кнопку с выпадающим меню.
Я над этим поработаю и позже выложу концепт.
Из хаоса в космос
Меню к установке обоев ещё куда ни шло (хотя мне не очень нравится идея создавать второй поток и общаться с ним), потому что им пользуются не так часто. А вот поворот фотографий -- обычное дело, и если для этого придётся целиться и кликать дважды, то лично мне будет неудобно.
Если у нас станет так много функций, что не будет хватать места для кнопок, тогда подумаем и о группировке.
Если у нас станет так много функций, что не будет хватать места для кнопок, тогда подумаем и о группировке.
Who is online
Users browsing this forum: No registered users and 0 guests