سلام،
چند تا سوال موقع برنامه نویسی با VisualC++ برام پیش اومده، لطف بزرگی میکنید اگه جواب بدید:
1- میخوام برای یک پروژه dialogbase رویداد کیبورد رو روی دیالوگ فعال کنم ولی روی دایالوگم کنترلهای دیگری مثل buttons & Editbox & etc موجوده و نمیذاره تا رویداد کیبورد فراخونی بشه، راه حلی براش هست؟
2- در ضمن رویداد کیبورد همیشه حروف را بزرگ دریافت میکند. به عنوان مثال چه کپسلاک روشن باشه چه نباشه دکمه a کیبورد رو A دریافت میکنه.
3- یک پروژه single document ساختم و میخواهم هم قابلیت رسم اشکال و نمودارها از طریق برنامه روی داکیومنتم داشته باشم و هم اینکه بتونم کنترلهای مختلف از جمله button روی اون قرار بدم. این کارهایی که به ذهنم رسید اینطوری بود: اگه baseclass رو از نوع CFormView انتخاب میکردم رویدادی مثل OnDraw پیدا نکردم که بتونم از طریق برنامه نمودارها و اشکال موردنظرمو رسم کنم با اینکه میتونستم به راحتی کنترلهای مختلف روی document قرار بدم. و اگه baseclass رو از نوع CView انتخاب میکردم نمیتونستم روی document کنترلهای مختلف قرار بدم. بنابراین دو تا سوال برام پیش اومد، یکی اینکه اگه بیس از نوع CView میباشه چطوری میتونم خودم کنترلی مثل CButton ایجاد کنم و نمایشش بدم و از رویدادهای اون استفاده کنم و اگه بیس از نوع CFormView باشه، چه رویداد و تابعی هنگام تغییر وضعیت پنجره فراخونی میشه مثل ondraw؟
4- یک سوال بزرگ دیگه اینکه تمامی کنترلها و پنجره ها و دایالوگها خود نوعی شی هستند ولی این رویدادهایی که روی این شیئها اتقاق میفته رو نمیفهمم. یعنی چطور متوجه میشه که همچین رویدادی روی این شیء اتقاق افتاده؟ آیا به WindowsMessage ربطی داره؟ برنامه نویس میتونه خودش یک رویداد برای یک شیء بسازه؟
چند تا سوال موقع برنامه نویسی با VisualC++ برام پیش اومده، لطف بزرگی میکنید اگه جواب بدید:
1- میخوام برای یک پروژه dialogbase رویداد کیبورد رو روی دیالوگ فعال کنم ولی روی دایالوگم کنترلهای دیگری مثل buttons & Editbox & etc موجوده و نمیذاره تا رویداد کیبورد فراخونی بشه، راه حلی براش هست؟
2- در ضمن رویداد کیبورد همیشه حروف را بزرگ دریافت میکند. به عنوان مثال چه کپسلاک روشن باشه چه نباشه دکمه a کیبورد رو A دریافت میکنه.
3- یک پروژه single document ساختم و میخواهم هم قابلیت رسم اشکال و نمودارها از طریق برنامه روی داکیومنتم داشته باشم و هم اینکه بتونم کنترلهای مختلف از جمله button روی اون قرار بدم. این کارهایی که به ذهنم رسید اینطوری بود: اگه baseclass رو از نوع CFormView انتخاب میکردم رویدادی مثل OnDraw پیدا نکردم که بتونم از طریق برنامه نمودارها و اشکال موردنظرمو رسم کنم با اینکه میتونستم به راحتی کنترلهای مختلف روی document قرار بدم. و اگه baseclass رو از نوع CView انتخاب میکردم نمیتونستم روی document کنترلهای مختلف قرار بدم. بنابراین دو تا سوال برام پیش اومد، یکی اینکه اگه بیس از نوع CView میباشه چطوری میتونم خودم کنترلی مثل CButton ایجاد کنم و نمایشش بدم و از رویدادهای اون استفاده کنم و اگه بیس از نوع CFormView باشه، چه رویداد و تابعی هنگام تغییر وضعیت پنجره فراخونی میشه مثل ondraw؟
4- یک سوال بزرگ دیگه اینکه تمامی کنترلها و پنجره ها و دایالوگها خود نوعی شی هستند ولی این رویدادهایی که روی این شیئها اتقاق میفته رو نمیفهمم. یعنی چطور متوجه میشه که همچین رویدادی روی این شیء اتقاق افتاده؟ آیا به WindowsMessage ربطی داره؟ برنامه نویس میتونه خودش یک رویداد برای یک شیء بسازه؟


MFC