error میده. دلیلش هم به خاطر اینه که من تو فایل rc به صورت رشته icon رو تعریف کردن نه عدد ثابت. نمی تونم بفهمم مشکل از کجاست!نوشته شده توسط hoax3r [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
error میده. دلیلش هم به خاطر اینه که من تو فایل rc به صورت رشته icon رو تعریف کردن نه عدد ثابت. نمی تونم بفهمم مشکل از کجاست!نوشته شده توسط hoax3r [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
hoax3r عزیز خیلی ممنون مشکل از نوع cursor ی بود که درست کردم. حل شد.
خوب خوشحالم مشکلتون حل شد، به جواب رسیدین زودتر از من پست دادین ، پستمو ویراش کردم
شاد باشید
Last edited by hoax3r; 13-08-2008 at 00:17.
یه منو درست کردم و می خوام هر وقت exit رو زدم خارج بشه. این کد رو تو قسمت winproc() نوشتم:
حالا سوالم اینه که چرا باید پارامتر wparam رو با استفاده از LOWORD به نوع WORD تبدیل کنیم.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ماکروی LOWORD مثل تابع عمل میکنه؟
وقتی پیام WM_COMMAND صدا زده میشه، برایه اینکه بفهمیم کاربر چه کنترلی یا منویی رو زده باید مقدارنوشته شده توسط amsjavan [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
wParam این پیام رو برسی کنیم. مقدار wParam یک مقدار DWORD هست یا دو تا WORD
این دو تا WORD یکی رو با ارزش یکی رو هم کم ارزش میگن.
قسمت کم ارزش شناسه اون کنترل یا منو هست مثل MENU_FILE_ID_EXIT و
بخش با ارزش رخدادی (notification) که اتفاق افتاده رو مشخص میکنه مثل کلیک کردن و ...
ماکرو های LOWORD و HIWORD هم این مقادیر کم ارزش و با ارزش رو از یک مقدار dword میگیرن
این دو تا ماکرو به این صورت تو فایل windef.h تعریف شدن
موقعی که کامپایلر تو کد به یه ماکرو برسه اونو رو با عبارتی که براش تعریف شده جایگزین میکنهکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
شاد باشید
خیلی ممنون از توضیحات بسیار خوبتون.نوشته شده توسط hoax3r [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
تو تعریفش نوشته که فقط DWORD رو به WORD تبدیل می کنه. حالا از کجا می فهمه که کدوم با ارزشه و کدو کم ارزش؟ با این تعریف فقط یکی شو می شه فهمید. منظورم اینه که توی یک متغیر چه جوری دو حالت ذخیره می شه؟
خوب برای فهمیدن این موضوع بهتر اینجور بگیم، یه مقدار DWORD رو اگر بصورت یک عدد هگزادسیمال بخوایم نشون بدیم
نهایتش عدد FFFFFFFF هست هشتا F به این صورت که چهار رقم سمت چپ که یه مقدار WORD هست رو با ارزش و چهار رقم سمت راست رو کم ارزش میگن
حالا که موقعیت کلمه کم ارزش و با ارزش رو میدونیم می تونیم با یکسری از دستورات این دو رو تفکیک کنیم
اگه به تعریف ماکرو ها دقت کنیم، برای کلمه کم ارزش این مقدار تعریف شدهکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این چی میگه؟ یه مقدار DWORD (همون L کوچیک که داخل پرانتز) هست رو با مقدار ffff که یک مقدار هگز هست عمل AND رو روش انجام بده ( این عمل با & مشخص شده)کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مثال عدد 1234ABCD رو اگه با FFFF این عمل رو انجام بده نتیجه
نتیجه کلمه کم ارزش میشهکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و برای کلمه با ارزش این ماکرو هست
اینجا مقدرا DWORD به اندازه 16 بیت (یا 4 بایت) به سمت راست اصطلاحا شیفت یا جابجا میشهکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
پس برای مثال قبل اینجور میشه
اینجوری این دوتا از هم جدا میشن، اگه با دو تا عملوند & و << بیشتر آشنا بشین خیلی کمکتون میکنهکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
شاد باشید
Last edited by hoax3r; 19-08-2008 at 10:00.
سلام شرمنده که این سوال رو اینجا مطرح می کنم ولی خیلی عجلادارم می خام یه لپ تاپ بخرم برای برنامه نویسی (از برنامه های سطح متوسط مثل c/ c++/java تابرنامه های سطح بالا).
می خواستم بدونم تمام برنامه ها هموشون در محیط xp-vista بدون مشکلی ایجاد میشوند ومشکلی درحین نوشتن برنامه
پیش نمی یاد یاباید حتما لپ تاپی راانتخاب کنم که بتونه linux-dos-98 رو ساپورت کنه؟
پیشاپیش متشکرم.
hoax3r عزیز خیلی خیلی ممنون. خیلی قشنگ و جامع توضیح دادید. حیفم اومد فقط دکمه تشکر رو بزنم.
باز هم سوال
یه برنامه نوشتم که باید عرض مستطیل رو زیاد کنه و زیاد شدنش رو به صورت انیمیشن تو صفحه نشون بده.
این کد قسمت حلقه اصلی برنامه است:
حالا سوالم اینه که چرا وقتی تو این قسمت می نویسم اول پردازش رو کامل انجام می ده بعد رسم می کنه. در صورتی که می خواستم همزمان با پردازش رسم هم انجام بشه. مگه این قسمت یه حلقه بلادرنگ نیست؟کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)