举例说明一下我想实现的程序结果吧!
比如说ipad的应用程序在使用时,可以根据ipad拿着的方向自动转换应用程序的显示方向
横向,或者纵向拿平板电脑都不影响应用程序的使用。
(当然ipad也可以锁定页面,以保证应用程序的方向不掉转,这个功能不考虑)我现在有一个用MFC开发的类似于ipad应用程序的系统
是在windows 7系统的平板电脑下执行的
我的程序现在根据平板电脑的大小,和拿着的方向,可以实现方向调转
但是现在我想让程序只能固定在横向显示
即使掉转平板电脑的拿着的方向,程序显示的方向也不发生改变
这个可以实现吗?

解决方案 »

  1.   

    这个得看新发布的API了。想来应该有的。
    如果没有,就要跟WM那样,弄两个窗口资源。
    WM里有检测是横屏还是竖屏的方法。
      

  2.   

    #if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
    void CMyPingDlg::OnSize(UINT /*nType*/, int /*cx*/, int /*cy*/)
    {
    DRA::RelayoutDialog(
    AfxGetInstanceHandle(), 
    this->m_hWnd, 
    DRA::GetDisplayMode() != DRA::Portrait ? 
    MAKEINTRESOURCE(IDD_MYPING_DIALOG_WIDE) : 
    MAKEINTRESOURCE(IDD_MYPING_DIALOG));
    redraw=TRUE;
    }
    #endif
    WM下如上处理。
      

  3.   


    >如果没有,就要跟WM那样,弄两个窗口资源。
    这个意思我不是很明白,为了实现横向,纵向显示弄两个窗口资源可以理解
    我为了避免纵向显示,为什么还要弄两个窗口资源呢?你的下面的代码的意思我不是很明白呢,不过我把你下面的代码尝试了一下
    但是没有实现呢!
      

  4.   


    比如在对显示器的属性进行设置的时候
    可以禁止ctrl+alt+上下左右键所实现的屏幕旋转功能
    我想可以不可以通过代码禁止这个功能,来达到防止旋转的目的再解释一下,我说的我的程序旋转,实际上是因为显示器的长和宽颠倒了
    所以我的程序就按新的长宽比例重画了一下而已
      

  5.   

    系统旋转了啊 那你的程序不旋转 那可是高难度了 如果程序比较复杂的话 是不可能的。
    如果是。net wpf之类的程序还有一定可能。
      

  6.   


    找了两天了也没有什么好办法,mfc就是麻烦啊
    看android,ios什么的应用程序,直接设置个属性就可以实现了
    代码改很多的话,纳期又来不及
      

  7.   


    这个代码是windows CE的代码吧?
    我的就是visual stadio 2008下的MFC呢,可以通用吗?
      

  8.   


    如果理解为是用mfc屏蔽win7下的 ctrl + alt + 上下左右键的功能
    可以实现吗?
      

  9.   

    嗯,这个是CE的。不知道针对平板电脑,windows是否有未公开的api方法。