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

Ваш аккаунт

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

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

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

Интерфейс в делфи

330
05 октября 2006 года
kastron
215 / / 17.09.2006
Всем здарова!Подскажите мне как сделать прогу в Делфи более графичной,то есть как рисовать нестандартные формы не типо там с закругленными концами,окно типа звезда,эллипс.Мне нужно что-то более весомое.Срочно для авторана надо!!!
497
05 октября 2006 года
IL84
267 / / 24.04.2003
Поищи факи, в них все подробно расписано. Есть компоненты для навешивания скинов на форму.
339
06 октября 2006 года
verybadbug
619 / / 12.09.2005
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
R: HRgn;
P : array[0..2] of TPoint;
begin
P[0] := Point(0,0);    // пределим точки для полигона и
P[1] := Point(200,0);
P[2] := Point(100,200);
R := CreatePolygonRgn(P, 3, WINDING); // зададим его
SetWindowRgn(Handle, R, True);
end;
339
06 октября 2006 года
verybadbug
619 / / 12.09.2005
или можно так..... :D

Код:
procedure TForm1.FormCreate(Sender: TObject);
const
W = 36 * PI / 180;
var
R, R1, R2 : HRgn;
X, Y, I : Integer;

function S(A : Integer; R : Integer) : Integer;
begin
Result := round(R * sin(W * A));
end;

function C(A : Integer; R : Integer) : Integer;
begin
Result := round(R * cos(W * A));
end;

function GetStarReg(X, Y, R : Integer) : HRGN;
var
P : array[0..4] of TPoint;
begin
P[0] := Point(X, Y - R);
P[1] := Point(X - S(4, R), Y - C(4, R));
P[2] := Point(X - S(8, R), Y - C(8, R));
P[3] := Point(X - S(2, R), Y - C(2, R));
P[4] := Point(X - S(6, R), Y - C(6, R));
Result := CreatePolygonRgn(P, 5, WINDING);
end;

begin
X := Width div 2;
Y := Height div 2;
R := GetStarReg(X, Y, 100);
I := 1;
repeat
  R1 := GetStarReg(X - S(I, 120), Y - C(I, 110), 40);
  CombineRgn(R, R, R1, RGN_OR);
  inc(I, 2);
until I > 9;
R1 := GetStarReg(X, Y, 30);
CombineRgn(R, R, R1, RGN_DIFF);
R1 := CreateEllipticRgn(3, 3, Width - 6, Height - 6);
R2 := CreateEllipticRgn(20, 10, Width - 20, Height - 10);
CombineRgn(R1, R1, R2, RGN_DIFF);
CombineRgn(R, R, R1, RGN_OR);
SetWindowRgn(Handle, R, True);
color:=clred;
end;
339
06 октября 2006 года
verybadbug
619 / / 12.09.2005
для подробностей смотри MSDN
261
06 октября 2006 года
ahilles
1.5K / / 03.11.2005
Допустим у тебя есть рисунок микки маус
вокруг него белый фон ставишь
form1.transparentcolor=true;
form1.transparentcolorvalue=clwhite;
растягиаешь рисунок на всю форму
потом можно убрать заголовок формы
и добавить возвожность перемещения формы за её тело
и вот пожалуйста твоя форма ввиде микки мауса
339
07 октября 2006 года
verybadbug
619 / / 12.09.2005
Цитата:

form1.transparentcolor=true;
form1.transparentcolorvalue=clwhite;


на win'98/ME работать не будет... не знаю по части 2000...

261
07 октября 2006 года
ahilles
1.5K / / 03.11.2005
а зачем тебе нужны win'98/ME ими уже никто не пользуется
387
07 октября 2006 года
Ihbif19
421 / / 28.10.2004
[QUOTE=ahilles]а зачем тебе нужны win'98/ME ими уже никто не пользуется[/QUOTE]
Пользуются, ещё как пользуются!
22K
07 октября 2006 года
Роман Радер
1 / / 30.09.2006
В основном - XP, но встречаються люди(не очень редко!), которые пользуються 98...
261
08 октября 2006 года
ahilles
1.5K / / 03.11.2005
но всё равно я когда делаю программы даже не думаю что кто то её может запустить под win98.а если всё же кто то запустит под 98 и произойдёт глюк то выведу сообщение что под 98 эта прога не работает
330
08 октября 2006 года
kastron
215 / / 17.09.2006
Всем спасибо за предоставленную помощь...А как вам прога моя AutomaticOpen???
387
10 октября 2006 года
Ihbif19
421 / / 28.10.2004
Автор кажется на форум не за помощью приходит а за...?!
Сами понимаете зачем!?
21K
20 октября 2006 года
RuLe
4 / / 20.10.2006
[QUOTE=ahilles]
и добавить возвожность перемещения формы за её тело
[/QUOTE]
Че за свойство.?
261
20 октября 2006 года
ahilles
1.5K / / 03.11.2005
у него нет такого свойства надо просто обрабатывать события onmousedown, onmousemove, onmouseup
339
21 октября 2006 года
verybadbug
619 / / 12.09.2005
Цитата:
надо просто обрабатывать события onmousedown, onmousemove, onmouseup


или сказать обработчику, что на самом деле мышкой ткнули не на клиентской части, а на заголовке формы

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог