PDA

View Full Version : کنترل فرم ها در برنامه چندرسانه ای



saeed6162
چهارشنبه 26 خرداد 1389, 10:05 صبح
سلام به دوستان عزیز
در حال انجام یک پروژه ی مالتی مدیایی هستم ، برای اینکه برنامه ی من روی تمامی رزولوشن ها به خوبی جواب بده و اشکالی تو چینش و اندازه ی عکس هایی که تو برنامم استفاده کردم (از طرح برنامه های Setup استفاده کردم که یک زمینه زیر همه فرم ها به صورت Maximize دارند)، همه ی فرم ها رو با یک اندازه ی ثابت (1024x768) طراحی کردم ، Align اونها رو هم Custom گذاشتم که نشه اون ها رو حرکت داد و Position اونها رو هم ScreenCenter گذاشتم.
برای اینکه توجه کاربر در هنگام کار با برنامه فقط معطوف به برنامه ی من باشه یک زمینه سیاه برای Screen ایجاد کردم ولی بعضی وقتها به خوبی جواب نمی ده و اذیت می کنه، یه فرم دارم که روش یک عکس با زمینه سیاه هست که کل فرم رو پوشونده ، BorderStyle فرم زمینه هم None ، و با کد زیر اون رو به عنوان زمینه برای تمامی فرم ها قرار دادم




Application.Initialize;
Application.BiDiKeyboard:='00000429';
Application.BiDiMode:=bdRightToLeft;

Application.CreateForm(TFmain, Fmain);
FBackground:=TFBackground.Create(Application);
FBackground.Enabled:=False;
FBackground.Show;

Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);

Application.Run;



می خواستم بدونم که این کاری که من کردم اصولیه یا راه دیگه ای هم وجود داره که بهتر و دقیق تر جواب بده. تو این روش بعضی وقت ها فرم زمینه ام نشون داده نمیشه!

vcldeveloper
چهارشنبه 26 خرداد 1389, 10:54 صبح
WindowState فرم مربوطه را روی wsMaximized تنظیم کنید.

saeed6162
چهارشنبه 26 خرداد 1389, 12:06 عصر
WindowState فرم مربوطه را روی wsMaximized تنظیم کنید.

بله آقای کشاورز این کار رو قبلا انجام دادم
یک سئوال من اینه که برای انجام یه همچین کاری از این روش استفاده میشه؟(فرم هایی که روی یک زمینه سیاه و غیرفعال نمایش داده میشوند و داشتن شرایط معمولی پنجره ها مثلا وقتی که یک پنجره minimize میشه)

و سئوال دوم اینه که اگه این راهی که من در پیش گرفتم درسته ترتیب ساخت و نمایش فرم ها درست هستند؟

bootshow
چهارشنبه 26 خرداد 1389, 16:47 عصر
سعی کن یک عکس پشت صفحه اصلیت بزاری.BorderStyle اونو none کن و در رویداد show کد زیر را بزاری.
Left:=0;
Top:=0;
Width:=Screen.Width;
Height:=Screen.Height;
میتوی در ویداد OnKeyPress دکمه های tab و ,,, را فعال کنییا از کامپوننت dWinlock (http://www.kassl.de) استفاده کنی تا دکمه های کیبورد را غیر فعال کنی.