تماس با من
پروفایل من
نویسنده (های) وبلاگ محسن
آدرس های سایت WWW.SPeeDG.SUB.IR WWW.SPeeDG.PERSIANBLOG.IR آرشیو وبلاگ
      گروه برنامه نویسی اسپید (مرکز آموزش توابع API)
کار با توابع DC نویسنده: محسن - یکشنبه ۱٦ امرداد ۱۳٩٠

توضیح آسان توابع DC:  ما با توابع DC میتونیم هرجای صفحه نمایش به ترسیم متن, شکل و خط بپردازیم و برای این ترسیم دو راه داریم یک راه ایجاد کردن یک صفحه جدید روی همه صفحات صفحه نمایش و ترسیم روی آن با استفاده از تابع CreateDC و راه دیگر ترسیم روی یکی از پنجره های ویندوز با بدست آوردن دستگیره پرده زمینه یا hdc آن با استفاده از تابع GetDC که دستگیره یک محیط رو میگیره و دستگیره پرده زمینه اون رو میده. روش گرفتن دستگیره محیط قبلا در اینجا توضیح داده شده.

در این مثال قصد داریم متنی رو روی صفحه نمایش با استفاده از توابع DC ترسیم کنیم.

ابتدا با استفاده از تابع CreateDC یک DCیی جدیدی ایجاد میکنیم که خروجی آن یک دستگیره پرده زمینه جدید است.

 Private Declare Function CreateDC Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String, lpInitData As DEVMODE) As Long

سه آرگومان اول از نوع رشته بوده و آرگومان اول با Display مقدار دهی میشود و دو آرگومان دیگر vbNullString میگیرند. آرگومان آخر هم از نوع ساختار DEVMODE میباشد (ساختار در مثالی که برای دانلود گذاشته شده وجود دارد) که برابر با صفر است.

سپس با استفاده از تابع DrawText یک متن روی صفحه نمایش مینویسیم.

Private Declare Function DrawText Lib "user32" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long

آرگومان اول همان دستگیره پرده زمینه که در تابع قبلی بدست آوردیم رو میگیره. آرگومان دوم متنی است که میخواهیم نمایش دهیم است و آرگومان سوم تعداد کاراکترهایی است که میخوایم نمایش دهیم که اگه 1- باشه تمامی کاراکتر ها نمایش داده میشه. آرگومان چهارم یک ساختار است که محل نمایش متن رو مشخص میکنه (ساختار در مثالی که برای دانلود گذاشته شده وجود دارد). آرگومان چهارم نوع نمایش متن است که گزینه های متفاوت زیادی داره. اگه کسی از دوستان خواست بیشتر با این گزینه ها آشنا بشه در نظرات بنویسید که به ایمیلتون بفرستم.

حالا متن نمایش داده میشه برای اینکه پرده زمینه رو از حافظه خارج کنیم از تابع DeleteDC استفاده میکنیم.

 Private Declare Function DeleteDC Lib "gdi32" Alias "DeleteDC" (ByVal hdc As Long) As Long

تنها آرگومان این تابع دستگیره پرده زمینه است.

برای آشنایی بیشتر حتما به ادامه مطلب رفته و نمونه کار را دانلود کنید.


توابع API

لینک      نظرات ()      

مطالب اخیر پست ویژه هفت پروژه ویژوال بیسیک پروژه ادیتور متن با ++C تابع API برای فوکوس کردن روی یک پنجره تابع API برای تغییر زبان تابع API برای باز کردن یک مسیر نسخه جدید فرم ورود تابع API برای تنظیم کردن مکان یک پنجره تابع API برای تشخیص وضعیت یک کلید دانلود نرم افزار Borland C++ 5
کلمات کلیدی وبلاگ اکتیوایکس ویژوال بیسیک (۳) پروژه ++c (۱) پروژه ویژوال بیسیک (۱٦) توابع api (۳٤) نرم افزارهای برنامه نویسی (۳)
دوستان من آپارنت عمارنامه خرید اینترنتی پست های فوتونی