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

نام تاپیک: تغییر رزولوشن مونیتور ( Error )

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    همدان - ایران
    پست
    31

    تغییر رزولوشن مونیتور ( Error )

    چطور می توان رزولوشن را در برنامه تغییر داد ؟

    ( برای دیدن درست برنامه ام نیاز به رزولوشن خاصی (600 * 800 ) می باشد.

    با تشکر

  2. #2
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    2,342
     Public Sub ChangeResolution(iWidth As Single, iHeight As Single)

    Dim DevM As DEVMODE
    Dim A As Boolean
    Dim i As Long
    Dim b As Long

    i = 0

    'Enumerate settings
    Do
    A = EnumDisplaySettings(0&, i&, DevM)
    i = i + 1
    Loop Until (A = False)

    'Change settings
    DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT

    DevM.dmPelsWidth = iWidth
    DevM.dmPelsHeight = iHeight

    b = ChangeDisplaySettings(DevM, 0)

    End Sub

  3. #3
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran - Tehran
    پست
    799
    ببهشید که سوال تو سوال شد.
    میخواستم بپرسم برای تغییر تعداد رنگ صفحه باید چی کار کرد ؟
    ممنون. :wink:

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    همدان - ایران
    پست
    31
    تشکر از پاسخ شما و وقتی که گذاشتید. :P

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    همدان - ایران
    پست
    31
    با عرض پوزش مجدد !
    وقتی برنامه را اجرا می کنم . از خط ( Dim DevM As DEVMODE )
    ایراد ( User-Defined type not defined ) می گیرد .
    احتمالا چیزی بعنوان پیش فرض می خواهد. :!:

  6. #6
    کاربر تازه وارد
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    همدان - ایران
    پست
    31
    با عرض پوزش مجدد !
    وقتی برنامه را اجرا می کنم . از خط ( Dim DevM As DEVMODE )
    ایراد ( User-Defined type not defined ) می گیرد .
    احتمالا چیزی بعنوان پیش فرض می خواهد. :!:

  7. #7
    کاربر دائمی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    Iran
    پست
    801
    اگر این را به Declaration برنامه اضافه کنید، درست میشود.
    Private Type DEVMODE
    dmDeviceName As String * CCHDEVICENAME
    dmSpecVersion As Integer
    dmDriverVersion As Integer
    dmSize As Integer
    dmDriverExtra As Integer
    dmFields As Long
    dmOrientation As Integer
    dmPaperSize As Integer
    dmPaperLength As Integer
    dmPaperWidth As Integer
    dmScale As Integer
    dmCopies As Integer
    dmDefaultSource As Integer
    dmPrintQuality As Integer
    dmColor As Integer
    dmDuplex As Integer
    dmYResolution As Integer
    dmTTOption As Integer
    dmCollate As Integer
    dmFormName As String * CCHFORMNAME
    dmUnusedPadding As Integer
    dmBitsPerPel As Integer
    dmPelsWidth As Long
    dmPelsHeight As Long
    dmDisplayFlags As Long
    dmDisplayFrequency As Long
    End Type

  8. #8

    نقل قول: تغییر رزولوشن مونیتور ( Error )

    با زم مشکل داره

  9. #9
    کاربر دائمی
    تاریخ عضویت
    تیر 1387
    محل زندگی
    اینجا!
    پست
    115

    نقل قول: تغییر رزولوشن مونیتور ( Error )

    خب!! این کدی که اقای عباس گذاشته درسته ولی چون داریم با دات نت کار میکنیم باید بعضی جاها از تعریفهای مارشال استفاده کرد!! این کد رو من اینطوری مدیفای کردم. عمل میکنه:
    یک ماژول بسازید و این کد رو کپی پیست کنید:
    Module m_ChangeDisplaySettingsEX
    Public Const CDS_UPDATEREGISTRY As Integer = &H1
    Public Const CDS_TEST As Integer = &H2
    Public Const CDS_FULLSCREEN As Integer = &H4
    Public Const DISP_CHANGE_SUCCESSFUL As Short = 0
    Public Const DISP_CHANGE_RESTART As Short = 1
    Public Const ENUM_CURRENT_SETTINGS As Short = -1
    Public Structure DEVMODE
    <VBFixedString(32), System.Runtime.InteropServices.MarshalAs(System.Ru ntime.InteropServices.UnmanagedType.ByValArray, SizeConst:=32)> Public dmDeviceName() As Char
    Dim dmSpecVersion As Short
    Dim dmDriverVersion As Short
    Dim dmSize As Short
    Dim dmDriverExtra As Short
    Dim dmFields As Integer
    Dim dmOrientation As Short
    Dim dmPaperSize As Short
    Dim dmPaperLength As Short
    Dim dmPaperWidth As Short
    Dim dmScale As Short
    Dim dmCopies As Short
    Dim dmDefaultSource As Short
    Dim dmPrintQuality As Short
    Dim dmColor As Short
    Dim dmDuplex As Short
    Dim dmYResolution As Short
    Dim dmTTOption As Short
    Dim dmCollate As Short
    <VBFixedString(32), System.Runtime.InteropServices.MarshalAs(System.Ru ntime.InteropServices.UnmanagedType.ByValArray, SizeConst:=32)> Public dmFormName() As Char
    Dim dmUnusedPadding As Short
    Dim dmBitsPerPixel As Short
    Dim dmPelsWidth As Integer
    Dim dmPelsHeight As Integer
    Dim dmDisplayFlags As Integer
    Dim dmDisplayFrequency As Integer
    End Structure
    Public Declare Function EnumDisplaySettings Lib "user32.dll" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As String, ByVal iModeNum As Integer, ByRef lpDevMode As DEVMODE) As Integer
    Public Declare Function ChangeDisplaySettings Lib "user32.dll" Alias "ChangeDisplaySettingsA" (ByRef lpDevMode As DEVMODE, ByVal dwFlags As Integer) As Integer
    End Module


    در رویداد اصلیتون بنویسید:
    Dim D_DevSet As New DEVMODE
    Dim o_retval As Integer
    D_DevSet.dmSize = Len(D_DevSet)
    o_retval = EnumDisplaySettings(vbNullString, ENUM_CURRENT_SETTINGS, D_DevSet)
    D_DevSet.dmPelsWidth = 1024 'تغییر رزیلوشن
    D_DevSet.dmPelsHeight = 768 'تغییر رزیلوشن
    D_DevSet.dmBitsPerPixel = 32 'وضوح تصویر یا تعداد رنگها به صورت بیت
    o_retval = ChangeDisplaySettings(D_DevSet, CDS_TEST)
    If o_retval <> DISP_CHANGE_SUCCESSFUL Then
    MessageBox.Show("Faild")
    Else
    o_retval = ChangeDisplaySettings(D_DevSet, CDS_UPDATEREGISTRY)
    Select Case o_retval
    Case DISP_CHANGE_SUCCESSFUL
    MessageBox.Show("Success")
    Case DISP_CHANGE_RESTART
    MessageBox.Show("Need ReStart")
    Case Else
    MessageBox.Show("Faild")
    End Select
    End If

تاپیک های مشابه

  1. پاسخ: 4
    آخرین پست: دوشنبه 01 بهمن 1386, 16:00 عصر
  2. error در هنگام تغییر SQL Script
    نوشته شده توسط MortezaDelphi در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 4
    آخرین پست: شنبه 15 مرداد 1384, 07:41 صبح
  3. error در هنگام تغییر SQL
    نوشته شده توسط MortezaDelphi در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: پنج شنبه 13 مرداد 1384, 13:34 عصر
  4. SUS Sync error, Error 0x8007000D: The data is invalid
    نوشته شده توسط Lus در بخش شبکه و Networking‌
    پاسخ: 0
    آخرین پست: پنج شنبه 06 مرداد 1384, 16:02 عصر
  5. "Error 1609. An error occurred while appliying security
    نوشته شده توسط سمیه در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: سه شنبه 15 دی 1383, 11:23 صبح

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

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