Kolibri Image Viewer

Processing, playback of audio and video
  • В WinXP для режима слайд шоу запускается новый поток. То, что запущено 2 программы можно увидеть по alt+tab.
    Здесь можно также. Ничего криминального я в этом не вижу. Чтобы исключить альт+таб можно убивать слайд-шоу при деактивации окна - но тут могут быть подводные камни - внезапно вылезший @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 364 times
    Из хаоса в космос
  • О, классно! А я слишком общо понял
    Положение и размеры окна устанавливаются при первом вызове этой функции и игнорируются при последующих; для изменения положения и/или размеров уже созданного окна используйте 67-ю функцию.
  • Leency, ну исходники то есть, так что дерзай. :3
  • Удобно было бы, если бы в заголовке отображалось количество изображений и номер текущего, вроде
    Картинка.png [2/16] - Kolibri Image Viewer
    Из хаоса в космос
  • Тогда уж [2/16] Картинка.png - Kolibri Image Viewer, чтобы глазами по заголовку не бегать в поисках этих индексов. И как ты себе представляешь определение количества картинок в папке? По расширению? По сигнатуре? А если их количество изменится во время работы программы? При каждом переходе к новой картинке перечитывать директорию?
  • Меня, как и всех, устроит любой вариант как он будет определять кол-во изображений в папке, если он будет работать. Сейчас KIV каким-то образом знает их кол-во и номер текущего изображения, т.к.
    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 при нажатии на установить обоями рабочего стола выпадало меню, но он счёл это сложным. У меня очень долго хранился этот концепт и в итоге я его удалил. Всё же я считаю идею с выпадающим меню при нажатии на кнопку удачной. Кнопки поворота также надо будет сгруппировать в одну кнопку с выпадающим меню.

    Я над этим поработаю и позже выложу концепт.
    Из хаоса в космос
  • Меню к установке обоев ещё куда ни шло (хотя мне не очень нравится идея создавать второй поток и общаться с ним), потому что им пользуются не так часто. А вот поворот фотографий -- обычное дело, и если для этого придётся целиться и кликать дважды, то лично мне будет неудобно.

    Если у нас станет так много функций, что не будет хватать места для кнопок, тогда подумаем и о группировке.
  • Who is online

    Users browsing this forum: No registered users and 4 guests