b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

Windows中接入多个显示器时可设置为复制和扩展屏

电脑杂谈  发布时间:2021-05-18 04:02:44  来源:网络整理

本文介绍了VC实现Windows多显示器编程的方法。与所有人共享以供参考。详细信息如下:

一、当多台监视器连接到Windows时,可以将它们设置为复制和扩展屏幕。

设置为1、复制屏幕时,多个显示器的分辨率相同,位置为0〜分辨率值

当将2、设置为扩展屏幕时,显示之间的关系更加复杂。首先,Windows系统将识别主监视器,可以在屏幕分辨率上进行更改。多个显示器之间的位置关系也可以在屏幕分辨率中更改。主显示器的位置是(0,0)到(宽度,高度),其他显示器的位置由与主显示器的位置关系确定。在主显示器的左上方,它是负数数字,用0减去长度和宽度;在右下角,主显示的分辨率加上长度和宽度,驱动或使用mouse_event时也是如此,主显示为0〜65535,其他显示器是根据主显示器的相对位置确定的。

wordpress 通过电子邮件发布_qq显示苹果,聊天时就显示其它设备信息_通过软件发布信息到多台显示器

二、相关程序和API如下:

1、获取当前监视器的分辨率

m_iCurScrWidth = ::GetSystemMetrics(SM_CXSCREEN);
m_iCurScrHeight = ::GetSystemMetrics(SM_CYSCREEN);

通过软件发布信息到多台显示器_qq显示苹果,聊天时就显示其它设备信息_wordpress 通过电子邮件发布

2、移动窗口位置

MoveWindow(0, 0, m_iCurScrWidth, m_iCurScrHeight);
//移动窗口
ModifyStyle(WS_CAPTION,0,0);
//取消标题栏

3、获取监视器数量

复制代码,代码如下:

GetSystemMetrics(SM_CMONITORS);

4、获取显示器的相对位置和分辨率

void GetScreenRect(int ScreenNo)
{
BOOL flag;
DISPLAY_DEVICE dd;
 ZeroMemory(&dd, sizeof(dd));
 dd.cb = sizeof(dd);
flag = EnumDisplayDevices(NULL, ScreenNo, &dd, 0);
if (!flag) return;
DEVMODE dm;
ZeroMemory(&dm, sizeof(dm));
dm.dmSize = sizeof(dm);
flag = EnumDisplaySettings(dd.DeviceName,ENUM_CURRENT_SETTINGS, &dm);
m_ScrRect[ScreenNo].left = dm.dmPosition.x;
m_ScrRect[ScreenNo].top = dm.dmPosition.y;
m_ScrRect[ScreenNo].right = dm.dmPelsWidth;
m_ScrRect[ScreenNo].bottom = dm.dmPelsHeight;
}

我希望本文对您的VC程序设计有所帮助。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-376239-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 李兴帅
        李兴帅

        看待问题要从全局出发

      • 芙蓉哥哥
        芙蓉哥哥

        写几亿个字儿也是毫无价值的

      • 李桂兰
        李桂兰

        甲午海战时

      热点图片
      拼命载入中...