07.10.2012, 00:11
|
|
.
|
|
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
|
|
Вот тебе рамка на форме и на border-е.
Код:
unit Unit30;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormPaint(Sender: TObject);
procedure WMNCPaint(var Message: TMessage); message WM_NCPAINT;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SendMessage(Handle, WM_SYSCOMMAND, $F012, 0);
end;
procedure TForm1.FormPaint(Sender: TObject);
var
aRect : TRect;
begin
SetRect(aRect, 0, 0, ClientWidth, ClientHeight);
InflateRect(aRect, -5, -5);
with Canvas do
begin
Pen.Color := clRed;
Pen.Style := psSolid;
Pen.Width := 1;
Brush.Style := bsClear;
Rectangle(aRect.Left, aRect.Top, aRect.Right - 1, aRect.Bottom - 1);
end;
end;
procedure TForm1.WMNCPaint(var Message: TMessage);
var
DC : HDC;
aRect : TRect;
Pen,
OldPen : HPEN;
Brush : HBRUSH;
begin
inherited;
DC := GetWindowDC(Handle);
try
SetRect(aRect, 0, 0, Width, Height);
Pen := CreatePen(PS_SOLID, BorderWidth, clBlue);
OldPen := SelectObject(DC, Pen);
Brush := SelectObject(DC, GetStockObject(NULL_BRUSH));
Rectangle(DC, 0, 0, Form1.Width, Form1.Height);
SelectObject(DC, Brush);
DeleteObject(SelectObject(DC, OldPen));
finally
ReleaseDC(Handle, DC);
end;
Message.Result := 1;
end;
end.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
|