На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Обязательно выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.

Этот раздел предназначен для вопросов, посвященных разработке компонентов, а также для тестирования собственных бесплатных компонентов с открытым исходным кодом.

Здесь запрещается:
1. Размещать ссылки на какие-либо коммерческие компоненты, реализующие требуемую функциональность.
2. Обсуждать и тестировать коммерческие компоненты или компоненты с закрытым кодом.
3. Давать ссылки на сайты с исходным кодом компонентов. Все тестируемые исходные коды должы быть размещены на сайте ИСХОДНИКИ.RU.
Модераторы: Rouse_, DimaBr
  
> Предлагаю вашему вниманию - TOutLine9x и Win9x , Смотрим, тестируем, говорим свои отзывы...
    Предлагаю вашему вниманию мой компонент - TOutLine9x.
    Этот компонент представляет эволюцию обычного TOutline компонента с закладки Win3.1

    Что же в нём нового? Спросите вы... и зачем я изобретал велосипед?
    Да главное что меня подвигло к написанию компонента одна просьба + мой интерес.

    Ну а теперь обо всём и по порядку.

    Пер во наперво была решена проблема с загрузкой и отображением значков (иконок) размер которых превышает 14х14 пикселей.
    Т.е. теперь если вы загрузите свой значок ну скажем 16х16 или 32х32, то он не обрежется а отобразится как есть, при условии того что вы в пропертях ItemHeight = 17 (по умолчанию) укажите свой размер, тот что вам нужен.
    Для значков 16х16 пикселей я рекомендую ставить значение 19.
    Для значков 32х32 пикселей я рекомендую ставить значение 38.

    Теперь есть доступ к проперти ItemHeight и можно самому менять сетку грида, т.е. растягивать или сжимать компоновку значков.

    user posted image

    Ссылки для скачивания:

    Демо (EXE): DemoOutLine9x.exe

    Компонент + исходники (Delphi 6.0): ТOutLine9x v.1.0.0

    Дополняю новыми компонентами из той же серии. А именно:
    - TFileListBox9x
    - TDirectoryListBox9x
    - TDriveComboBox9x
    - TFilterComboBox9x

    Это слегка переделанные и всеми знакомые компоненты с которые последний раз были в Delphi 7 на закладке Win 3.1.
    Я делал для себя и потому использовал иконки из Windows2000, если нужны из XP, то перепишите ресурсы FileCtrl9x.res я не стал добавлять функцию по формованию списка конок что по умолчанию используются в вашей ОС.
    ExpandedWrap disabled
      ImgListHandle := SHGetFileInfo(nil, 0, SHFileInfo, SizeOf(SHFileInfo), SHGFI_ICON or SHGFI_SMALLICON or SHGFI_OPENICON or SHGFI_SYSICONINDEX);

    Т.к. в XP например они получаются с черными теням, что не красиво.

    Текущие дополнения и изменения...

    - Добавлено проперти IconSize [tiSmallIcon, tiLargeIcon].
    Что позволяет изменять рамера иконки во всех компонентах (TFileListBox9x, TDirectoryListBox9x, TDriveComboBox9x)
    с 16х16 на 32х32 и обратно.
    - Добавлено проперти TextCase [tcUpperCase, tcLowerCase].
    Что позволяет изменять текст подписи от диска tcUpperCase на заглавный или tcLowerCase прописной в TDriveComboBox9x.
    - Добавлено проперти Options [ doNoFloppy, doNoFixed, doNoCDROM, doNoNetwork, doNoRAM, doNoFree, doNoTape, doNoABDrives].
    Что позволяет отключать (убирать) ненужные или не используемые диски и устройства из TDriveComboBox9x.

    user posted image
    Демо (EXE): Demo2.exe

    Компонент + исходники + прмеры (Delphi 6.0): FalconFile9x ver. 2.0
    Сообщение отредактировано: User32 -
      Да, конечно уже хорошо и лучше чем старый компонент, но из твоего примера и описания про то что можно менять сетку грида, выходит следующее, что если поставить вместо 19->10 то он всё равно обрежит иконку. нельзя ли сделать, чтобы он не обрезал её, а масштабировал?
      а так в общем, очень даже :)
        Цитата dron-s @
        нельзя ли сделать, чтобы он не обрезал её, а масштабировал?

        Надо просто автоматически определять размеры значка и в соответственно его отрисовывать текст.
        конечно свойство itemheight можно оставить и применять его только когда значение выше 0;
          Согласен скоро сделаю подборку из 6 компонентов закладки Win3.1 в новой вариации, будут дополнительные функции.
          Вот только когда я пока сказать немогу - сейчас занят, а навыходных особого желания писать нет.
          Ну а так как только так сразу... будет новая версия с учётом всех замечаний и пожеланий. :)
            Цитата User32 @
            сделаю подборку из 6 компонентов закладки Win3.1 в новой вариации

            Было-бы ооочень круто если-бы это прямой наследник TWinControl или TCustomControl,
            поддерживал 32битные иконки с альфаканалом и Unicode(utf-8, utf-16);
            Потому-как с выходом висты(когда люди начнут массово переходить) будут проблемы, и не только с кодировками.

            Но если ты пишешь для собственного развития, то дерзай, я сам нераз изобретал велосипеды просто для самообучения, практика рулит.

            PS: И вообще я придерживаюсь правила: если что-то делаешь - делай это качественно или не делай вообще.
              Ну по поводу поддержки 32 битных иконок и прямого наследника я может и попробую переписать заново, а вот с альфа каналом и юникододом незнай незнай... боюсь пока непотяну, хотя былабы цель а решение всегда найдётся.

              Так как сейчас время есть, то через недельку попробую новую версию выпустить.
              Заодно может и сай допишу ато страмота...
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0294 ]   [ 16 queries used ]   [ Generated: 19.03.24, 03:23 GMT ]