
ساخت آبجکت با تعریف رویداد !!
ایجاد آبجکت .خوب در این قسمت باید از تابعی که به نام CreateWindowEx ایجاد کردیم استفاده کنیم , در اینجا شما میتونید شکل آبجکت تون رو درست کنید , پس میریم سراغ کدها
کد:
کدها فقط برای اعضا قابل رویت هستند.اگر در سایت عضو هستید از
اینجا وارد شوید ، در غیر اینصورت
عضو شوید
کدهای بالا چی هستند و به چه کاری می آیند ؟؟ شما باید اون تابع CreateWindowEx روکه در پست قبلی تعریف کردیم در Global Function تعریف میکردید که به احتمال
100% این کار رو از قبل انجام دادید , اما خوب باید اون تابع رو در یه جایی مثل قسمت On Show فراخوانی کنید , که میتونید کدهای بالا رو در On Show کپی کنید , ,ولی ما قصد داشتیم که هندل یه آبجکت به عنوان مثال ListBox رو بگیریم و اونو به تابع ارسال کنیم تا مختصات و مشخصات و قیافه آبجکت جدید رو روش ست کنیم , که این کار هم در کدهای بالا انجام شده ,( فقط باید از قبل داخل پروژه آبجکتی که میخواهید هندلش رو بگیرید ایجاد کنید , در اینجا از ListBox استفاده شده ), در نهایت میمونه عباراتی مثل WS_CHILD و WS_VISIBLE و... که الان توضیح میدم کارشون چی هست !!
همونطور که قبلا هم توضیح دادم در پارامتر چهارم تابع CreateWindowEx میتونیم یک استایل استاندارد برای آبجکتمون تعریف کنیم , یعنی تعریف میکنیم از نظر شمایل و حتی ویژگی ها آبجکت مون باید چطوری باشه (اینجاست که اون راهنمای توابع ویندوز به کار میاد , البته میتونید از راهنمای پلاگین WinApi هم برای اطلاعات بیشتر از عملکرد این پارامتر استفاده کنید. برای تازه کارها بهتره که از همین راهنمای پلاگین استفاده کنند , شاید اون راهنمای دیگه کمی گیج کننده باشه, ولی کامل هست) , خوب حالا برای استفاده از این ثابت ها در ams باید مقدار هکس شون رو بدونیم و بعد اونو به دسیمال تبدیل کنیم تا بتونیم در تابع ازشون استفاده کنیم . که میبینید در کدهای بالا توسط تابع Math.HexToNumber این کار انجام شده . (اگر دقیقا متوجه نمیشید , اشکال نداره و دلسرد نشید چون با مثال ها و کدهایی که میزارم و بعد تحلیلشون میکنم یواش یواش یاد میگیرید , پس فکر نکنید که همه اینا رو باید از حفظ کنیم , فقط با تمرین زیاد میشه در این کار مهارت پیدا کرد).
از لینک زیر میتونید این ثابت ها که به صورت کلی تعریف شدن رو دانلود کنید و بعد هر کدوم رو که نیاز داشتید مثل کدهای بالا استفاده کنید .
لینک ها فقط برای اعضا قابل رویت هستند.اگر در سایت عضو هستید از اینجا وارد شوید ، در غیر اینصورت عضو شوید نگاهی به مقادیر اعمال شده در هنگام فراخوانی تابع CreateWindowEx :در پارامتر اول از مقدار صفر استفاده کردیم که , که به معنای حالت پیش فرض ویندوز می باشد . اما شما میتونید مقادیر دیگری رو هم وارد کنید و نتیجه کار رو ببینید.(
برای اینکه کار این پارامتر رو بفهمید میتونید وقتی مثال زیر رو دانلود کردید آرگومان اول تابع ساخت Status Bar رو یک بار روی صفر بزارید و نتیجه رو مشاهده کنید و یک بار روی یک )
در پارامتر دوم نام کلاسی که کنترل یا آبجکت قرار هست از روی اون ساخته بشه رو بیان کردیم "BUTTON" , (می تونید از این کلاس ها هم استفاده کنید : BUTTON , COMBOBOX , EDIT , LISTBOX , SCROLLBAR , MDICLIENT , STATIC) و...
در پارامتر سوم یک نام برای آبجکت مون نوشتیم . "Button Object"
در پارامتر چهارم هم از اون ثابتهایی که در بالا توضیح دادم استفاده کردیم.(Estilo) ( زمانی که نام کلاس رو تغییر میدهید , این قسمت هم باید مطابق با خوصیات اون کلاس تنظیم بشه) , ( انشاالله بعدا یه لیست از این ثابت ها و کارهر کدامشون رو درست میکنم و قرار میدم).
پارامترهای 8و7و6و5 هم که تابلو هستند.(البته لازم به ذکر هست که مقادیر این پارامترها برابر با مختصات و اندازه آبجکتی هست که هندلش رو میگیریم , پس حتما میزان طول وعرض برابر با آبجکت روی صفحه باشه و x,y هم صفر)
پارامتر نهم هم که از هندل آبجکت لیست باکس استفاده میکنه.( HwndLisB )
پارامترهای بعدی هم که باهاشون کاری نداریم و از مقدار پیش فرض یا همون صفر استفاده میکنند.
خوب برای اینکه یه مقدار تنوع ایجاد بشه و مدل های کاری دیگه این تابع قدرتمند رو ببینید , و همچنین نحوه مقدار دهی به پارامترهاش دست تون بیاد میتونید مثال زیر رو دانلود کنید :
توجه : کلیه مثال های این تاپیک با نسخه 7.5 اتوپلی همخوانی دارند . لینک ها فقط برای اعضا قابل رویت هستند.اگر در سایت عضو هستید از اینجا وارد شوید ، در غیر اینصورت عضو شوید در سری بعدی هم انشالله نحوه تعریف ویژگی ها رو آموزش میدم ....