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

Вниз

Handle   Найти похожие ветки 

 
Neoo ©   (2004-02-21 20:00) [0]

Помогите люди добрые. Как определить Handle или изменить форму(регион) динамически созданному компоненту например TShape.


 
Игорь Шевченко ©   (2004-02-21 20:06) [1]

У TShape нет Handle.

Зато у него есть свойство Shape, которое меняет внешний вид компонента.


 
Юрий Зотов ©   (2004-02-21 20:07) [2]

TShape - это не окно, а хэндлы и регионы бывают только у окон. Динамическое создание здесь ни при чем.


 
Neoo ©   (2004-02-21 20:15) [3]

Пардон, а у TPanel как определить


 
Юрий Зотов ©   (2004-02-21 20:24) [4]

var
Panel: TPanel;
Rgn: HRGN;
...
Panel := TPanel.Create(...);
GetWindowRgn(Panel.Handle, Rgn);


 
Юрий Зотов ©   (2004-02-21 20:32) [5]

Вообще, по поводу работы с динамически созданными компонентами см. сюда:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=342

А по поводу изменения региона окна - сюда:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=903


 
Neoo ©   (2004-02-21 20:34) [6]

var
img: array: of TShape;

procedure ....
var
Pts : array [1..8] of TPoint;
begin
inc(a);
SetLength(img,a+1);
img[a]:=TShape.Create(nil);

img[a].Left:=Origin.X;
img[a].Top:=Origin.Y;
img[a].Width:=x-Origin.X;
img[a].Height:=y-Origin.Y;

x1:=Origin.X;
y1:=Origin.Y;
x2:=x-Origin.X;
y2:=y-Origin.Y;

Pts[1] := Point( x1-1, y1-1 );
Pts[2] := Point( ((x2-x1) div 2)+1, y1-1 );
Pts[3] := Point( ((x2-x1) div 2)+1, y2-1 );
Pts[4] := Point( x2+1, y2-1 );
Pts[5] := Point( x2+1, y2+1 );
Pts[6] := Point( ((x2-x1) div 2)-1, y2+1 );
Pts[7] := Point( ((x2-x1) div 2)-1, y1+1 );
Pts[8] := Point( x1-1, y1+1 );
img[a].Parent:=Form1;

SetWindowRgn( img[a].Handle, CreatePolygonRgn( Pts, 8, WINDING ), True);

этот код вызывает ошибку.


 
Игорь Шевченко ©   (2004-02-21 20:54) [7]


> этот код вызывает ошибку


Что вполне закономерно, так как а) у TShape нет Handle б) TShape это не окно и функция SetWindowRgn к TShape неприменима.



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
1-6116
Tahion2
2004-02-18 23:55
2004.03.03
Почему я не могу настроить вид TDBChart?


3-5944
Dummes
2004-02-05 14:53
2004.03.03
Что бы это значило?


3-5980
Zilog
2004-02-05 11:48
2004.03.03
Динамически создаю таблицы в БДЕ. Проверка существующего имени


4-6272
v_v_c_c
2003-12-25 06:27
2004.03.03
Прозрачное Окно


1-6025
Layner
2004-02-19 09:29
2004.03.03
Есть 2й массив, X на Y, как узнать сумму одного столбца?