نمایش نتایج 1 تا 8 از 8

نام تاپیک: چند تا سؤال در مورد ویژوال سی

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1384
    محل زندگی
    تهران
    سن
    35
    پست
    83

    چند تا سؤال در مورد ویژوال سی

    با سلام خدمت همه اساتید محترم
    من ویژوال سی را تازه شروع کرده‌ام و زیاد بلد نیستم. چند تا سؤال ساده دارم که از دوستان خواهشمندم کمکم کنند.

    1) برای بستن برنامه در ویژوال سی باید چه دستوری بنویسیم؟ یعنی فرض کنید می‌خواهیم برای مورد Exit در منوی File کد بنویسیم.
    2) برای تغییر ابعاد فرم باید چکار کنیم؟ (برنامه از نوع Dialog Based است.)
    3) نوع BOOL با نوع bool و همچنین TRUE و FALSE با true و false چه تفاوتی دارند؟ آیا مثلاً در تابعی که متغیری از نوع BOOL می‌خواهد، می‌توانیم true یا false بنویسیم؟
    4) چگونه می‌توانیم محدوده تابع rand() را کنترل کنیم؟ مثلاً من می‌خواهم فقط اعداد صحیح تصادفی در بازه 10 تا 30 تولید کنم!
    5) فرض کنیم یک تصویر Bitmap در ویژوال سی با نام IDB_BITMAP1 داریم. چگونه می‌توانیم این تصویر را در مختصات مشخصی در روی پنجره محاوره رسم کنیم؟ (برنامه از نوع Dialog Based است.)
    6) چگونه می‌توانیم یک تصویر Bitmap را که در ویژوال سی هست هنگام برنامه‌نویسی به چند تقسیم کنیم. مثلاً می‌خواهم چند تا تصویری را که برای دکمه‌های تولبار در نظر گرفته‌ام به همدیگر بچسبانم و به عنوان یک عکس وارد ویژوال سی کنم. بعد هنگام اجرای برنامه عکس رو به چند قسمت تقسیم کنم و روی دکمه‌ها بذارم.

    یک سؤال هم در مورد Visual C++‎.Net داشتم:

    1) وقتی برای یک پنجره محاوره، زبان فارسی و یا Farsi را انتخاب می‌کنم، کلمات درست نشان داده نمی‌شوند و به صورت علامت سؤال در می‌آیند. حتی وقتی زبان Arabic را انتخاب می‌کنم، باز هم مشکل وجود دارد. راه حل چیست؟

    منتظر کمک دوستان هستم.

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1384
    محل زندگی
    تهران
    سن
    35
    پست
    83
    ای بابا! جون من یکی بیاد کمکم کنه. آخه این سؤال‌ها که من پرسیدم سخت نیستن که

    منتظر توجه دوستان هستم

  3. #3
    1. http://msdn.microsoft.com/library/de...s/wm_close.asp
    2. http://msdn.microsoft.com/library/de...movewindow.asp
    3. BOOL در ++VC ، در wtypes.h به صورت typedef long BOOL; و در windef.h به صورت typedef int BOOL; تعریف شده، ولی bool نوع primitive زبان ++C هست. می شه اون دو تا رو به هم cast کرد. ولی در ++VC یه warning می گیری که به علت اختلاف اندازه این دو نوعه. البته اگه اذیتت می کنه، می تونی اونو با pragma warning غیر فعال کنی.
    4. min + (max - min) * rand() / (double)RAND_MAX + 1.0
      این روشیه که من معمولا کار می کنم.
    5. و
    6. در هر دوی این موارد راحت ترین راه اینه که با LoadBitmap اونو Load کنید، بعد با SelectObject اونو وارد یه DC کنید، بعد با BitBlt تمام یا بخشی از اونو به DC مقصد کپی کنید.
    در مورد زبان هم مشکل من با تغییر locale پیش فرض ویندوز به ایران و فارسی حل شد.

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1384
    محل زندگی
    تهران
    سن
    35
    پست
    83
    خیلی ممنونم دوست عزیز.

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1384
    محل زندگی
    تهران
    سن
    35
    پست
    83
    یک سؤال دیگه هم داشتم که امیدوارم دوستان کمک کنند.

    در ویژوال سی باگی وجود دارد که وقتی برای یک کادر محاوره مورد Right to left layout رو فعال می‌کنیم، خود وی‌سی ثابت WS_EX_LAYOUT_RTL را به ویژگی‌های فرم در فایل rc اضافه می‌کند. ولی هنگام کامپایل کردن خطا می‌دهد که این عبارت ناشناخته است.

    من خودم در اینترنت جستجو کردم و بالاخره یافتم که برای حل این مشکل می‌توانیم عبارت زیر را در فایل rc بنویسیم تا مشکل حل شود:
    #define WS_EX_LAYOUT_RTL 0x00400000L


    ولی این روش هم یک مشکلی دارد و آن هم این که هنگامی که یک resource جدیدی به پروژه اضافه می‌کنیم و وی‌سی فایل rc را ویرایش می‌کند، کد اضافه شده ما را حذف می‌کند و بنابراین هر دفعه مجبوریم آن را بنویسیم.

    حالا آیا راه حل بهتری برای این مشکل وجود دارد؟

  6. #6
    سلام،
    اولا شما این ثابت رو در یه هدر فایل تعریف کنید، چون همونطور که خودتون هم فرمودین ویژوال سی خودش فایل rc رو بر می گردونه به یه شکل استاندارد.
    بعدش هم ممکنه بدونم شما در چه نسخه ای کار می کنید؟ در ویژوال استودیو 2003 برای من به سادگی کامپایل می شه. البته تا اونجایی که یادم میاد در ویژوال استودیو 6 کامپایل نمیشد.

  7. #7
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1384
    محل زندگی
    تهران
    سن
    35
    پست
    83
    باز هم ممنونم از کمکتون.
    من از ویژوال استودیو 6 استفاده می‌کنم. البته می‌خوام بعد از این از Visual C++‎.Net استفاده کنم.

  8. #8

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •