Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Работа с формами

8.5K
05 сентября 2005 года
Пупсик
13 / / 05.09.2005
Как нарисовать bmp файл вместо стандартной формы (если можно напигшите код с коментарием)!
247
05 сентября 2005 года
wanja
1.2K / / 03.02.2003
Цитата:
Originally posted by Пупсик
Как нарисовать bmp файл вместо стандартной формы (если можно напигшите код с коментарием)!


В смысле наложить на морду формы картинку, или обрезать форму по краям изображения(интересно, как ты из будешь определять)?

344
05 сентября 2005 года
Delpher
493 / / 14.08.2005
Цитата:
Originally posted by Пупсик
Как нарисовать bmp файл вместо стандартной формы (если можно напигшите код с коментарием)!



Существует много способов.Вот один из них[COLOR=royalblue]
var
Form1: TForm1;
b:TBitMap;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
b := TBitMap.Create;
b.LoadFromFile('1.bmp');
form1.TransparentColorValue:=clBlack;// цвет кот будет прозрачнный
form1.TransparentColor:=true;// разрешаем прозрачность
end;

procedure TForm1.FormPaint(Sender: TObject);
var
x, y: integer;
begin
for x := 0 to Form1.ClientWidth div b.Width do
for y := 0 to Form1.ClientHeight div b.Height do
Form1.Canvas.Draw(x * b.Width, y * b.Height, b);
end;

end.

[/COLOR]



Вот исходник http://sources.codenet.ru/download.php?id=644&cid=11&o=2&my=0

339
12 сентября 2005 года
verybadbug
619 / / 12.09.2005
Цитата:
Originally posted by Пупсик
Как нарисовать bmp файл вместо стандартной формы (если можно напигшите код с коментарием)!




установи BorderStyle у формы в bsNone... а потом пользуй следующую процедуру

Код:
procedure CropWindow( Handle: HWnd; Picture : TPicture );
var
  hrgn, hrgn1 : integer;
  hdc : integer;
  x, y : integer;
  Color : TColor;
begin
  Color := Picture.Bitmap.Canvas.Pixels[ 0, 0 ];
  hdc := GetDC( Handle );
  hrgn := CreateRectRgn( 0, 0, Picture.Graphic.Width, Picture.Graphic.Height );
  for x := 1 to Picture.Graphic.Width do
    for y := 1 to Picture.Graphic.Height do
      if Picture.Bitmap.Canvas.Pixels[ x - 1, y - 1 ] = Color then begin
        hrgn1 := CreateRectRgn( x - 1, y - 1, x, y);
        CombineRgn( hrgn, hrgn, hrgn1, RGN_DIFF );
        DeleteObject( hrgn1 );
      end;
  SetWindowRgn( Handle, hrgn, true );
  ReleaseDC( Handle, hdc);
end;
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог