
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.12.161.87] |
![]() |
|
![]() |
|
|
Предлагаю вашему вниманию мой компонент - TOutLine9x.
Этот компонент представляет эволюцию обычного TOutline компонента с закладки Win3.1 Что же в нём нового? Спросите вы... и зачем я изобретал велосипед? Да главное что меня подвигло к написанию компонента одна просьба + мой интерес. Ну а теперь обо всём и по порядку. Пер во наперво была решена проблема с загрузкой и отображением значков (иконок) размер которых превышает 14х14 пикселей. Т.е. теперь если вы загрузите свой значок ну скажем 16х16 или 32х32, то он не обрежется а отобразится как есть, при условии того что вы в пропертях ItemHeight = 17 (по умолчанию) укажите свой размер, тот что вам нужен. Для значков 16х16 пикселей я рекомендую ставить значение 19. Для значков 32х32 пикселей я рекомендую ставить значение 38. Теперь есть доступ к проперти ItemHeight и можно самому менять сетку грида, т.е. растягивать или сжимать компоновку значков. Ссылки для скачивания: Демо (EXE): DemoOutLine9x.exe Компонент + исходники (Delphi 6.0): ТOutLine9x v.1.0.0 Дополняю новыми компонентами из той же серии. А именно: - TFileListBox9x - TDirectoryListBox9x - TDriveComboBox9x - TFilterComboBox9x Это слегка переделанные и всеми знакомые компоненты с которые последний раз были в Delphi 7 на закладке Win 3.1. Я делал для себя и потому использовал иконки из Windows2000, если нужны из XP, то перепишите ресурсы FileCtrl9x.res я не стал добавлять функцию по формованию списка конок что по умолчанию используются в вашей ОС. ![]() ![]() 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. ![]() Демо (EXE): Demo2.exe Компонент + исходники + прмеры (Delphi 6.0): FalconFile9x ver. 2.0 |
Сообщ.
#2
,
|
|
|
Да, конечно уже хорошо и лучше чем старый компонент, но из твоего примера и описания про то что можно менять сетку грида, выходит следующее, что если поставить вместо 19->10 то он всё равно обрежит иконку. нельзя ли сделать, чтобы он не обрезал её, а масштабировал?
а так в общем, очень даже ![]() |
Сообщ.
#3
,
|
|
|
Цитата dron-s @ нельзя ли сделать, чтобы он не обрезал её, а масштабировал? Надо просто автоматически определять размеры значка и в соответственно его отрисовывать текст. конечно свойство itemheight можно оставить и применять его только когда значение выше 0; |
Сообщ.
#4
,
|
|
|
Согласен скоро сделаю подборку из 6 компонентов закладки Win3.1 в новой вариации, будут дополнительные функции.
Вот только когда я пока сказать немогу - сейчас занят, а навыходных особого желания писать нет. Ну а так как только так сразу... будет новая версия с учётом всех замечаний и пожеланий. ![]() |
Сообщ.
#5
,
|
|
|
Цитата User32 @ сделаю подборку из 6 компонентов закладки Win3.1 в новой вариации Было-бы ооочень круто если-бы это прямой наследник TWinControl или TCustomControl, поддерживал 32битные иконки с альфаканалом и Unicode(utf-8, utf-16); Потому-как с выходом висты(когда люди начнут массово переходить) будут проблемы, и не только с кодировками. Но если ты пишешь для собственного развития, то дерзай, я сам нераз изобретал велосипеды просто для самообучения, практика рулит. PS: И вообще я придерживаюсь правила: если что-то делаешь - делай это качественно или не делай вообще. |
Сообщ.
#6
,
|
|
|
Ну по поводу поддержки 32 битных иконок и прямого наследника я может и попробую переписать заново, а вот с альфа каналом и юникододом незнай незнай... боюсь пока непотяну, хотя былабы цель а решение всегда найдётся.
Так как сейчас время есть, то через недельку попробую новую версию выпустить. Заодно может и сай допишу ато страмота... |