Просмотр полной версии : Помогите составить функцию (delphi)
VADIK-XXX
20.05.2007, 14:46
при запуске на экране появляется рамка с заданными координатами. размеры рамки должны меняться мышью. При двойном клике мыши внутри рамки возвращает битмэп части экрана в рамке и координаты рамки.
Кто-нибудь помогите с етой функцией на делфи
Читаем https://forum.antichat.ru/thread38814.html и получаем -1
2 _Great_ Жестокий ты человек :)
при запуске на экране появляется рамка с заданными координатами. размеры рамки должны меняться мышью. При двойном клике мыши внутри рамки возвращает битмэп части экрана в рамке и координаты рамки.
Как создать окно с дыркой и прочитать 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 байт.
Не знаю твой уровень , как программиста ,если что не понятно , спрашивай.
Большое спасибо, но я неразобрался в том как оставить одну рамку а часы убрать. Сможешь помочь?
На 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;
Можно поизвращается с регионами - создать места для перетаскивания.
Благодарю....
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot