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

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


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

DELPHI.mastak.ru

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

Новые компоненты   |x|
  • Arisesoft Shell Pack 1.0 (08.11.01 02:16)
    Arisesoft Shell Pack 1.0 - The complete solution for extending any kind of
    application with File Manager functionality. Open source, freeware for
    noncommercial usage.
    Источник: arisesoft.com   Автор: Andrew Kachanov
    -= · VCL · =-

  • Полный список компонент смотрите на сайте...
Кое-что из нашей кладовки   |x|
Лучшее из нашего FAQ   |x|
Как создать свою кнопку в заголовке формы (на Caption Bar)
Непосредственно такой функции вроде нет, но можно изловчиться. Нарисовать там кнопку вручную и обрабатывать команды нажатия мышки на Caption Bar.
Пример.




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

type
TForm1 = class(TForm)
procedure FormResize(Sender: TObject);
private
CaptionBtn : TRect;
procedure DrawCaptButton;
procedure WMNCPaint(var Msg : TWMNCPaint); message WM_NCPaint;
procedure WMNCActivate(var Msg : TWMNCActivate); message WM_NCACTIVATE;
procedure WMSetText(var Msg : TWMSetText); message WM_SETTEXT;
procedure WMNCHitTest(var Msg : TWMNCHitTest); message WM_NCHITTEST;
procedure WMNCLButtonDown(var Msg : TWMNCLButtonDown); message WM_NCLBUTTONDOWN;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
const
htCaptionBtn = htSizeLast + 1;
{$R *.DFM}

procedure TForm1.DrawCaptButton;
var
xFrame, yFrame, xSize, ySize : Integer;
R : TRect;
begin
//Dimensions of Sizeable Frame
xFrame := GetSystemMetrics(SM_CXFRAME);
yFrame := GetSystemMetrics(SM_CYFRAME);

//Dimensions of Caption Buttons
xSize := GetSystemMetrics(SM_CXSIZE);
ySize := GetSystemMetrics(SM_CYSIZE);

//Define the placement of the new caption button
CaptionBtn := Bounds(Width - xFrame - 4*xSize + 2,
yFrame + 2, xSize - 2, ySize - 4);

//Get the handle to canvas using Form's device context
Canvas.Handle := GetWindowDC(Self.Handle);

Canvas.Font.Name := 'Symbol';
Canvas.Font.Color := clBlue;
Canvas.Font.Style := [fsBold];
Canvas.Pen.Color := clYellow;
Canvas.Brush.Color := clBtnFace;

! try
DrawButtonFace(Canvas, CaptionBtn, 1, bsAutoDetect, False, False, False);
//Define a smaller drawing rectangle within the button
R := Bounds(Width - xFrame - 4 * xSize + 2,
yFrame + 3, xSize - 6, ySize - 7);
with CaptionBtn do
Canvas.TextRect(R, R.Left + 2, R.Top - 1, 'W');
finally
ReleaseDC(Self.Handle, Canvas.Handle);
Canvas.Handle := 0;
end;
end;

procedure TForm1.WMNCPaint(var Msg : TWMNCPaint);
begin
inherited;
DrawCaptButton;
end;

procedure TForm1.WMNCActivate(var Msg : TWMNCActivate);
begin
inherited;
DrawCaptButton;
end;

procedure TForm1.WMSetText(var Msg : TWMSetText);
begin
inherited;
DrawCaptButton;
end;

procedure TForm1.WMNCHitTest(var Msg : TWMNCHitTest);
begin
inherited;
with Msg do
if PtInRect(CaptionBtn, Point(XPos - Left, YPos - Top)) then
Result := htCaptionBtn;
end;

procedure TForm1.WMNCLButtonDown(var Msg : TWMNCLButtonDown);
begin
inherited;
if (Msg.HitTest = htCaptionBtn) then
ShowMessage('You hit the button on the caption bar');
end;

procedure TForm1.FormResize(Sender: TObject);
begin
//Force a redraw of caption bar if form is resized
Perform(WM_NCACTIVATE, Word(Active), 0);
end;

end.

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

Обсуждается в конференциях   |x|
У нас большой выбор статей   |x|
Конверсия заголовочных файлов Си
Это статья представляет собой перевод руководства конверсии заголовочных файлов(header files) c Си в Delphi проекта Jedi. Я несколько переработал и дополнил данный текст, и надеюсь, что этот материал будет интересен программистам, которые перешли границу бездумного использования компонент и хотят выжать из операционной системы больших возможностей, чем предоставляет стандартная поставка среды разработки Delphi.
Новинки книжного рынка   |x|
Самоучитель Kylix
Книга посвящена новому продукту фирмы Borland - объектно-ориентированной среде для быстрой разработки приложений под Linux. Рассматривается версия Kylix 1.0 Server Developer.
Приводятся приемы работы с графическими компонентами, принципы создания приложений баз данных и собственных компонентов.
Дается краткое описание языка программирования Object Pascal. Последняя часть книги посвящена проблеме создания межплатформенных приложений, которые работают как в среде Linux, так и в Windows.
Изложение сопровождается многочисленными примерами и фрагментами кода.Для программистов

Автор: Понамарев В.
Другие сайты о DELPHI   |x|
Страница Дремучего Нью
Рифмоплетство, Photoshop~ные труды не для скромных, компоненты Делфи, open source project "Sea Fight"
;))
Опрос населения :)
Как вы нашли наш сайт?
»»» Поисковая система
»»» Рассылка
»»» Ссылка с другого сайта
»»» Через каталог сайтов
»»» Друг посоветовал
»»» Случайно
Журнал "Мастера DELPHI"  |x|
Давно витающая в воздухе нашего сайта идея создания журнала, посвященного всеми нами любимой среде разработки Delphi, похоже, обретает зримую форму. Несомненно, ваше мнение о необходимости такого журнала, содержании рубрик и темах отдельных статей поможет сделать журнал более полезным и интересным. Высказать свое мнение, проголосовать или же подписаться вы можете на сайте. Без вашего участия, нам будет трудно сделать правильный журнал!
Для души

Хокку дня
В пути я занемог,
И все бежит, кружит мой сон
По выжженным лугам.

Афоризмы
Чтобы сохранить мир в семье, необходимо терпение, любовь, понимание и по крайней мере два телевизора (Некий мичиганский политик)

Фраза дня
Раб мечтает не о свободе, а о своих рабах

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

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


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

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


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

В избранное