ايران ويج

نسخه‌ی کامل: ساختن یک پنچره
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
اگه ميخوای شی به صفحه مورد نظر وارد کنی ميتونی از تابع SetParent استفاده کني.
با اين کار کنترل شما جزوی(Child) پنجره مورد نظرتون ميشه و با بستن پنجره کار کنترلها هم به پايان ميرسه.
کد نويسی هم مثل قبل داخل کنترلها انجام ميشه.
البته چندتا نکته هم وجود داره که ممکن هست برنامه ErrorDontSend بده و يا کد نويسی بعضی از کنترلها اجرا نشه.
در کل برای من روش خيلی خوبی بوده.

Private Declare Function SetParent Lib "user32.dll" (ByVal hwndChild As Long, ByVal hwndNewParent As Long) As Long
مثال:
Text1.hwnd = هندل کنترل
WindowHwnd = هندل پنجره مورد نظر
SetParent Text1.hwnd, WindowHwnd
[تصویر:  Capture_4.JPG]
با سلام
جوابهاتونو رو تازه دیدیم ساخت یه button روی پنجره دیگه راحته ولی مدیریت و کنترل رویداد برای اون مشکله
شما چطور رویدادها رو برای اون edit و button که رو اکسپلورر قرار دادین روکنترل میکنین؟
من Button نساختم بلکه Button فورم برنامه خودم رو به پنجره اکسپلورر منتقل کردم.
و تمام رويدادها هم داخل فورم اصلی برنامه انجام ميشه.
وقتی از setparent استفاده میکنین پرنت اون دکمه از فورم برنامتون منتقل میشه به اکسپلورر در این حالت پیغامهای دکمه دیگه به برنامتون ارسال نمیشه بلکه به پرنت جدید خودش یعنی اکسپلورر ارسال میشه
lord_viper نوشته است:وقتی از setparent استفاده میکنین پرنت اون دکمه از فورم برنامتون منتقل میشه به اکسپلورر در این حالت پیغامهای دکمه دیگه به برنامتون ارسال نمیشه بلکه به پرنت جدید خودش یعنی اکسپلورر ارسال میشه

نه اينطور نيست مادر(Parent) کنترل عوض ميشه ولی تمام فرايند ها به برنامه اصلی ارسال ميشه.
نمونه برنامه که با اين روش رو نوشتم ميتونی عکسش رو ببينی و ميتونی از اينجا دانلود کنی.

[تصویر:  pm-ms13.gif]
میتونین اون تیکه کدی رو که واسه این قسمت نوشته بودین رو اینجا قرار بدین؟
(چون وقتی setparent که میشه parent اونbutton عوض میشه و دریافت و ارسال message های مربوط به button به parent جدید منتقل میشه)
من قبلا کاری شبیه به اینو انجام داده بودم وبرای فهمیدن کلیک شدن روی اون منویی که به یه برنامه اظافه کرده بودم براس یه mousehook نوشتم
الانم اگه اصرار میکنم بخاطر اینه که اون موقع من دنبالش گشتم ولی چیز بهتری پیدا نکردمQuestion
اين هم يه کد خيلی ساده البته به زبان VB
عالی بود جناب CrazyFull
ممنون جناب crazyfull
من چون کدم رو در رویدادonclick مینوشتم اجرا نمیشد واسه همین مجبور بودم برای دریافت رویدادهایی که مد نظرم بود واسش یه هوک بنویسم وقتی رویداد رو به onmouseup تغییر دادم کد اجرا شد
ممنون جناب crazyfull
من چون کدم رو در رویدادonclick مینوشتم اجرا نمیشد واسه همین مجبور بودم برای دریافت رویدادهایی که مد نظرم بود واسش یه هوک بنویسم وقتی رویداد رو به onmouseup تغییر دادم کد اجرا شد
به نظر شماچرا رویداد on click به برنامه اصلی ارسال نمیشه ولی رویدادon mouse up به برنامه اصلی ارسال میشه؟
نميدونم، به اين مسئله هم فکر نکردم
صفحه‌ها: 1 2