PDA

View Full Version : شی بدون parent!!!



afshincomputer
چهارشنبه 14 خرداد 1382, 13:24 عصر
سلام



من میخوام یه شی رو تو محیط کاری طوری ایجاد کنم که به شی دیگه وابسته نباشه مثلا

یه button رو مستقل از form ایجاد کنم

یعنی یه جورایی parent نداشته باشه!!!

اصلا میشه همچین کاری کرد؟؟ اگه راهنماییم کنید ممنون میشم :roll:

چهارشنبه 14 خرداد 1382, 14:59 عصر
تا اینجایی که ما دلفی خوندیم فهمیدیم که همه این property ها و... یک باتن همه مشتق شده از پدر اون بیده! یعنی اگه شما نخای از پدرش استفاده کنی باید خودت بشینی همشو بنویسی که فکر نکنم هیچ ادم عاقلی پیدا بشه که بشینه واسه یه باتن خشک و خالی n خط کد بنویسه n میلیون نوع باتن دیگه هم تو اینترنت پیدا میشه.
البته اگه اشتباه نکرده باشم.

مهدی کرامتی
چهارشنبه 14 خرداد 1382, 16:20 عصر
خوب حالا مسئله اینه که میخوای با این دکمه چکار کنی؟
آیا قرار است که این دکمه جایی نمایش داده بشه؟ اگه جواب مثبته کجا میخوای نمایش‌اش بدی؟
اگه کلا Button رو بعنوان مثال مطرح کردی پس بهتره هدف اصلی تو بیان کنی یا حداقل سوالتو بهتر بپرسی.

afshincomputer
چهارشنبه 14 خرداد 1382, 17:03 عصر
نه عزیز جون مثله اینکه منظورم رو نتونستم برسونم

اگه شما یه button بسازی حتما باید اون رو توی یه فرم قرار بدی (parent ش باید فرم باشه)

حا لا من میخوام این button مادر مرده واسه خودش مستقل بشه و بتونه مثه شی form هر

جایه صفحه مانیتور قرار بگیره (همونطور که در بالا نوشتم "یه جورایی parent نداشته باشه" ولی در اصل حتما parent داره )

البته منظور من از parent پروپرتی بود نه کلاسی که شی مون ازش بوجود اومده
و در آخر آقا میلاد از توجه ات به موضوع ممنونم :wink:
همین طور از شما اقای delphiassistant

Farhad.B.S
چهارشنبه 14 خرداد 1382, 19:17 عصر
سلام.
این که parent نداشته باشه نمیشه ... اما واسه اون کار یه راه هست !
میتونی مثلا DockSite فرمت رو true کنی و بعد اون کنترلی رو که میخوای بی parent باشه رو خصوصیت DragMode رو بذاری aoutomate و بعد DragKind رو (اگه اشتباه نکنم ) به dock تنظیم کنی

پنج شنبه 15 خرداد 1382, 10:06 صبح
این روش شما جواب میده ولی یه مشکل داره
دیگه رویداد onclickبرای باتن بوجود نمیاد :(

Vakili
جمعه 16 خرداد 1382, 10:43 صبح
ایا شما می خواهید از Parent صفحه نمایشScreen استفاده کنید ؟
و یا می خواهید Form قابل جابجایی شیشه ای (Transparent Form) بسازید؟

Vakili
جمعه 16 خرداد 1382, 10:44 صبح
ایا شما می خواهید از Parent صفحه نمایشScreen استفاده کنید ؟
و یا می خواهید Form قابل جابجایی شیشه ای (Transparent Form) بسازید؟

afshincomputer
جمعه 16 خرداد 1382, 16:26 عصر
بله میخوام parent یه شی رو صفحه نمایش قرار بدم.البته درباره Transparent Form اگه میشه یه توضیحی بدین.

متشکرم

مهدی کرامتی
جمعه 16 خرداد 1382, 18:43 عصر
این کد یک دکمه شناور روی صفحه ایجاد میکند. اگر میخواهید این دکمه روی همه پنجره‌های فعال قرار گیرد خاصیت FormStyle فرمتان را برابر fsStayOnTop قرار دهید:

procedure TForm1.Button1Click(Sender: TObject);
var
FullRgn, ClientRgn, ButtonRgn: THandle;
Margin, X, Y: Integer;
begin
Margin := (Width - ClientWidth) div 2;
FullRgn := CREATERECTRGN(0, 0, Width, Height);
X := Margin;
Y := Height - ClientHeight - Margin;
ClientRgn := CREATERECTRGN(X, Y, X + ClientWidth, Y + ClientHeight);
CombineRgn(FullRgn, FullRgn, ClientRgn, RGN_DIFF);
X := X + Button1.Left;
Y := Y + Button1.Top;
ButtonRgn := CREATERECTRGN(X, Y, X + Button1.Width, Y + Button1.Height);
CombineRgn(FullRgn, FullRgn, ButtonRgn, RGN_OR);
SetWindowRgn(Handle, ButtonRgn, True);
Form1.Top:=Screen.DesktopTop;
Form1.Left:=Screen.DesktopLeft;
end;