امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ساختن یک پنچره
نویسنده پیام
CRazYFULL غایب
مدیر بازنشسته
*****

ارسال‌ها: 792
موضوع‌ها: 27
تاریخ عضویت: تير ۱۳۸۵

تشکرها : 1546
( 2836 تشکر در 593 ارسال )
ارسال: #12
RE: ساختن یک پنچره
اگه ميخوای شی به صفحه مورد نظر وارد کنی ميتونی از تابع 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]
۰۱-بهمن-۱۳۸۶, ۰۶:۰۳:۰۱
ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #13
RE: ساختن یک پنچره
با سلام
جوابهاتونو رو تازه دیدیم ساخت یه button روی پنجره دیگه راحته ولی مدیریت و کنترل رویداد برای اون مشکله
شما چطور رویدادها رو برای اون edit و button که رو اکسپلورر قرار دادین روکنترل میکنین؟
۰۳-بهمن-۱۳۸۶, ۱۲:۵۷:۲۳
وب سایت ارسال‌ها
پاسخ
CRazYFULL غایب
مدیر بازنشسته
*****

ارسال‌ها: 792
موضوع‌ها: 27
تاریخ عضویت: تير ۱۳۸۵

تشکرها : 1546
( 2836 تشکر در 593 ارسال )
ارسال: #14
RE: ساختن یک پنچره
من Button نساختم بلکه Button فورم برنامه خودم رو به پنجره اکسپلورر منتقل کردم.
و تمام رويدادها هم داخل فورم اصلی برنامه انجام ميشه.
۰۳-بهمن-۱۳۸۶, ۱۳:۱۷:۲۴
ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #15
RE: ساختن یک پنچره
وقتی از setparent استفاده میکنین پرنت اون دکمه از فورم برنامتون منتقل میشه به اکسپلورر در این حالت پیغامهای دکمه دیگه به برنامتون ارسال نمیشه بلکه به پرنت جدید خودش یعنی اکسپلورر ارسال میشه
۰۳-بهمن-۱۳۸۶, ۱۹:۳۱:۲۴
وب سایت ارسال‌ها
پاسخ
CRazYFULL غایب
مدیر بازنشسته
*****

ارسال‌ها: 792
موضوع‌ها: 27
تاریخ عضویت: تير ۱۳۸۵

تشکرها : 1546
( 2836 تشکر در 593 ارسال )
ارسال: #16
RE: ساختن یک پنچره
lord_viper نوشته است:وقتی از setparent استفاده میکنین پرنت اون دکمه از فورم برنامتون منتقل میشه به اکسپلورر در این حالت پیغامهای دکمه دیگه به برنامتون ارسال نمیشه بلکه به پرنت جدید خودش یعنی اکسپلورر ارسال میشه

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

[تصویر:  pm-ms13.gif]
۰۳-بهمن-۱۳۸۶, ۱۹:۵۳:۰۹
ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #17
RE: ساختن یک پنچره
میتونین اون تیکه کدی رو که واسه این قسمت نوشته بودین رو اینجا قرار بدین؟
(چون وقتی setparent که میشه parent اونbutton عوض میشه و دریافت و ارسال message های مربوط به button به parent جدید منتقل میشه)
من قبلا کاری شبیه به اینو انجام داده بودم وبرای فهمیدن کلیک شدن روی اون منویی که به یه برنامه اظافه کرده بودم براس یه mousehook نوشتم
الانم اگه اصرار میکنم بخاطر اینه که اون موقع من دنبالش گشتم ولی چیز بهتری پیدا نکردمQuestion
۰۴-بهمن-۱۳۸۶, ۰۰:۱۴:۱۳
وب سایت ارسال‌ها
پاسخ
CRazYFULL غایب
مدیر بازنشسته
*****

ارسال‌ها: 792
موضوع‌ها: 27
تاریخ عضویت: تير ۱۳۸۵

تشکرها : 1546
( 2836 تشکر در 593 ارسال )
ارسال: #18
RE: ساختن یک پنچره
اين هم يه کد خيلی ساده البته به زبان VB
۰۴-بهمن-۱۳۸۶, ۱۱:۱۵:۰۳
ارسال‌ها
پاسخ
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #19
RE: ساختن یک پنچره
عالی بود جناب CrazyFull

۰۴-بهمن-۱۳۸۶, ۱۲:۲۵:۲۴
وب سایت ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #20
RE: ساختن یک پنچره
ممنون جناب crazyfull
من چون کدم رو در رویدادonclick مینوشتم اجرا نمیشد واسه همین مجبور بودم برای دریافت رویدادهایی که مد نظرم بود واسش یه هوک بنویسم وقتی رویداد رو به onmouseup تغییر دادم کد اجرا شد
۰۴-بهمن-۱۳۸۶, ۱۷:۴۶:۱۹
وب سایت ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #21
RE: ساختن یک پنچره
ممنون جناب crazyfull
من چون کدم رو در رویدادonclick مینوشتم اجرا نمیشد واسه همین مجبور بودم برای دریافت رویدادهایی که مد نظرم بود واسش یه هوک بنویسم وقتی رویداد رو به onmouseup تغییر دادم کد اجرا شد
به نظر شماچرا رویداد on click به برنامه اصلی ارسال نمیشه ولی رویدادon mouse up به برنامه اصلی ارسال میشه؟
۰۴-بهمن-۱۳۸۶, ۱۷:۵۱:۵۰
وب سایت ارسال‌ها
پاسخ
CRazYFULL غایب
مدیر بازنشسته
*****

ارسال‌ها: 792
موضوع‌ها: 27
تاریخ عضویت: تير ۱۳۸۵

تشکرها : 1546
( 2836 تشکر در 593 ارسال )
ارسال: #22
RE: ساختن یک پنچره
نميدونم، به اين مسئله هم فکر نکردم
۰۴-بهمن-۱۳۸۶, ۱۹:۱۹:۰۴
ارسال‌ها
پاسخ


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS