Главная страница
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.01 c
14-6212
Домарощинер
2004-02-09 15:04
2004.03.03
Messages


1-6044
Случайно забежавший
2004-02-21 12:55
2004.03.03
StringGrid и OnKeyPress


3-5955
Lisa
2004-02-05 22:15
2004.03.03
Какие поля содержатся в результате выполнения запроса в TQuery?


3-5943
race1
2004-02-04 16:43
2004.03.03
name by id


3-5948
Zilog
2004-02-05 16:39
2004.03.03
как програмно менять порядок столбцов (Fields) в комоненте Query?