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

نام تاپیک: سوال در مورد خاصیت hDC

  1. #1

    سوال در مورد خاصیت hDC

    سلام
    hDC () Handle Dievice Context
    چیه و چه کاربردی در ترسیم اشیاء گرافیکی داره
    با تشکر

  2. #2
    کاربر دائمی آواتار رافعی مهدی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    Sydney
    سن
    40
    پست
    272

    نقل قول: سوال در مورد خاصیت hDC

    سلام

    همانطور که میدانید، علاوه بر خود فرم، هر یک از کنترلهای روی آن نیز دارای یک دستگیره (Handle) هستند. به جز این، برای رسم هر کنترل نیاز به چیزی است که محتوای گرافیکی آن کنترل بر روی آن ترسیم و نمایش داده شود که Device Context یا به اختصار DC آن کنترل نامیده میشود. DC نیز مشابه با کنترل، دارای یک Handle میباشد. به طور معمول، در برنامه های تحت Net. برخلاف برنامه هایی که به زبان Native نوشته میشدند، برنامه نویس با این Handle ها درگیر نمیشود. در Net. به جای کار با یک DC، کلاس System.Drawing.Graphics در نظر گرفته شده است. (هنگامی که جاوا معرفی شد، این صفحه ترسیم نامرئی که بر روی کنترل کشیده شده است را Canvas نامید و به همین دلیل در برخی موارد از DC به عنوان Canvas یاد میشود.) این کلاس متدهای مناسبی را برای کارهای گرافیکی در اختیار قرار میدهد که بحث کردن در مورد آنها از موضوع این تاپیک خارج است.

    به هر حال، شما میتوانید از راههای مختلفی به کلاس گرافیک دست پیدا کنید که هر یک کاربرد مختص به خود را دارد. در اینجا تنها به چهار روش اشاره میشود:
    1- از طریق رخداد Paint یک کنترل، به آرگومانی از جنس کلاس PaintEventArgs دست پیدا کرده و با استفاده از این آرگومان، به پراپرتی Graphics آن کنترل برسید.
    2- تمام کنترلها (از جمله یک فرم) دارای متدی به نام CreateGraphics هستند که مقدار بازگشتی آن Graphics آن کنترل میباشد.
    3- تمام کنترلها دارای پراپرتی Handle میباشند. یک متد static در این کلاس به نام Graphics.FromHwnd وجود دارد که دستگیره یک کنترل را گرفته و گرافیک آن را برمیگرداند.
    4- با استفاده از یک تابع API به نام GetDC میتوان به hDC یک کنترل دست یافت و به کمک متد static دیگری به نام Graphics.FromHdc، گرافیک آن را در اختیار گرفت.
    5- ...

    موفق باشید.

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

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