View Full Version : راهنمایی برای شروع کار با ویژوال سی++
modirmasool
چهارشنبه 01 دی 1389, 12:19 عصر
سلام دوستان
من خیلی گیج شدم! میخواستم ببینم چطوری باید با ویژوال سی++ برنامه هایی برای ویندوز نوشت. دقیقا مثل بقیه زبون های دات نت؟ من هم windows form application رو امتحان کردم و هم MFC Application ولی هیچ شباهتی با سی شارپ و ویبی ندارن! الان توی windows form application فرض کنین یه Button گذاشتیم، حالا چطوری باید با برنامه نویسی توی روال دکمه مون، کاری کنیم که عنوانش عوض شه؟
توی زبون های دیگه دات رو که میزنی خودش لیست خواص رو میاره ولی اینجا اصلا اینجوری نیست:گریه: من تو یه کتاب آموزشی خوندم که نوشته بود باید از <- استفاده بشه ولی هرکار کردم نتونستم عملی اش کنم:گریه:
خلاصه دوستان ممنون میشم با توجه به اینکه با ویبی.نت و سی شارپ آشنایی دارم، تفاوت های اولیه رو بهم بگین تا بتونم برنامه ویندوزی بنویسم.:قلب:
ممنون
mehdi.mousavi
چهارشنبه 01 دی 1389, 12:51 عصر
سلام دوستان من خیلی گیج شدم! میخواستم ببینم چطوری باید با ویژوال سی++ برنامه هایی برای ویندوز نوشت. دقیقا مثل بقیه زبون های دات نت؟ من هم windows form application رو امتحان کردم و هم MFC Application ولی هیچ شباهتی با سی شارپ و ویبی ندارن! الان توی windows form application فرض کنین یه Button گذاشتیم، حالا چطوری باید با برنامه نویسی توی روال دکمه مون، کاری کنیم که عنوانش عوض شه؟ توی زبون های دیگه دات رو که میزنی خودش لیست خواص رو میاره ولی اینجا اصلا اینجوری نیست:گریه: من تو یه کتاب آموزشی خوندم که نوشته بود باید از <- استفاده بشه ولی هرکار کردم نتونستم عملی اش کنم:گریه: خلاصه دوستان ممنون میشم با توجه به اینکه با ویبی.نت و سی شارپ آشنایی دارم، تفاوت های اولیه رو بهم بگین تا بتونم برنامه ویندوزی بنویسم.:قلب: ممنون
سلام.
یکی از خوبی های زبان C/C++ این هستش که حتی با IDE های پیشرفته نیز، نیاز به داشتن اطلاعات پایه ای برای نوشتن دو خط کد دارید، و الا، کاری از پیش نخواهید برد. شما نمی تونید C# (یا بقول خودتون بقیه زبانهای .NET ای) رو با C/C++ مقایسه کنید. اینجا باید بدونید که چی، چطوری کار میکنه و بدون داشتن این اطلاعات نمیتونید Caption یک Button رو تغییر بدید. اینجا عملکرد IntelliSense محدود هستش و بسته به شرایط، ممکنه Method های یک Object رو بهتون نشون بده، ممکنه نشون نده. در حقیقت نباید روش حساب باز کنید. همین جریان . یا <- هم در زبان C/C++ معنا و معنی خاصی داره و باید بدونید از چی، کجا، کی، به چه شکل و برای چی استفاده کنید. در غیر اینصورت هر یک تکونی که بخورید عین این میمونه که در باتلاق بیشتر فرو برید به نحوی که بیرون اومدن ازش سخت تر میشه.
اما اینها رو نگفتم که بترسونمتون. برای شروع، می تونید پس از آشنایی کامل با زبان C/C++، کتاب Charles Petzold رو مطالعه کنید (Windows Programming) تا برای نوشتن برنامه در Windows آماده بشید. برای کار بار MFC نیز میتونید به کتب Jeffrey Richter و ... مراجعه کنید. اما قبل از این دو، یکی دو کتاب خوب در مورد C/C++ مطالعه کنید، که بدون دونستن اون، هرگز MFC یا Win32 براتون کارایی لازم رو نخواهد داشت.
موفق باشید.
modirmasool
چهارشنبه 01 دی 1389, 13:02 عصر
خیلی ممنون آقای موسوی
راستش من الان داشتم توی تالارهای دیگه یه چرخی میزدم چشم به فریم ورک Qt هم خورد. میشه راهنمایی کنین که با کدومشون کار کنم و اینکه آیا این برداشتم در مورد MFC درسته که MFC شامل کتابخونه های مختلف ویندوزه؟ پس اون Windows Form Application چیه؟ الان این دوتا چه فرقی با هم دارن؟
راستی ممنون میشم برای این که یکم نمونه کد ویژوال رو دیده باشم، کد مثلا عوض کردن کپشن یه دکمه رو بهم بگین.:لبخند:
خیلی ممنون
mehdi.mousavi
پنج شنبه 02 دی 1389, 13:43 عصر
سلام.
خیلی ممنون آقای موسوی راستش من الان داشتم توی تالارهای دیگه یه چرخی میزدم چشم به فریم ورک Qt هم خورد. میشه راهنمایی کنین که با کدومشون کار کنم
من با Qt آشنایی ندارم، اما در همین حد که اطلاع دارم بسیاری از افراد Qt معماری Qt رو برتر از MFC میدونن. (اگر چه MFC در زمان خودش، بسیار هوشمندانه درست شده بود). بنابراین بهتره تا از همین ابتدا، یه تحقیق درست و حسابی در این باره کنید، بعد خودتون رو در یکی از این دو Framework غرق کنید. :)
آیا این برداشتم در مورد MFC درسته که MFC شامل کتابخونه های مختلف ویندوزه؟
MFC، رو می تونید Wrapper ای برای Win32 در نظر بگیرید که کار کردن با Win32 رو به شکل Object Oriented در آورده. با این حال، MFC برای بسیاری از امکاناتی که در Win32 عرضه میشه، راه حلی نداره و این به این معناست که خودتون در صورت نیاز، باید Class های مورد نیازتون رو برای Encapsulate کردن فلان Win32 API ها بنویسید.
پس اون Windows Form Application چیه؟ الان این دوتا چه فرقی با هم دارن؟
Windows Forms Application واژه ای بودش که با ظهور .NET بوجود اومد. برنامه ای که بدین شکل ایجاد بشه از C++/CLR استفاده خواهد کرد و دیگه Native نیست (اگر چه میتونه Mixed باشه). به بیان دیگه، شما میتونید با C++/CLR معادل همون کدی رو بنویسید که در C# می نویسید، چرا که کد IL تولید شده توسط هر دو یکسان خواهد بود. اما عموما کسی حاضر نیست پیچیدگی Extension های زبان C++ رو برای نوشتن کد Managed فرا بگیره، وقتی که انتخاب بهتری (C#) وجود داره.
راستی ممنون میشم برای این که یکم نمونه کد ویژوال رو دیده باشم، کد مثلا عوض کردن کپشن یه دکمه رو بهم بگین
یک روش این هستش:
CWnd* pWndOK = GetDlgItem(IDOK);
pWndOK->SetWindowText(_T("My Caption"));
اینجا، من بر اساس ID ی اون Button (که کلید OK رو نشون میده)، به Handle اون کلید میرسم و با متود SetWindowText عنوانش رو به My Caption تغییر میدم.
روش دیگه Assign کردن یک متغیر Control ای (از نوع CButton) به اون کلید، تغییر DoDataExchange و ... که خوب، تو این حالت کد شما چیزی شبیه این میشه:
m_btnOK.SetWindowTextW(_T("New Caption"));
موفق باشید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.