PDA

View Full Version : حرفه ای: مشکل با skinframework و msgbox



helpsos
پنج شنبه 24 مرداد 1392, 19:44 عصر
سلام
من در برنامم از skinframework محصولات codejock استفاده کرده ام.
مشکل من زمانی شروع میشه که در پنجره هام از msgbox استفاده می کنم یعنی چی؟
یعنی اینکه وقتی پیام ظاهر میشه فرمم مخفی میشه و پس از بستن msgbox دوباره فرمم ظاهر میشه!
این مشکل حل میشه اگه من فرم هام را با دستور Form1.show 1 نمایش بدم ولی من نمیتونم از این دستور استفاده کنم چون کاربر برنامم باید بتونه همزمان چندین فرم را باز کنه

حالا باید چه کرد؟:متفکر:

m.4.r.m
پنج شنبه 24 مرداد 1392, 23:55 عصر
شما این برنامه رو تا اینجا که نوشتی به EXE تبدیل کن و فایل اجرایی رو اجرا کن و تست کن ببین این مشکل بازم هست یا فقط موقع کامپایل این مشکلو داری اگه فایل اجرایی مشکل نداشت عادیه زمان کامپایل اینطور شدن

helpsos
جمعه 25 مرداد 1392, 23:23 عصر
شما این برنامه رو تا اینجا که نوشتی به EXE تبدیل کن و فایل اجرایی رو اجرا کن و تست کن ببین این مشکل بازم هست یا فقط موقع کامپایل این مشکلو داری اگه فایل اجرایی مشکل نداشت عادیه زمان کامپایل اینطور شدن
سلام
این مشکل همچنان پا برجاست آیا راه حلی وجود دارد؟

m.4.r.m
جمعه 25 مرداد 1392, 23:29 عصر
مشکل پا برجاست آخه من دو روش گفتم شما به هیچ کدوم اشاره نمی کنی در دو حالت هم همین مدل بود یا نه ؟ نمونه کدی رو که نوشتی رو بزار اینجا

miladatashin
شنبه 26 مرداد 1392, 00:25 صبح
شما که داری از codejock استفاده میکنی چرا از Task Dialog خود codejockاستفاده نمیکنید. امکاناتش خیلی زیاد هست و احتمالا مشکلتون هم حل میشه

محسن واژدی
شنبه 26 مرداد 1392, 09:29 صبح
سلام علیکم
پارامتر های vbApplicationModal و vbMsgBoxSetForeground هم امتحان کنید:
Private Sub Command1_Click()
MsgBox "Test", vbApplicationModal Or vbMsgBoxSetForeground
End Sub

موفق باشید

helpsos
پنج شنبه 31 مرداد 1392, 17:26 عصر
شما که داری از codejock استفاده میکنی چرا از Task Dialog خود codejockاستفاده نمیکنید. امکاناتش خیلی زیاد هست و احتمالا مشکلتون هم حل میشه
سلام
ممنون از پاسخ
ولی
من این برنامه را قبلا نوشتم و حالا فقط می خواستم که یکم ظاهرش را عوض کنم.
برنامه بزرگ است و عوض کردن msgbox ها مشکل است.
راه دیگه ای ندارید؟

helpsos
پنج شنبه 31 مرداد 1392, 17:27 عصر
سلام علیکم
پارامتر های vbApplicationModal و vbMsgBoxSetForeground هم امتحان کنید:
Private Sub Command1_Click()
MsgBox "Test", vbApplicationModal Or vbMsgBoxSetForeground
End Sub

موفق باشید

سلام
ممنون از پاسخ
ولی هیچ کدام جواب ندادن
حالا به نظر شما باید چه کرد؟

helpsos
پنج شنبه 31 مرداد 1392, 17:33 عصر
مشکل پا برجاست آخه من دو روش گفتم شما به هیچ کدوم اشاره نمی کنی در دو حالت هم همین مدل بود یا نه ؟ نمونه کدی رو که نوشتی رو بزار اینجا
سلام
در هر دو حالت مشکل دارم
اینم کدی که نوشتمMe.SkinFramework1.LoadSkin App.Path + "\Styles\1.cjstyles", ""
Me.SkinFramework1.ApplyWindow Me.hWnd
البته این رو در فرم اصلیش نوشتم بعد هم در جاهای مختلف از msgbox استفاده کردم

vbhamed
پنج شنبه 31 مرداد 1392, 17:55 عصر
سلام
احتمالا اون فرمهاتون كاري انجام نميدن كه فوكوس رو به خودشون برگردونه، مثلا دستور SetFocus يا ...
در هر صورت برنامتون بايد باشه تا بشه بررسي كرد

helpsos
پنج شنبه 31 مرداد 1392, 18:23 عصر
سلام
احتمالا اون فرمهاتون كاري انجام نميدن كه فوكوس رو به خودشون برگردونه، مثلا دستور SetFocus يا ...
در هر صورت برنامتون بايد باشه تا بشه بررسي كرد
سلام
می شه بیشتر توضیح بدید
آخه اومدم یه نمونه براتون بسازم ولی دیدم درست کار می کرد
حالا شما منظورتون از SetFocus يا ... چیه؟

m.4.r.m
جمعه 01 شهریور 1392, 00:17 صبح
همین کاری که کردی درست شد رو تو برنامه قبلیت ست کن درست بشه

vbhamed
شنبه 02 شهریور 1392, 07:22 صبح
سلام
می شه بیشتر توضیح بدید
آخه اومدم یه نمونه براتون بسازم ولی دیدم درست کار می کرد
حالا شما منظورتون از SetFocus يا ... چیه؟

سلام

SetFocus يكي از متدهاي اشياء هست كه كنترل ويندوز رو مي‌بره روي اون شيء مثلا TextBox شماره 2 انتخاب بشه براي ويرايش
البته به طور معمول وقتي MsgBox استفاده بشه فرم زيرش نمي‌تونه فوكوس بگيره ولي نرم افزار ديگه اي اگه به طور مداوم اينكار رو كنه يا از Tread ها اگر استفاده شده باشه امكانش هست

helpsos
دوشنبه 04 شهریور 1392, 17:55 عصر
با سلام
فکر کنم مشکل را فهمیدم
وقتی فرم هام را showinTaskbar را براشون false می کنم این مشکل پیش میاد ولی اگه ShowInTaskbar برابر True باشه مشکل من با پیامها حل میشه.
ولی من نمی تونم showInTaskbar را برای همه ی فرمهام True کنم چون خیلی فرم دارم و زشت میشه

حالا نظرتون در این باره چیه؟:متفکر:

من یه نمونه براتون پیوست می کنم امیدوارم جواب بده بهتون

vbhamed
سه شنبه 05 شهریور 1392, 06:15 صبح
سلام
اگر تو برنامت MDIForm داشته باشي و فرمت رو به عنوان فرزند MDI قرار بدي اين مشكل پيش نمياد

helpsos
سه شنبه 05 شهریور 1392, 09:17 صبح
سلام
اگر تو برنامت MDIForm داشته باشي و فرمت رو به عنوان فرزند MDI قرار بدي اين مشكل پيش نمياد
به خاطره اینکه در طراحی با MDI محدودیت داریم پس از فرم معمولی استفاده کردیم
حالا راه دیگه ای وجود ندارد؟
کسی کلک رشتی برای این مشکل ندارد؟

vbhamed
پنج شنبه 07 شهریور 1392, 16:06 عصر
سلام
البته طراحي با MDI محدوديت نداره، كافيه از تابع SetParent استفاده كنيد

helpsos
یک شنبه 17 شهریور 1392, 18:39 عصر
با سلام

ممنون از جوابتون مشکل با استفاده از تابع setParent حل شد

با تشکر