以编程方式更改屏幕方向(3)


所属类别:移动开发

文章作者:佚名

特别推荐:免费发布信息 承包关键词~~抢爆了!HOT!


在 C# 中旋转屏幕以下 C# 代码将前面讨论的技术结合起来,并展示了如何在托管代码中顺时针旋转屏幕。请注意,这段代码只对支持相应显示设置的设备起作用。

// initialize the DEVMODE structure

DEVMODE dm = new DEVMODE();

dm.dmDeviceName = new string(new char[32]);

dm.dmFormName = new string(new char[32]);

dm.dmSize = Marshal.SizeOf(dm);

if (0 != NativeMethods.EnumDisplaySettings(

null,

NativeMethods.ENUM_CURRENT_SETTINGS,

ref dm))

{

// swap width and height

int temp = dm.dmPelsHeight;

dm.dmPelsHeight = dm.dmPelsWidth;

dm.dmPelsWidth = temp;

// determine new orientation

switch(dm.dmDisplayOrientation)

{

case NativeMethods.DMDO_DEFAULT:

dm.dmDisplayOrientation = NativeMethods.DMDO_270;

break;

case NativeMethods.DMDO_270:

dm.dmDisplayOrientation = NativeMethods.DMDO_180;

break;

case NativeMethods.DMDO_180:

dm.dmDisplayOrientation = NativeMethods.DMDO_90;

break;

case NativeMethods.DMDO_90:

dm.dmDisplayOrientation = NativeMethods.DMDO_DEFAULT;

break;

default:

// unknown orientation value

// add exception handling here

break;

}

int iRet = NativeMethods.ChangeDisplaySettings(ref dm, 0);

if (NativeMethods.DISP_CHANGE_SUCCESSFUL != iRet)

{

// add exception handling here

}

}

小结◆使用 EnumDisplaySettings API 来获取当前显示设置的相关信息。◆使用 EnumDisplaySettings API 来枚举所有受支持的显示设置。◆DEVMODE 结构包含关于给定的显示模式的所有信息。◆使用 ChangeDisplaySettings 来切换到由有效的 DEVMODE 结构指定的新显示模式。◆使用平台调用服务从托管代码实现。关闭本页

相关信息

· C

· ASP 3.0中的新特性

· 实例 用JavaScript验证密码强度

·  51CTO独家采访:Cisco数据中心3.0改变了什么?








....

104555 43267