PDA

نسخه کامل مشاهده نسخه کامل : فیکس کردن فرم



P A R M I S
04-10-2008, 10:02
آیا روشی برای فیکس کردن فرم در حین اجرای برنامه وجود دارد ؟ (دلفی ) عنوان فرم هم باشه و حذف نشه

NoneForce
04-10-2008, 10:17
سلام

يكم واضح تر توضيح بدهيد.

H A M E D
05-10-2008, 00:11
منظورتون از فيكس كردن اندازه فرمه؟ كه يعني سايزش تغيير نكنه؟
در اين صورت خاصيت BorderStyle فرم رو مي تونيد به bsDialog تغيير بديد يا اينكه از BorderIcon گزينه Maximize رو False كنيد.

romixery
05-10-2008, 09:16
سلام
ببين دوست عزيز، اگه مي خواين كه فرمتون ثابت باشه ونشه توي صفحه تكونش بدن، كافيه خاصيت Align فرمتون رو به Custom تغيير بدين. اگه مي خوان اندازه فرم ثابت باشه، يكي از راهها همونيه كه حامد جان گفتن. و البته يه راه ديگه هم وجود داره كه خاصيتهاي موجود در خاصيت Constrain فرمتون رو مقدار دهي كنيد. مقادير MaxWidth,MinWidth,.... رو مقدار دهي كنيد.
موفق باشين

P A R M I S
05-10-2008, 10:08
سلام منظورم همین بود که هنگام اجرا نتونیم جابجاش کنیم و تکون نخوره که گفتین از طریق align می شه ممنون از کمکتون

P A R M I S
05-10-2008, 10:48
سلام بعنوان یکی از تنظیمات برنامم می خوام از برنامه ماشین حساب استفاده کنم از همون دستور winexec ('calc',SW_SHOW); استفاده می کنم البته هنگام اجرا برنامه ماشین حساب فرمش در هر جایی ظاهر می شه( یعنی جای مشخصی نداره یکبار بالای صفحه ظاهر می شه یکبار کمی بالاتر یکبار پایین تر) آیا می شه محل ظاهر شدن اون رو هم مشخص کرد و به صورت ثابت در یکجای مشخص بگیم که ظاهر بشه و مثلا مثل خاصیت position فرم که می تونیم بگیم وسط صفحه و ..... ممنون از کمکهایتون

romixery
05-10-2008, 11:54
سلام
از دستور setWindowPos استفاده كن. براي مثال قطعه كد زير برنامه notepad رو در مختصات 500 و 100 باز مي كنه.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

P A R M I S
05-10-2008, 12:44
سلام
الان من فقط باید بجای notepad ،calc رو جایگزین کنم ؟ اگه آره که این جواب نداد و بازم برنامه ماشین حساب در جاهای مختلف باز می شه می شه برای ماشین حساب هم کدش رو بنویسید که اجرا بشه ؟ ممنون
و اینکه آیا می شه برنامه رو هم ثابت کرد که هنگام اجرای برنامه درلفی برنامه ماشین حساب که اجرا می شه ثابت باشه مثل همون گزینه align فرمها که گفتید alcustom رو بزنیم برای ماشین حساب هم بشه ممنون از شما

D3lphi
05-10-2008, 13:17
الان من فقط باید بجای notepad ،calc رو جایگزین کنم ؟ اگه آره که این جواب نداد و بازم برنامه ماشین حساب در جاهای مختلف باز می شه می شه برای ماشین حساب هم کدش رو بنویسید که اجرا بشه ؟ ممنون



خیر
باید عنوان (Caption) فرم که calculator هست رو بنویسید

D3lphi
05-10-2008, 13:19
و اینکه آیا می شه برنامه رو هم ثابت کرد که هنگام اجرای برنامه درلفی برنامه ماشین حساب که اجرا می شه ثابت باشه مثل همون گزینه align فرمها که گفتید alcustom رو بزنیم برای ماشین حساب هم بشه ممنون از شما

راهی که به نظر من می رسه اینه که در یک حلقه با اینتروال 1 میلی ثانیه از دستور setWindowpos استفاده کنی.

P A R M I S
05-10-2008, 19:26
ببخشید می شه کاملتر توضیح بدین ممنون

D3lphi
06-10-2008, 08:52
منظورم اینه که یه تایمر روی فرم بزاری و خاصیت Interval اون رو روی 1 تنظیم کنی.
بعد داخل کد OnTimer دستور setWindowpos رو روی فرم calculator اعمال کنی.

P A R M I S
06-10-2008, 09:08
می شه توضیح کاملتری بدین ممنون

P A R M I S
06-10-2008, 09:11
آخه من که فرم CALCULATER ندارم و دارم از ماشین حساب خود ویندوز استفاده می کنم
دستور winexec('calc',SW_SHOW) ; استفاده می کنم

P A R M I S
06-10-2008, 11:38
با سلام
نمی دونم شاید شما سوال من رو درست متوجه نشده باشین شاید هم من منظور شما رو متوجه نمی شم اما با اینکار که شما گفتید برنامه ماشین حساب بصورت مکرر در قسمت های مختلف باز می شود من آنچه که می خوام اینه که الان که دکمه button ای که برای ماشین حساب در نظر گرفته ام را زدم برنامه ماشین حساب در وسط صفحه باز شود مثلا در مختصات 100و100 یا هر مختصات دیگری . برنامه ماشین حساب را که بستم دوباره که دکمه button در نظر گرفته شده برای ماشین حساب را که زدم دوباره برنامه ماشین حساب در همان قسمت قبل یعنی مختصات 100و100 باز شود بهمین ترتیب هر تعداد دفعات دیگری که برنامه ماشین حساب را که اجرا کردم در وسط صفحه باز شود (و البته اگر امکانش هم هست برنامه ماشین حساب اجازه تکان خوردن در صفحه را نداشته باشد و در صفحه فیکس باشد ) ممنون
منظورم از ثابت بودن برنامه ماشین حساب این بود که در صفحه در مختصات مشخصی باز شود نه اینکه همیشه برنامه ماشین حساب باز باشد بازم ممنون

D3lphi
06-10-2008, 16:29
نمی دونم شاید شما سوال من رو درست متوجه نشده باشین شاید هم من منظور شما رو متوجه نمی شم اما با اینکار که شما گفتید برنامه ماشین حساب بصورت مکرر در قسمت های مختلف باز می شود من آنچه که می خوام اینه که الان که دکمه button ای که برای ماشین حساب در نظر گرفته ام را زدم برنامه ماشین حساب در وسط صفحه باز شود مثلا در مختصات 100و100 یا هر مختصات دیگری . برنامه ماشین حساب را که بستم دوباره که دکمه button در نظر گرفته شده برای ماشین حساب را که زدم دوباره برنامه ماشین حساب در همان قسمت قبل یعنی مختصات 100و100 باز شود بهمین ترتیب هر تعداد دفعات دیگری که برنامه ماشین حساب را که اجرا کردم در وسط صفحه باز شود

درست متوجه شدم ولی مثل اینکه شما درست متوجه نشدین!
باید دستور SetWindowPos رو توی Timer قرار بدین نه دستور WinExec رو!!! (<= این برای ثابت موندن یا عدم تحرک فرم روی دسکتاپ)
اگر می خواهید فقط بار اول که باز شد در مختصات خاصی باز شود بعد از باز کردن ماشین حساب توسط دستور Winexec یکبار از دستور setwindowpos استفاده کنید و مختصات مذکور رو بهش بدین!

P A R M I S
06-10-2008, 17:54
ببخشید من قصد اهانت به شما را نداشتم اون چیزی رو که شما هم می گین انجام دادم ولی انجام نشد اینم کل برنامشه می شه ببینین کجاشو اشکال داره ضمنا interval اش رو هم 1 کردم

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

D3lphi
07-10-2008, 13:14
ببخشید من قصد اهانت به شما را نداشتم اون چیزی رو که شما هم می گین انجام دادم ولی انجام نشد اینم کل برنامشه می شه ببینین کجاشو اشکال داره ضمنا interval اش رو هم 1 کردم
مشکلی نیست
من الان دلفی رو سیستم ندارم پس اگه جواب نداد تقصیر من نیست!
فقط اگه جواب نداد Findwindow رو با توضیح جلوش عوض کن.



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

romixery
07-10-2008, 13:26
دوست عزيز من امتحان كردم. عجيبه كه اين تابع Setwindowpos براي Notepad و چندتا از برنامه هاي ديگه جواب ميده ولي براي Calculator ويندوز جواب نميده (ويندوزه ديگه. ازش بيشتر انتظار نميره). مي گردم تا راه حلش رو پيدا كنم. ولي پيشنهاد بهتري دارم. بهتره از كامپوننتهاي AlphaControls استفاده كنيد كه در انجمن هم معرفي شده. يكي از اين كامپوننتها، ماشين حسابي هست كه بطور بسيار دقيقي قابل كنترل هستش.
موفق باشين

D3lphi
07-10-2008, 13:44
دوست عزيز من امتحان كردم. عجيبه كه اين تابع Setwindowpos براي Notepad و چندتا از برنامه هاي ديگه جواب ميده ولي براي Calculator ويندوز جواب نميده (ويندوزه ديگه. ازش بيشتر انتظار نميره).


فکر نمی کنم جواب نده ها !
شما در دستور FindWindow از نام کلاس استفاده کردین یا کپشن فرم ؟!

P A R M I S
07-10-2008, 13:46
ممنون ولی من راستشو بخواید تازه کار دلفی هستم می شه بگید این کامپوننتهاکه گفتین چیه ؟ ببخشید دیگه اگه اذیتتون کردم

P A R M I S
08-10-2008, 19:32
با سلام
چطور می تونم اگه اطلاعاتی مثلا فامیل که در یک combobox است رو حرف اولش رو که می زنم تمام فامیل هایی رو که در dbgrid اومده اونهاییش که حرف اولشان آنچه که در comboboxوارد کرده ام هست فقط نشون داده بشن مثلا حرف الف را که می زنم تمام فامیل هایی رو که با الف شروع می شن ( و البته قبلا در جدولم ثبت کرده ام ) رو نشون بده حرف دومش رو که زدم مثلا ح تمام فامیلهایی رو که با اح شروع می شوند حرف بعد میم زدم همه فامیل هایی که با احم شروع می شوند به همی صورت الی آخر

P A R M I S
08-10-2008, 19:33
لطفا جواب بدین ممنون

NoneForce
09-10-2008, 08:58
سلام

فكر كنم اگر سوال فلسفي هم داشته باشيد توي همين تاپيك بپرسيد.
موضوع تاپيك چي بوده و الان به كجا كشيده شده؟!
سوالات ساده و در حد مبتدي را در تاپيك سوالات و آموزش براي مبتدي ها مطرح كنيد، براي بحث و سوال جديد (غير مبتدي) تاپيك جدا باز كنيد.

پشت سر هم پست ندهيد.

لطفا در ادامه اين بحث فقط در مورد موضوع تاپيك صحبت كنيد.

P A R M I S
11-10-2008, 14:09
سلام دوستان آیا روشی برای فیکس کردن ماشین حساب پیدا کردین ؟