Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.18;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.037 c
1-1167063016
Sam Stone
2006-12-25 19:10
2007.02.18
Уход модальных форм на задний план


15-1169659282
vrem
2007-01-24 20:21
2007.02.18
FPS!


15-1170150334
legat
2007-01-30 12:45
2007.02.18
Ручная вставка в TDBGridEh


4-1159734008
vertal
2006-10-02 00:20
2007.02.18
Консоль: определение факта перенаправления stdout в файл


6-1158158813
Орион
2006-09-13 18:46
2007.02.18
TIdHTTP и подвисание приложения