کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی
کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی

گرفتن یا تسخیر یک تصویر



می توان از یک Bitmap برای گرفتن یک تصویر استفاده  و تصویر گرفته شده را در حافظه ذخیره نموده ، آنرا در یک محل دیگر در پنجره اپلیکیشن یا سایر پنجره ها نمایش داد.


 در بعضی موارد ، ممکن است بخواهید اپلیکیشن تصاویر را گرفته  و موقت ذخیره کند. برای مثال زمانیکه به یک تصویر ایجاد شده در برنامه دراوینگ مقیاس می دهید یا زوم می کنید ، برنامه یا اپلیکیشن باید موقتاً یک ویوی نرمال از تصویر ذخیره کند و نمای زوم شده را نمایش دهد. بعد ، زمانیکه کاربر ویوی نرمال را نتخاب می کند ، برنامه می بایست تصویر زوم شده را با یک کپی از ویوی نرمال جایگزین کرده تا آنرا موقتاً ذخیره نماید.


برای ذخیره موقت یک تصویر ، برنامه شما باید CreateCompatibleDC را برای ایجاد یک DC سازگار با DC پنجره جاری یا فعال فراخوانی کند. بعد از ایجاد یک DC سازگار ، می توان یک bitmap با ابعاد متناسب با فراخوانی  تابع CreateCompatibleBitmap ایجاد کرد و سپس آنرا به داخل DC با فراخوانی تابع SelectObject انتخاب کرد.


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


Device Context :

یک ساختار داده ویندوز است که حاوی اطلاعاتی در مورد ویژگیهای طراحی یک دستگاه مانند نمایشگر یا چاپگر است . همه فراخوانی طراحی از طریق یک شئ DC انجام می شوند ، که API های ویندوز را برای ترسیم خطوط ، اشکال و متن محصور می کند . DC های دستگاه امکان طراحی مستقل از دستگاه در ویندوز را فراهم می کند . DC های دستگاه را می توان برای کشیدن به صفحه ، چاپگر یا MetaFile استفاده کرد.




memDC = CreateCompatibleDC ( hDC );

memBM = CreateCompatibleBitmap ( hDC, nWidth, nHeight );

SelectObject ( memDC, memBM ); 










تابع EnumDisplayDevices این امکان را می دهد که اطلاعاتی در مورد دستگاه های نمایشگر به دست آورید.



ساختار DISPLAY_DEVICE :

const cchdevicename as long = 32

const cchformname as long = 32

Type display_device

cb as long

devicename as string * cchdevicename

devicestring as string * 128

stateflags as long

deviceid as string * 128

devicekey as string * 128

End Type


Dim indAdapter As Long
indDisplay As Long
Dim ddAdapters As DISPLAY_DEVICE
ddDisplays As DISPLAY_DEVICE
ddAdapters.cb = Len(ddAdapters)
ddDisplays.cb = Len(ddDisplays)

indAdapter = 0
Do Until EnumDisplayDevices(vbNullString, indAdapter, ddAdapters, 0) = 0










تابع EnumDisplaySettings اطلاعات مربوط به یکی از حالت های گرافیکی یک دستگاه نمایشگر را بازیابی می کند. برای بازیابی اطلاعات برای همه حالت های گرافیکی یک دستگاه نمایشگر ، یک سری فراخوانی با این عملکرد برقرار کنید.


یادداشت : برنامه هایی که برای هدف ویندوز ۸ و نسخه های جدیدتر طراحی می کنید ، دیگر نمی توانند پرس و جو کنند یا حالت های نمایش کمتر از ۳۲ بیت در هر پیکسل را تنظیم کنند.




Type DEVMODE
dmDeviceName As String * CCHDEVICENAME
dmSize As Integer
dmYResolution As Integer
dmPelsWidth As Long
dmPelsHeight As Long
End Type



Dim dmode As DEVMODE

dmode.dmSize = Len(dmode)

EnumDisplaySettings DeviceName, ENUM_CURRENT_SETTINGS, dmode

MsgBox "Width: " & dmode.dmPelsWidth

MsgBox "Height: " & dmode.dmPelsHeight 












نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد