Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.03.03;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
14-6190
Andreas
2004-02-11 18:29
2004.03.03
Пропали подключения ?


1-6127
Builder
2004-01-23 13:36
2004.03.03
Excel


14-6197
Nikolay M.
2004-02-10 10:00
2004.03.03
Кто за электробритву скажет?


1-6060
Drozdov A
2004-02-18 15:22
2004.03.03
If ....Then


1-6015
MPS
2004-02-19 10:43
2004.03.03
По поводу Canvas => TextOut





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский