Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.09;
Скачать: CL | DM;

Вниз

Уважаемые Доны подкажите пожалуйста как можно сделать   Найти похожие ветки 

 
Новичок1 ©   (2005-09-16 11:09) [0]

поле формы овального размера или круглого?


 
TUser ©   (2005-09-16 11:14) [1]

CreateEllipticRgn
SetWindowRgn


 
kblc ©   (2005-09-16 11:19) [2]

Самый простой:
Бросаешь на форму TShape, делаешь её любой формы,
Свойства формы
 TransparentColor:=TRUE;
 TransparentColorValue:=clBtnFace;


 
Новичок1 ©   (2005-09-16 11:22) [3]

Это нужно прописать в процедуре procedure TForm1.FormCreate(Sender: TObject);?


 
TUser ©   (2005-09-16 11:36) [4]

> Самый простой:

Самое просто - вынуть из JEDI соотв. компонент. И он это сделает через регионы. Работать будет помедленнее, чем руками [1], но пользователь этого не заметит.


 
Новичок1 ©   (2005-09-16 11:37) [5]

Не могу найти где находится Tshare на какой закладке?


 
kblc ©   (2005-09-16 11:43) [6]

Закладка: Additional
там Shape (ExtCtrls)


 
Новичок1 ©   (2005-09-16 12:01) [7]

Все сделал , овал получил , но он находится внутри формы , а сама форма прямоугольная
Установки сделал
TransparentColor:=TRUE;
TransparentColorValue:=clBtnFace;
Может в свойстве color еще поправит.


 
Zeqfreed ©   (2005-09-16 12:35) [8]

Новичок1 ©   (16.09.05 12:01) [7]
В [1] всё сказано. Или у тебя "стандартный" вариант - справки нет/по английски не читаем-с?


 
ocean ©   (2005-09-16 12:51) [9]

В дополнение к абсолютно верному [1] дам примерчик. Он создает прозрачную форму, но при замене CreateRectRgn на CreateEllipticRgn или какой-то другой форма будет какая надо:

unit unit1;
interface
uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 StdCtrls;
type
 TForm1 = class(TForm)
 Button1: TButton;
 Button2: TButton;
   // это просто кнопка на форме - для демонстрации
 protected
   procedure RebuildWindowRgn;
   procedure Resize; override;
 public
   constructor Create(AOwner: TComponent); override;
 end;
var
 Form1 : TForm1;
implementation
// ресурс этой формы
{$R *.DFM}

{ Прозрачная форма }
constructor TForm1.Create(AOwner: TComponent);
begin
 inherited;
 // убираем сколлбары, чтобы не мешались
 // при изменении размеров формы
 HorzScrollBar.Visible:= False;
 VertScrollBar.Visible:= False;
 // строим новый регион
 RebuildWindowRgn;
end;

procedure TForm1.Resize;
begin
 inherited;
 // строим новый регион
 RebuildWindowRgn;
end;

procedure TForm1.RebuildWindowRgn;
var
 FullRgn, Rgn: THandle;
 ClientX, ClientY, I: Integer;
begin
 // определяем относительные координаты клиенской части
 ClientX:= (Width - ClientWidth) div 2;
 ClientY:= Height - ClientHeight - ClientX;
 // создаем регион для всей формы
 FullRgn:= CreateRectRgn(0, 0, Width, Height);
 // создаем регион для клиентской части формы
 // и вычитаем его из FullRgn
 Rgn:= CreateRectRgn(ClientX, ClientY, ClientX + ClientWidth, ClientY +
ClientHeight);
 CombineRgn(FullRgn, FullRgn, Rgn, rgn_Diff);
 // теперь добавляем к FullRgn регионы каждого контрольного элемента
 for I:= 0 to ControlCount -1 do
   with Controls[I] do begin
     Rgn:= CreateRectRgn(ClientX + Left, ClientY + Top, ClientX + Left +
Width, ClientY + Top + Height);
     CombineRgn(FullRgn, FullRgn, Rgn, rgn_Or);
   end;
 // устанавливаем новый регион окна
 SetWindowRgn(Handle, FullRgn, True);
end;
end.


 
Новичок1 ©   (2005-09-16 12:57) [10]

Сенькс, получилось!


 
Defunct ©   (2005-09-16 13:08) [11]

Новичок1 ©   (16.09.05 12:57) [10]

Рады за Вас, уважаемый Дон! ;>



Страницы: 1 вся ветка

Текущий архив: 2005.10.09;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.034 c
14-1127070344
Fl@sh
2005-09-18 23:05
2005.10.09
Винт+перезагрузка


14-1126773985
SergProger
2005-09-15 12:46
2005.10.09
Файловая система


14-1126707015
Prohodil Mimo
2005-09-14 18:10
2005.10.09
Радуйтесь! я на клаву наклейки повесил :о)


14-1127107307
Ega23
2005-09-19 09:21
2005.10.09
В среду приятель погиб


2-1123944597
psa247
2005-08-13 18:49
2005.10.09
Обновление ListView