PDA

Просмотр полной версии : Помогите составить функцию (delphi)


VADIK-XXX
20.05.2007, 14:46
при запуске на экране появляется рамка с заданными координатами. размеры рамки должны меняться мышью. При двойном клике мыши внутри рамки возвращает битмэп части экрана в рамке и координаты рамки.

Кто-нибудь помогите с етой функцией на делфи

_Great_
20.05.2007, 15:34
Читаем https://forum.antichat.ru/thread38814.html и получаем -1

slesh
20.05.2007, 18:43
2 _Great_ Жестокий ты человек :)

Xserg
21.05.2007, 11:20
при запуске на экране появляется рамка с заданными координатами. размеры рамки должны меняться мышью. При двойном клике мыши внутри рамки возвращает битмэп части экрана в рамке и координаты рамки.

Как создать окно с дыркой и прочитать BMP из дыры :)
смотри здесь:
Исходник на Dеlphi7 + программа + (Из часов переделана)
http://slil.ru/24396826 clock.rar 166,619 байт.

Не знаю твой уровень , как программиста ,если что не понятно , спрашивай.

VADIK-XXX
21.05.2007, 14:01
2 _Great_ Жестокий ты человек :)

Спасиб

VADIK-XXX
21.05.2007, 14:02
Как создать окно с дыркой и прочитать BMP из дыры :)
смотри здесь:
Исходник на Dеlphi7 + программа + (Из часов переделана)
http://slil.ru/24396826 clock.rar 166,619 байт.

Не знаю твой уровень , как программиста ,если что не понятно , спрашивай.

Большое спасибо, но я неразобрался в том как оставить одну рамку а часы убрать. Сможешь помочь?

Xserg
21.05.2007, 14:42
На OnResize добаиляем

procedure TForm1.FormResize(Sender: TObject);
var P : array [0..9] of TPoint;
dm:dword;
begin
form1.BorderStyle:=bsSizeToolWin;
form1.BorderWidth:=0;
dm:=form1.Height-form1.ClientHeight;
P[0] := Point(0,0);
P[1] := Point(form1.Width,0);
P[2] := Point(form1.Width,form1.Height);
P[3] := Point(0,form1.Height);
R := CreatePolygonRgn(P, 4, Alternate);
P[0] := Point(2,dm);
P[1] := Point(form1.Width-2,dm);
P[2] := Point(form1.Width-2,form1.Height-2);
P[3] := Point(2,form1.Height-2);
R1 := CreatePolygonRgn(P, 4, Alternate);
CombineRgn(R, R, R1, RGN_DIFF);
SetWindowRgn(form1.Handle,R,true);
end;


Можно поизвращается с регионами - создать места для перетаскивания.

VADIK-XXX
21.05.2007, 15:00
На OnResize добаиляем

procedure TForm1.FormResize(Sender: TObject);
var P : array [0..9] of TPoint;
dm:dword;
begin
form1.BorderStyle:=bsSizeToolWin;
form1.BorderWidth:=0;
dm:=form1.Height-form1.ClientHeight;
P[0] := Point(0,0);
P[1] := Point(form1.Width,0);
P[2] := Point(form1.Width,form1.Height);
P[3] := Point(0,form1.Height);
R := CreatePolygonRgn(P, 4, Alternate);
P[0] := Point(2,dm);
P[1] := Point(form1.Width-2,dm);
P[2] := Point(form1.Width-2,form1.Height-2);
P[3] := Point(2,form1.Height-2);
R1 := CreatePolygonRgn(P, 4, Alternate);
CombineRgn(R, R, R1, RGN_DIFF);
SetWindowRgn(form1.Handle,R,true);
end;


Можно поизвращается с регионами - создать места для перетаскивания.


Благодарю....