Понедельник, 13.05.2024
Королевство Delphi
Главное меню
Статьи
Наш опрос
Нужен форум на сайте?
Всего ответов: 90
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Статьи » Система » Kol и MCK

Состояние проекта KOL
  • Базовый объект TObj функционально заменяет собой класс TObject из VCL. Он имеет похожий метод Free , который позволяет уничтожать объекты безопасно (игнорируя вызов для указателя nil ), атак же пару методов RefInc и RefDec , позволяющих предотвратить удаление объекта из памяти между двумя соответствующими вызовами RefInc и RefDec .
  • Очень полезный объект TList ("конструктор": NewList :PList ). Подобно TList вVCL, позволяет хранить указатели на любые данные (или числа).
  • TStrList . Конструктор: NewStrList : PStrList -очень быстрый список строк (позволяет обрабатывать миллионы строк всекунду).
  • Невизуальный объектный тип TTree для организации дерево-подобных структур данных впамяти.
  • Объектный тип TGraphicTool реализует всебе GDI иснструменты -кисточку ( NewBrush ), шрифт ( NewFont ) икарандаш ( NewPen ), без введения трех различных потомков. Бо ' льшая часть кода включается вконечную программу только вслучае, если впроекте имеются обращения ксвойствам Font , Brush объектов TControl , или объекты типа TGraphicTool создаются явным образом.
  • Объект TCanvas , очень похожий на TCanvas из VCL (но более компактный иэффективный). Для рисования на существующем DC, имеется конструктор: NewCanvas ( DC ): PCanvas
  • TBitmap , также напоминает TBitmap из VCL. Конструкторы:
    • NewBitmap ( Width, Height ): PBitmap.
    • NewDIBBitmap ( Width, Height, PixelFormat ): PBitmap
  • Объект TImageList (подобно аналогичному вVCL). Конструктор: NewImageList ( AOwner: PControl ): PImageList.
  • Главный объект библиотеки KOL -это TControl . Он может выполнять роль любого визуального контрола взависимости от того, какой "конструктор" использован для его создания. Имеются следующие "конструкторы", точнее, глобальные функции конструирования (синтаксис намеренно видоизменен):
    • NewApplet ( Caption: String ): PControl (примечание: вKOL необязателен. Вслучае единственной формы, для которой не требуется прятать кнопку приложения на панели задач, достаточно создать форму) .
    • NewForm ( AParent: PControl ): PControl
    • NewPanel ( AParent; EdgeStyle:{ esRaised, esLowered, esNone }): PControl
    • NewSplitter ( AParent; MinSize1, MinSize2: Integer ): PControl
      NewSplitterEx ( AParent, MinSize1, MinSize2, edgeStyle): PControl
    • NewGroup ( AParent; Caption ): PControl
    • NewLabel ( AParent; Caption ): PControl
    • NewWordWrapLabel ( AParent; Caption ): PControl
    • NewLabelEffect ( AParent; Caption; ShadowDeep ): PControl
    • NewButton ( AParent; Caption ): PControl
    • NewBitBtn ( aParent, aCaption, aOptions: [ bboImageList, bboNoBorder, bboNoCaption, bboFixed ] , aLayout: { glyphLeft, glyphTop, glyphRight, glyphBottom, glyphOver } , GlyphBmp _or_ ImageList, GlyphCount __or__ ImgIdx _and_ GlyphCount _shl16 ): PControl
    • NewCheckbox ( AParent; Caption ): PControl
    • NewRadiobox ( AParent; Caption ): PControl
    • NewEditbox ( AParent; Options: Set of [ eoNoHScroll, eoNoVScroll, eoLowercase, eoMultiline , eoNoHideSel, eoOemConvert, eoPassword, eoReadonly, eoUpperCase, eoWantReturn, eoWantTab ] ): PControl
    • NewRichEdit ( AParent, Options ): PControl
    • NewRichEdit1 ( AParent, Options ): PControl
    • NewListbox ( AParent; Options: Set of [ loNoHideScroll, loNoExtendSel, loMultiColumn, loMultiSelect, loNoIntegralHeight, loNoSel, loSort, loTabstops ] ): PControl
    • NewCombobox ( AParent; Options: Set of [ coReadOnly , coNoHScroll, coAlwaysVScroll, coLowerCase, coNoIntegralHeight, coOemConvert, coSort, coUpperCase ] ): PControl
    • NewPaintbox ( AParent )
    • NewImageShow ( AParent, ImgList, ImgIdx ):PControl
    • NewGradientPanel ( AParent; Color1, Color2 ): PControl
    • NewGradientPanelEx ( Color1, Color2, Style: ( gsHorizontal, gsVertical, gsRectangle, gsElliptic, gsRombic ), Layout: ( glTopLeft, glTop, glTopRight, glLeft, glCenter, glRight, glBottomLeft, glBottom, glBottomRight ) ): PControl
    • NewProgressbar ( AParent ): PControl
    • NewProgressbarEx ( AParent; Options: set of [ pboVertical, pboSmooth ] ): PControl
    • NewListView ( AParent, Style:{ lvsIcon, lvsSmallIcon, lsvList, lvsDetail, lvsDetailNoHeader}, Options: set of [ lvoIconLeft, lvoAutoArrange, lvoButton, lvoEditLabel, lvoNoLabelWrap, lvoNoScroll, lvoNoSortHeader, lvoHideSel, lvoMultiselect, lvoSortAscending,lvoSortDescending, lvoGridLines, lvoSubItemImages, lvoCheckBoxes, lvoTrackSelect, lvoHeaderDragDrop, lvoRowSelect, lvoOneClickActivate, lvoTwoClickActivate, lvoFlatsb, lvoRegional, lvoInfoTip, lvoUnderlineHot, lvoMultiWorkares ]; ImageListSmall, ImageListBig, ImageListState: PImageList ): PControl
    • NewTreeView ( parent, options: set of [ tvoNoLines, tvoLinesRoot, tvoNoButtons, tvoEditLabels, tvoHideSel, tvoDragDrop, tvoNoTooltips, tvoCheckBoxes, tvoTrackSelect, tvoSingleExpand, tvoInfoTip, tvoFullRowSelect, tvoNoScroll, tvoNonEvenHeight ], ImgListNormal, ImgListState ): PControl
    • NewToolbar ( parent, align: {c aLeft, caTop, caRight, caBottom }, options: set of [ tboTextRight, tboFlat, tboTransparent, tboWrapable ], Bitmap, Buttons: array of PChar; BtnImgIdxArray: array of Integer ): PControl
    • NewTabControl ( parent, tabs: array of string, options: set of [ tcoButtons, tcoFixedWidth, tcoFocusTabs, tcoIconLeft, tcoLabelLeft, tcoMultiline, tcoMultiselect, tcoFitRows, tcoScrollOpposite, tcoBottom, tcoVertical, tcoFlat, tcoHotTrack ], ImgList, ImgIdx1st ): PControl
  • Динамически создаваемое меню -объект TMenu (главное меню или контекстное). Конструкторы:
    • NewMenu ( AParent; FirstCmd:Integer; Template: array of PChar; aOnItem: procedure( Sender; Item: integer) of object ): PMenu
    • NewMenuEx ( AParent; FirstCmd:Integer; Template: array of PChar; aOnItems: array of procedure( Sender; Item: integer) of object ): PMenu
  • Невизуальный объект TIniFile . Конструктор: OpenIniFile ( filename ): PIniFile;
  • Невизуальный объект TTimer . Конструктор: NewTimer ( interval ): PTimer
  • Невизуальный объект TDirList . Конструкторы::
    • NewDirList ( path; 'filemask'; Attr ): PDirList
    • NewDirListEx ( path; '[^]filemask1[;[^]filemask2]...'; Attr ): PDirList
  • Объект TOpenSaveDialog для вызова стандартного диалога выбора файлов на открытие/сохранение. Конструктор: NewOpenSaveDialog ( Title, StrtDir: String; Options: [ OSCreatePrompt, OSExtensionDiffent, OSFileMustExist , OSHideReadonly , OSNoChangedir, OSNoReferenceLinks, OSAllowMultiSelect, OSNoNetworkButton, OSNoReadonlyReturn, OSOverwritePrompt , OSPathMustExist , OSReadonly ] ): POpenSaveDialog
  • Объект TOpenDirDialog для вызова стандартного диалога выбора директории (использует SHBrowseForFolder). Конструктор: NewOpenDirDialog ( Title, Options: [ odfBrowseForComputer, odfBrowseForPrinter, odfDontGoBelowDomain, odfOnlyFileSystemAncestors, odfOnlySystemDirs ] ): POpenDirDialog
    (Примечание: возможна установка начальной директории и OnSelChanged события).
  • Объект TColorDialog для вызова стандартного диалога выбора цвета: NewColorDialog ( FullOpenOption ): PColorDialog
  • Объект TCABFile для извлечения файлов из CAB-архивов: OpenCABFile ( [filenames ]);
  • Потоковые объекты типа TStream :
    • NewMemoryStream : PStream
    • NewReadFileStream ( filename ): PStream
    • NewWriteFileStream ( filename ): PStream
    • NewReadWriteFileStream ( filename ): PStream
  • Невизуальный TImageList . Конструктор: NewImageList ( AOwner: PControl ): PImageList
  • Невизуальный TTimer . Конструктор: NewTimer ( interval ): PTimer
  • Невизуальный TThread . Конструкторы:
    • NewThread : PThread
    • NewThreadEx ( Proc: TOnThreadExecute ): PThread
  • Невизуальный объект для мониторинга изменений впапках TDirChange ::
    • NewDirChangeNotifier ( Path; Filter: set of [ fncFileName, fncDirName, fncAttributes, fncSize,
      fncLastWrite, fncLastAccess, fncCreation, fncSecurity ]; WatchSubtree; ChangeProc: TOnDirChange ): PDirChange
  • Невизуальный TMediaPlayer . NewMediaPlayer ( FileName, Window ): PMediaPlayer
    (Имеется ряд дополнительных функций для проигрывания звуковых wave-файлов из памяти, потока, файла или ресурса иконтроля wave-выводом).
  • Невизальный (?) объект TTrayIcon . Конструктор: NewTrayIcon ( Wnd:PControl; Icon: HIcon ): PTrayIcon
    (Теперь сдополнительным свойством AutoRecreate, позволяющим возобновить иконки втрее вслучае рестарта эксплорера).
  • Функции JustOne ( Wnd:PControl; Id:String): Boolean и JustOneNotify ( Wnd; Id; OnAnotherInstance: procedure( cmdline: string )of object )
  • Процедура SortData для быстрой сортировки любых массивов.
  • Множество процедур ифункций для работы сокнами, файлами, датой/временем, строками ипреобразованиями форматов.
  • Кроме того, реализованы дополнительно (здесь приведено даже близко далеко не все то, чем KOL мог бы гордиться) :
    • Поддержка табуляции спомощью клавиатуры - упрощенная (вызвать Tabulate для формы) иболее сложная (вызвать TabulateEx ).
    • Набор свойств, упрощающих настройку границы формы (окна): HasCaption , HasBorder , CanResize , StayOnTop .
    • Набор "сквозных" методов, упрощающих невизуальное проектирование формы:
      PlaceRight , PlaceDown , PlaceUnder , SetSize (w,h), Size (w, h), AlignLeft (fromcontrol), AlignTop (fromcontrol), ResizeParent , ResizeParentRight , ResizeParentBottom , CenterOnParent , Shift (x,y), SetAlign (куда) атак же свойство Margin .
    • Поддержка вращающихся шрифтов - вLabelEffect, вTCanvas. Автоматически -по изменению свойства Font.Orientation
    • Поддержка геометрического карандаша (pen) в TGraphicTool . Атакже свойство FontWeight для желаемого утолщения шрифтов средствами ОС.
    • Поддержка двойной буферизации вывода (необходима вLabelEffect). Необходима установка для визуального объекта свойства DoubleBuffered в True (наследуется дочерними контролами)
    • Свойство Transparent (прозрачность, неявно использует DoubleBuffered ).
    • Свойство AlphaBlend позволяет сделать форму/контрол полу-прозрачными (только Win2K).
    • Свойство Align, позволяющее выравнивать контролы так же, как ив VCL. имеется дополнительный "сквозной" метод SetAlign , упрощающий начальную настройку контролов.
    • Метод PreventResizeFlicks позволяет ликвидировать большинство мельканий изображения при изменении размеров формы иперемещении сплиттера -в случае применения выравнивания спомощью свойства Align . Особенно эффективно совместно с DoubleBuffered = True.
    • Окно статуса (status bar), встраиваемое вформу (при использовании свойств StatusText [ ], SimpleStatusText , ит.п.).
    • События OnMouseOver / OnMouseLeave .
    • Возможность любых внешних расширений оконных процедур имеющихся контролов спомощью метода AttachProc (собственно, на нем построен весь K.O.L.)
  • Добавлен набор зеркальных классов MCK (Mirror Classes Kit), который позволяет перейти квизуальному программированию сиспользованием библиотеки KOL.

Получить ссылку на материал

Категория: Kol и MCK | Добавил: Барон (13.12.2011)
Просмотров: 532 | Теги: проект, KoL | Рейтинг: 0.0/0
[ Пожертвования для сайта ] [ Пожаловаться на материал ]

Если вам помог материал сайта кликните по оплаченной рекламе размещенной в центре

Поиск
Категории раздела
ActiveX [10]
CORBA и COM [16]
Kol и MCK [23]
WinAPI [28]
Компоненты [27]
Работа с Bluetooth [4]
Железо [8]
Текст [18]
Разное [98]
Королевство Delphi © 2010-2024
Яндекс цитирования