Форум: "Прочее";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
ВнизRSPak - пакет модулей и компонент Найти похожие ветки
← →
GrayFace © (2007-01-27 10:45) [0]Представляю Вам свой пакет. Содержит много разнообразных функций и классов. В отличие от многих компонентописателей, я не изобретал велосипедов в виде общих предков своих контролов - все унаследовано от стандартых контролов. Вообще, компоненты играют не главную роль.
Никакой справки пока нет, ибо лень. Есть только пара маленьких демок и сами модули. Однако, не поленитесь посмотреть - там много полезного.
http://www.grayface.nm.ru/RSPak.rar (120,3 KB)
← →
Орион © (2007-01-27 12:23) [1]> Однако, не поленитесь посмотреть - там много полезного.
что именно?
← →
calm © (2007-01-27 13:44) [2]
> Вообще, компоненты играют не главную роль.
Второстепенная составляющая пакета раскрыта. В чем же основная фишка?
← →
GrayFace © (2007-01-27 14:04) [3]Компоненты - не второстепенны, но и не главное. В чем фишка? Просто много полезностей. Чуть позже напишу краткое описание.
← →
Zeqfreed © (2007-01-27 14:12) [4]> Чуть позже напишу краткое описание.
С этого стоило начать.
← →
Gero © (2007-01-27 16:44) [5]А если окажется, что мне с них никакой пользы, как закачать их обратно?
← →
Gero © (2007-01-27 16:45) [6]> [3] GrayFace © (27.01.07 14:04)
> Компоненты — не второстепенны, но и не главное.
А что главное?
← →
Орион © (2007-01-27 17:40) [7]где же автор с краткими объяснениями?
← →
IMHO © (2007-01-27 17:53) [8]
> Gero © (27.01.07 16:45) [6]
>
> > [3] GrayFace © (27.01.07 14:04)
> > Компоненты — не второстепенны, но и не главное.
>
> А что главное?
Главное - залить что-то на свой сайт и объявить обо всем этом всему миру. Жизнь удалась только после этого.
← →
Vovan #2 (2007-01-27 18:37) [9]>Главное - залить что-то на свой сайт и объявить обо всем этом всему миру. Жизнь удалась только после этого.
Оно то главное - это точно. Но в случае с GrayFace всё по-другому. Человек действительно ряботящий (проделал большую работу, пробежался по всем модулям Delphi, приложил руку ко всему), но при этом суровый. Поэтому разъяснений не будет.
← →
Vovan #2 (2007-01-27 18:44) [10]Добавлю, а то, кажется, неясно выразился. Имеется ввиду, что GrayFace не из таких, кто "Вот вам HTML-хелп, Readme, сайт с обновления, адрес support"а, всё ради вас", а из тех, кто "Вот вам рабочий код, лицензия - балуйтесь. Если реально поможет - буду рад".
← →
IMHO © (2007-01-27 19:00) [11]Действительно сурово. А ребята из Microsoft и Borland - мягкотелые...
← →
GrayFace © (2007-01-27 21:33) [12]Ну не люблю хелпы писать, щас увлечен DefTool (для h3wog), Shell"ом...
У меня есть наброски краткого описания (хорошо звучит!), завтра продолжу и напишу. Наверное. :)
P.S. А выложил, т.к. в теме про плейлист как в WinAMP написал, что прилипание окон аля WinAMP могу дать. Да давно уже хотел, но откладывал, как раз в основном из-за отсутствия хоть какой-то справки.
P.P.S. Кстати о лицензии, я там написал везде про Mozill"овскую, сам ее не читал, но я так понял, что меня согласно ей надо будет в Справке указывать где-то в благодавностях. А эта лицензия еще что-то подразумевает? (если не охота, можете и не указывать, я не обижусь)
← →
Vovan #2 (2007-01-27 21:58) [13]>GrayFace © (27.01.07 21:33) [12]
Ну ты крут, выложил под MPL, а её не читал. Вообще там могут быть большие ограничения, вроде того, что если я законопослушный гражданин, то не могу использовать куски твоего кода в своих программах, которые публикуются не под MPL.
Я бы посоветовал Apache License. Сохраняется авторство, код используется как угодно.
← →
GrayFace © (2007-01-27 22:42) [14]Vovan #2 (27.01.07 21:58) [13]
Ну ты крут, выложил под MPL, а её не читал.
Чукча не читатель. К тому же она большая...
← →
xayam © (2007-01-27 22:44) [15]
> Vovan #2 (27.01.07 21:58) [13]
> >GrayFace © (27.01.07 21:33) [12]
> Ну ты крут, выложил под MPL, а её не читал. Вообще там могут
> быть большие ограничения, вроде того, что если я законопослушный
> гражданин, то не могу использовать куски твоего кода в своих
> программах, которые публикуются не под MPL.
А если например исходники используемого в проекте компонента распространяются под MPL, то я свой проект с исходниками этого же компонента могу распространять под Apache License? BSD License?
← →
Zeqfreed © (2007-01-27 22:52) [16]Нет лицензий окромя GPL! :)
← →
Vovan #2 (2007-01-27 23:29) [17]>А если например исходники используемого в проекте компонента распространяются под MPL, то я свой проект с исходниками этого же компонента могу распространять под Apache License? BSD License?
Да, под любой, если в Readme приведёшь куски использованного и модифицированного тобой кода.
← →
GrayFace © (2007-01-28 14:41) [18]Краткое Описание
Модули:
QPix
TQuickPixels - класс для быстрой работы с пикселями TBitmap"а, создан MBo и Алексеем Радионовым, я исправл несколько багов и кое-что добавил
RSGraphics
RSLoadPic - загрузка картинки известого программе формата в TBitmap
RSGetPixelFormat - получение PixelFormat"а битмэпки - иногда(в случае pf16bit, например) TBitmap.PixelFormat возвращает pfCustom, иногда это можно уточнить
rsRGBtoHLS, rsHLStoRGB - перевод в/из HLS
RSAdjustLum - осветление через HLS
RSGetIntensity - все равно что Lum в HLS, но проскалировано от 0 до 255, а не до 240.
RSAdjustIntensity - осветление, не добавляющее былый(как RSAdjustLum) при достижении предела по одной из компонент
RSSwapColor - меняет местами Red и Green
RSMixColors - смешивание цветов с весами
RSMixPics - смешивание картинок с весами
RSGrayscale - перевод картинки в Grayscale
RSGrayscaleSpec - перевод картинки в градации двух цветов (не обязательно белого с черным, как в Grayscale)
RSDrawMonoBmp - рисование монохромной битмэпки выбранным цветом (by Алексей Румянцев - автор RyMenus)
RSDrawMask - рисует маску выбранным цветом
RSDrawDisabled - рисует Disabled картинку, как OfficeXP
RSTransparentRandom - устанавливает цвет случайных пикселей в цвет фона, используя чисто или маску прозрачности
RSTransparentFixed - устанавливает в цвет фона пиксели с определенным шагом
RSChangeGrayPic - для добавления/вычитания числа из маски прозрачности
RSGradientV,H - линейний градиент
RSSimpleRotate32 - вращение на 90, 180, 270 грудусов и Flip-анье картинок
RSTransform32 - произвольное вращение картинок и другие преобразования координат
RSAnyTransform32 - произвольное искажение картинки
RSImgList
Одна функция вытаскивания картинки из ImageList
RSLang
Для перевода приложения, пример - Demo
RSMessages
Обертки для CM_ сообщений
RSSpeedButton
Обезглюченный SpeedButton с OwnerDraw и отрисовкой в стиле RSMenus.
RSSpinEdit (+RSSpinEditRegister)
Поддержка тем(ресует UpDown, а не 2 SpeedButton"а), всякие фичи.
RSStrUtils
RSParseString, RSGetToken, RSGetTokens, RSGetTokensCount - распарсивание строки, разбитой на части раздекителями (например, разбиение текста на строки) - очень удобно, надо будет демку сделать
RSStringReplace - и в Аффрике StringReplace, только оптимизированный
RSIntToStr, RSStrToInt - сами знаете что
RSVal - оберттка над Val для удобства
RSSysUtils
TRSWnd - класс для удобства работы с hwnd. (к нему надо явно преводить hwnd, вместо того, чтобы создавать / уничтожать)
TRSBits - класс для работы с битами. Приводите к нему указатель на некоторую память и работайте как с массивом битов.
TRSObjStack - стек, не реаллокирующийся при добавлении элементов.
TRSSharedData - для разделения MMF между процессами
TRSFindFile - класс для удобного поиска/перечисления файлов (на основе функций FindFirstFile и т.д.)
RSCreateDir и т.п. - создание всех директорий пути (как ForceDirectory), RSCreateFile - в случае создания файла, создает весь путь к нему.
RSLoadFile, RSSaveFile, RSLoadTextFile, RSSaveTextFile - просто загружает файлы в array of byte
RSFileOperation - удобная обертка для SHFileOperation
RSLoadProc - для динамической загрузки процедур
RSDelayLoad - отложенная загрузка
RSRunWait - запуск и ожидание завершения приложения
RSAssertErrorHandler - обработчик Assertion"ов, не показывающий пути к модулю (только имя) в сообщении об ошибке
RSMessageBox - обертка MessageBox
RSCreateRemoteCopy - для создания копии данных в АП др. процеса
RSSendDataMessage - для отправки сообщений типа LVM_GETITEM другому проложению
RSUtils
TRSSimpleHintWindow - хинт с настраиваемым цветом обводки (RSHintHasShadow) и наличием тени (RSHintBorderColor)
RSFixThemesBug - исправляет баг с отсутствием реакции на включение тем (в Delphi 2006 его уже нет)
RSIsControlVisible - видим ли контрол, RSPtInControl - в Rect-е контрола ли кнопка, RSSetFocus - SetFocus, RSIsChild - аналог IsChild для контролов
RSHookFlatBevels - чтобы без тем приложение смотрелось хорошо, я ставлю всем Edit"ам плоский Bevel, а чтобы они отключались при включении тем, сделал эту процедуру
RSShowHint, RSHelpHint, RSErrorHint - см. Demo
RSMakeTransparent - нормальная реализация "прозрачного" окна - примера, который можно найти в очень многих FAQ"ах, в том числе в нашем
RSPaintList - отрисовка ListBox"а и ComboBox"а по типу RSMenus
RSProcessMessages - как Application.ProcessMessages, но вызывает MouseIdle(т.е. SpeedButton"ы реагируют на вход мыши) и синхронизацию потоков
RSListBoxHint
Для показа хинта для пунктов, не помещающихся в ListBox
RSMessages
record"ы для некоторых CM_ сообщений
RSMenus
Красивая отрисовка менюшек. Цвета вычисляются в соответствии с цветовой темой.
RSRecent
Реализация списка недавних документов
RSRegistry
Добавлена функция Read, не возбуждающая исключение при ошибке (отсутствие параметра и т.п.)
RSQ
Мои "настройки"
Компоненты:
RSTimer
Таймер, создающий окно только на время работы, а не на все время существования.
RSDialogs
TRSOpenSaveDialog - диалог, у которого можно менять режим Open/Save
RSPopupMenu
Добавлено событие OnAfterPopup
Процедура SetItems - для того, чтобы "склонировать" подменю. Например, в меню File есть подменю Recent Files - его можно показать при нажатии на пункт Open вывести таким способом.
RSPainters
TRSColorTheme - настройки отрисовки RSMenus и RSSpeedButton
RSGlue
Прилипание формы к краям экрана и слипание между собой, а так же контроллов к краям формы.
RSWinController
Для перехвата оконной процедукы контролов, у которых нет свойства OnWndProc
Контролы:
Во всех контролах добавлены события OnMouseEnter, OnMouseLeave, OnWndProc, свойство MouseInside. Так же расшарены стандартные свойства.
В WinControl"ах еще добавлено событие OnCreateParams и свойство State.
В наследниках TCustomEdit добавлены GetSelection и SetSelection, позволяющие получить и установить выделение и положение каретки (определить, на каком конце выделения она находится в стандартных невозможно)
RSButton, RSEdit, RSShape
← →
GrayFace © (2007-01-28 14:41) [19]Не добавлено ничего, кроме перечисленного выше (разве что в RSEdit добавлено Ctrl+A)
RSPageControl
Свойство RuntimeTabIndex - при установке, вне зависимостти от Tab-а, выбранного в DesignTime, в Runtime будет выбран указанный здесь.
RSLabel
Ложится на сетку так, что линия ткста совпадает с линией текста Edit"ов
RSListView
Исправлен 1 баг - при Multiselect при выделении нового пункта не срабатывал OnSelectItem
RSValueListEditor
Исправлены 2 бага:
List index out of bounds в процедуре SetCell
OnSelectCell и OnValidate не вызывались после удаления строки
RSStringGrid
OnBeforeSetEditText - можно поменять устанавливаемый текст
OnCreateEditor - срабатывает при создании InplaceEdit"а
RSListBox
Добавлен Hint из RSListBoxHint
RSTrackBar
Исправлена большая кривость - при клике мышкой бегунок перескакивал на 2(PageSize) позиции, вместо того, чтобы встать в указанное положение
SelEnabled - включение/отключение режима выделения (в стандартном всегда включен)
OnAdjustClickRect - например, в стандарте при клике по самим отметкам бегунок не передвигается. Измените ClickRect ион будет передвигаться.
RSComboBox
Добавлен Hint из RSListBoxHint (thx Игорю Шевченко за способ получить Hfndle выпадающего списка)
В режиме OwnerDraw можно менять высоту
Кнопка расуется стандартно вне зависимости от выбранного BevelKind
OwnerDraw можно использовать при любом стиле - свойство StyleDropDown
RSMemo
Поддерживает Ctrl+A, правильную навигацию - см. Demo
RSPanel
Поддерживает CustomDraw
Расшарены Bevel"ы, общие для всех WinControl"ов, под именем BevelEx
RSSpeedButton
Поддерживает CustomDraw
Красивая отрисовка по типу RSMenu
RSMakeToolBar - создание тулбара из моих кнопок на основе списка MenuItem"ов
RSSpinEdit
Правильно поддерживает темы XP
Настраивается система счисления
Можно ускорить перемотку мышкой, нажав не кнопку и "потянув"
Есть событие Changed, срабатывающее при нажатии Enter / переходе в другой контрол / нажатии на кнопку SpinButton
← →
GrayFace © (2007-01-28 15:08) [20]Краткое описание: http://www.grayface.nm.ru/RSPakComment.htm
P.S. Удалите, пожалуйста, два поста с кратким описанием.
← →
GrayFace © (2007-01-28 15:11) [21]http://www.grayface.chat.ru/RSPakComment.htm - тут рекламы поменьше
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.063 c