Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Помогите составить функцию (delphi) (https://forum.antichat.xyz/showthread.php?t=40438)

VADIK-XXX 20.05.2007 14:46

Помогите составить функцию (delphi)
 
при запуске на экране появляется рамка с заданными координатами. размеры рамки должны меняться мышью. При двойном клике мыши внутри рамки возвращает битмэп части экрана в рамке и координаты рамки.

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

_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

Цитата:

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

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

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

VADIK-XXX 21.05.2007 14:01

Цитата:

Сообщение от slesh
2 _Great_ Жестокий ты человек :)

Спасиб

VADIK-XXX 21.05.2007 14:02

Цитата:

Сообщение от Xserg
Как создать окно с дыркой и прочитать 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

Цитата:

Сообщение от Xserg
На 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;

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


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


Время: 02:00