Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Мастера DELPHI. Новости мира компонент, FAQ, статьи...


Служба Рассылок Subscribe.Ru
Ежедневная рассылка сайта Мастера DELPHI

DELPHI.mastak.ru

Выпуск от 07.03.02 09:04

Вышел очередной дайджест форумов. Скачать можно здесь
Новые компоненты   |x|
  • PBClipBoard v.1.00.00.00 (4kb) (07.03.02 08:56)
    Небольшой компонент для мониторинга буфера обмена. Имеет всего одно событие 'Onchange', которое срабатывает при изменении содержимого буфера обмена. Используйте его для автоматического разрешения/запрещения кнопки "Paste" или просмотра содержимого буфера обмена.
    Как использовать: Положите PBClipBoard на форму. Запишите в событие Onchange обработчик. Вот и все!

    С исходными текстами
    Компонента из раздела: System: Other
    Источник: www.torry.net   Автор: Poul Bak http://home11.inet.tele.dk/BakSoft/
    -= · VCL · Samples · =- [Перевел: Сергей Касаткин]

  • TLsDirTree21, TLsDirTreeCombo28 & TLsFileListView28 v.2.872 (918kb) (07.03.02 08:51)
    Содержит три компонента:

    TLsDirTree21 - простой но полнофункциональный Directory TreeView со всплывающим FileListDlg (т.е. основной File Listview), который показывает структуру каталогов в виде дерева и файлы в вабранном каталоге в FileListDlg. Так же поддерживает создание, удаление, переименование каталогов.
    TLsDirTreeCombo28 - специализированный ComboBox с выпадающим TreeView, подобному TLsDirTree21, который показывает диски и каталоги в виде иерархического дерева.
    TLsFileListView28 - компонент отображения списка файловis в контекстным меню. В дополнение к обычным функциям включает в себя различные задачи по управления файлами (Copy, Cut, Paste, Delete, Rename, Open, View и SendTo). Так же предоставляет статистику по дискам и каталогам.

    Новая версия компоненты
    С исходными текстами
    Компонента из раздела: ListViews and TreeViews: Packs
    Источник: www.torry.net   Автор: Leo D. Shih
    -= · VCL · Samples · =- [Перевел: Сергей Касаткин]

  • GDIPLUS v.1.0 (794kb) (06.03.02 11:20)
    Вообще-то GDI+ - это новая графическая подсистема Windows, обеспечивающая новые наборы графических API для создания 2D графики, картинок и текста. API GDI+ поддерживается только в .NET Framework, но в Delphi это реализовано как дополнение к текущему GDI.
    Что вам дает GDI+: 2D графика с антиалиасингом, поддержка alpha-каналов, универсальные трансформации и повороты, градиентные кисти, основные сплайны, масштабируемость регионов, чтение/запись EXIF информации, а так же новые модели программирования.
    GDI+ стандартна для Windows XP. Для Windows 98, Windows Me, Windows NT 4.0 и Windows 2000 вы можете просто скопировать GdiPlus.DLL в каталог с вашим приложением.
    GDI+ использует различные программные модели из GDI. Вместо выбора кистей и перьев в контексте устройства, в GDI+ вы можете передать кисть или перо в каждой команде рисования.
    Здесь приведено 82 примера использования возможностей GDIPlus.

    С исходными текстами
    Компонента из раздела: Graphics: Packs
    Источник: www.torry.net   Автор: Henri Gourvest http://www.progdigy.com/
    -= · VCL · Samples · =- [Перевел: Сергей Касаткин]

  • Для уменьшения объема писем здесь публикуется не весь список новых компонент, потому заглядывайте и на сайт!
Лучшее из нашего FAQ   |x|
Прозрачная форма


Эта форма имет прозрачный фон !!!

unit unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
// это просто кнопка на форме - для демонстрации
protected
procedure RebuildWindowRgn;
procedure Resize; override;
public
constructor Create(AOwner: TComponent); override;
end;
var
Form1 : TForm1;
implementation
// ресурс этой формы
{$R *.DFM}

{ Прозрачная форма }
constructor TForm1.Create(AOwner: TComponent);
begin
inherited;
// убираем сколлбары, чтобы не мешались
// при изменении размеров формы
HorzScrollBar.Visible:= False;
VertScrollBar.Visible:= False;
// строим новый регион
RebuildWindowRgn;
end;

procedure TForm1.Resize;
begin
inherited;
// строим новый регион
RebuildWindowRgn;
end;

procedure TForm1.RebuildWindowRgn;
var
FullRgn, Rgn: THandle;
ClientX, ClientY, I: Integer;
begin
// определяем относительные координаты клиенской части
ClientX:= (Width - ClientWidth) div 2;
ClientY:= Height - ClientHeight - ClientX;
// создаем регион для всей формы
FullRgn:= CreateRectRgn(0, 0, Width, Height);
// создаем регион для клиентской части формы
// и вычитаем его из FullRgn
Rgn:= CreateRectRgn(ClientX, ClientY, ClientX + ClientWidth, ClientY +
ClientHeight);
CombineRgn(FullRgn, FullRgn, Rgn, rgn_Diff);
// теперь добавляем к FullRgn регионы каждого контрольного элемента
for I:= 0 to ControlCount -1 do
with Controls[I] do begin
Rgn:= CreateRectRgn(ClientX + Left, ClientY + Top, ClientX + Left +
Width, ClientY + Top + Height);
CombineRgn(FullRgn, FullRgn, Rgn, rgn! _Or);
end;
// устанавливаем новый регион окна
SetWindowRgn(Handle, FullRgn, True);
end;
end.


А как Вам понравится эта форма ?

unit rgnu;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, Menus;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
rTitleBar : THandle;
Center : TPoint;
CapY : Integer;
Circum : Double;
SB1 : TSpeedButton;
RL, RR : Double;
procedure TitleBar(Act : Boolean);
procedure WMNCHITTEST(var Msg: TWMNCHitTest);
message WM_NCHITTEST;
procedure WMNCACTIVATE(var Msg: TWMNCACTIVATE);
message WM_NCACTIVATE;
procedure WMSetText(var Msg: TWMSetText);
message WM_SETTEXT;
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

CONST
TitlColors : ARRAY[Boolean] OF TColor =
(clInactiveCaption, clActiveCaption);
TxtColors : ARRAY[Boolean] OF TColor =
(clInactiveCaptionText, clCaptionText);

procedure TForm1.FormCreate(Sender: TObject);
VAR
rTemp, rTemp2 : THandle;
Vertices : ARRAY[0..2] OF TPoint;
X, Y : INteger;
begin
Caption := 'OOOH! Doughnuts!';
BorderStyle := bsNone; {required}
IF Width > Height THEN Width := Height
ELSE Height := Width; {harder to calc if width <> height}
Center := Point(Width DIV 2, Height DIV 2);
CapY := GetSystemMetrics(SM_CYCAPTION)+8;
rTemp := CreateEllipticRgn(0, 0, Width, Height);
rTemp2 := CreateEllipti! cRgn((Width DIV 4), (Height DIV 4),
3*(Width DIV 4), 3*(Height DIV 4));
CombineRgn(rTemp, rTemp, rTemp2, RGN_DIFF);
SetWindowRgn(Handle, rTemp, True);
DeleteObject(rTemp2);
rTitleBar := CreateEllipticRgn(4, 4, Width-4, Height-4);
rTemp := CreateEllipticRgn(CapY, CapY, Width-CapY, Height-CapY);
CombineRgn(rTitleBar, rTitleBar, rTemp, RGN_DIFF);
Vertices[0] := Point(0,0);
Vertices[1] := Point(Width, 0);
Vertices[2] := Point(Width DIV 2, Height DIV 2);
rTemp := CreatePolygonRgn(Vertices, 3, ALTERNATE);
CombineRgn(rTitleBar, rTitleBar, rTemp, RGN_AND);
DeleteObject(rTemp);
RL := ArcTan(Width / Height);
RR := -RL + (22 / Center.X);
X := Center.X-Round((Center.X-1-(CapY DIV 2))*Sin(RR));
Y := Center.Y-Round((Center.Y-1-(CapY DIV 2))*Cos(RR));
SB1 := TSpeedButton.Create(Self);
WITH SB1 DO
BEGIN
Parent := Self;
Left := X;
Top := Y;
Width := 14;
Height := 14;
OnClick := Button1Click;
Caption := 'X';
Font.Style := [fsBold];
END;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
End;

procedure TForm1.WMNCHITTEST(var Msg: TWMNCHitTest);
begin
Inherited;
WITH Msg DO
WITH ScreenToClient(Point(XPos,YPos)) DO
IF PtInRegion(rTitleBar, X, Y) AND
(NOT PtInRect(SB1.BoundsRect, Point(X,Y))) THEN
Result := htCaption;
end;

procedure TForm1.WMNCActivate(var Msg: TWMncActivate);
begin
Inherited;
TitleBar(Msg.Active);
end;

procedure TForm1.WMSetText(var Msg: TWMSetText);
begin
Inherited;
TitleBar(Active);
end;

procedure TForm1.TitleBar(Act: Boolean);
VAR
TF : TLogFont;
R : Do! uble;
N, X, Y : Integer;
begin
IF Center.X = 0 THEN Exit;
WITH Canvas DO
begin
Brush.Style := bsSolid;
Brush.Color := TitlColors[Act];
PaintRgn(Handle, rTitleBar);
R := RL;
Brush.Color := TitlColors[Act];
Font.Name := 'Arial';
Font.Size := 12;
Font.Color := TxtColors[Act];
Font.Style := [fsBold];
GetObject(Font.Handle, SizeOf(TLogFont), @TF);
FOR N := 1 TO Length(Caption) DO
BEGIN
X := Center.X-Round((Center.X-6)*Sin(R));
Y := Center.Y-Round((Center.Y-6)*Cos(R));
TF.lfEscapement := Round(R * 1800 / pi);
Font.Handle := CreateFontIndirect(TF);
TextOut(X, Y, Caption[N]);
R := R - (((TextWidth(Caption[N]))+2) / Center.X);
IF R < RR THEN Break;
END;
Font.Name := 'MS Sans Serif';
Font.Size := 8;
Font.Color := clWindowText;
Font.Style := [];
end;
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
WITH Canvas DO
BEGIN
Pen.Color := clBlack;
Brush.Style := bsClear;
Pen.Width := 1;
Pen.Color := clWhite;
Arc(1, 1, Width-1, Height-1, Width, 0, 0, Height);
Arc((Width DIV 4)-1, (Height DIV 4)-1,
3*(Width DIV 4)+1, 3*(Height DIV 4)+1, 0, Height, Width, 0);
Pen.Color := clBlack;
Arc(1, 1, Width-1, Height-1, 0, Height, Width, 0);
Arc((Width DIV 4)-1, (Height DIV 4)-1,
3*(Width DIV 4)+1, 3*(Height DIV 4)+1, Width, 0, 0, Height);
TitleBar(Active);
END;
end;

end.


»»» Прислать свои комментарии

Обсуждается в конференциях   |x|
  • Запись данных в базу через IBX компоненты
    Почему такая конструкция копмилится, но не работает : (пишется знаение РР в поле VAL_TT таблицы SOSTT) IBDateSet1....
  • Как программно отсортировать базу данных
    Помогите пожайлуста советом, как отсортировать базу данных программным образом, например по ДАТЕ.
  • Закрытие модального окна
    Из главного окна вызываю диалоговое модальное окно, в котором при событии OnActivate произвожу некоторые действия. ...
  • Защита дисков
    В каком ключе и какой параметр нужно указать, что бы запретить IE открывать жесткие диски ?
  • Прерывания
    Уважаеммые программеры!Помогите с небольшой проблемкой. Необходимо из под Винды отлавливать прерывания от некоторого ...
  • Срочно нужно!!!!!!!!!
    Как можна найти всевозможную информацию о системе(CPU,ОЗУ,видео и т.д.)?
  • volume
    Как взять значение "виндовой" громкости звука и поменять его?
У нас большой выбор статей   |x|
Программирование Интернет приложений в Borland Kylix. Часть I. Создай своих демонов!
В этой статье речь пойдет о создании интернет серверов (сетевых демонов) в Linux при помощи среды разработки Kylix и входящего в нее набора компонентов Internet Direct. В качестве примера описывается разработка простого сервера протокола HTTP.
Новинки книжного рынка   |x|
Borland C++ Builder 5. Энциклопедия программиста
Borland C++ Builder 5. Энциклопедия программиста написана большим авторским коллективом под руководством Чарли Калверта и Кента Рейсдорфа и продолжает серию книг о C++ Builder, начатую Чарли Калвертом после выхода в свет первой версии этого замечательного продукта. Все без исключения авторы книги имеют не только многолетний опыт создания коммерческих продуктов при помощи систем программирования C++ Builder и Delphi, но и принимали непосредственное участие в написании большого количества книг соответствующей тематики.Книга написана опытными программистами для опытных программистов и этим она резко отличается от подавляющего большинства других книг о C++ Builder (и вообще других книг, посвященных программированию). В ней вы не найдете подробного и планомерного описания интегрированной среды разработки (IDE), перечисления всех стандартных компонентов, их свойств и методов, а также обсуждения тому подобных вопросов. Взамен этого, авторы сосредоточились на обсуждении наиболее сложных разделов программирования с использованием C++ Builder, которые обычно обходятся авторами других книг. Характерным является также и то, что в примерах программ, представленных на поставляемом вместе с книгой компакт-диске, авторы наряду с использованием стандартных возможностей библиотеки VCL, зачастую применяют и функции Windows API.
Автор: Калверт Ч.
Другие сайты о DELPHI   |x|
microOLAP Tecgnologies
Компоненты прямого доступа к различным СУБД, Gis-ориентированные приложения.

» Оценка сайта: 2
Опрос населения :)
Какую ОС вы используете _в_основном_ при написании програм для Win32
»»» Win2k
»»» Win98
»»» WinXP
»»» WinNT
»»» WinMe
»»» Win95
»»» Ни одну из перечисленных
»»» Я не пишу под Win32
»»» Не знаю
Журнал "RSDN Magazine"  |x|

Дорогие друзья! Мы рады представить вам новый совместный проект сайтов www.rsdn.ru, delphi.mastak.ru и www.optim.ru - профессиональный журнал для программистов RSDN Magazine.
Несомненно, ваше мнение о необходимости такого журнала, содержании рубрик и темах отдельных статей поможет сделать журнал более полезным и интересным. Высказать свое мнение, проголосовать или же подписаться вы можете на сайте. Без вашего участия, нам будет трудно сделать правильный журнал!
На сайте выложен анонс пилотного выпуска журнала, вступительное слово от редакции.

Для души

Хокку дня
«Осень уже пришла!» —
Шепнул мне на ухо ветер,
Подкравшись к постели моей.

Афоризмы
Будь великодушен - прощай подчиненным свои ошибки....( прислал Алексей)

Фраза дня
Изречь афоризм очень просто: выкрикни что-то о наболевшем, отсеки все нецензурное и смени интонацию.

Дурацкие законы (информация предоставлена сайтом kurilka.com)
В Оскфорде в Огайго (США) женщинам нельзя раздеваться, стоя перед портретом мужчины.
В Карризоз в Нью Мескико (США) женщинам запрещается появляться на публике небритыми.

И на закуску коротенький анекдот
Два студента заключили пари. Пришли на остановку такси.
- Скажи, водитель, какая цена до ул. Горького?
- Червонец.
- А если я с другом?
- Червонец.
- Видишь, Вася, я же говорил тебе, что ты ничего не стоишь.

Фотоприколы.
Начните день с хорошего настроения!
http://delphi.mastak.ru/cgi-bin/prikol.pl?id=5198


На этом позвольте откланяться и пожелать вам удачного дня.
Искренне ваш, Алексей (delphi@mastak.com)

Добро пожаловать на сайт -= Мастера DELPHI =- 


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное