Anu*_*Anu 5 mfc multiple-monitors
我正在VS2008 VC++ .net中开发一个应用程序
我想将应用程序移动到辅助监视器.不是通过使用鼠标单击和拖动.
按下按钮或任何快捷键是否有像MoveToMonitor这样的功能.然后它应该移动到辅助监视器.
您应该能够调用GetMonitorInfo并将窗口移动到其中。
有关详细信息,请参阅此处“ 使用 GetSystemMetrics EnumDisplayMonitors 和 GetMonitorInfo 的 MFC 示例多监视器支持”。
Using the code
CMointor is a basic MFC class that allows you to safely use the multiple-monitor API on any Win32 platform.
There are three classes in this library:
CMonitors represents the collection of monitors currently attached to the system and wraps the EnumDisplayMonitors API function.
Collapse Copy Code
//CMonitors' interface
CMonitor GetMonitor( const int index ) const;
int GetCount() const;
//returns the monitor closest to the specified item
static CMonitor GetNearestMonitor( const LPRECT lprc );
static CMonitor GetNearestMonitor( const POINT pt );
static CMonitor GetNearestMonitor( const CWnd* pWnd );
//is the specificed item visible on any monitor
static BOOL IsOnScreen( const POINT pt );
static BOOL IsOnScreen( const CWnd* pWnd );
static BOOL IsOnScreen( const LPRECT lprc );
//returns the rectangle encompassing all monitors
static void GetVirtualDesktopRect( LPRECT lprc );
//determines whether the given handle is a valid monitor handle
static BOOL IsMonitor( const HMONITOR hMonitor );
static CMonitor GetPrimaryMonitor();
static BOOL AllMonitorsShareDisplayFormat();
static int GetMonitorCount();
CMonitor is a wrapper around an HMONITOR handle (returned from EnumDisplayMonitors) and the GetMonitorInfo function. With CMonitor you can get at the characteristics of a given monitor.
Collapse Copy Code
//The interface of CMonitor
void Attach( const HMONITOR hMonitor );
HMONITOR Detach();
void ClipRectToMonitor( LPRECT lprc,
const BOOL UseWorkAreaRect = FALSE ) const;
void CenterRectToMonitor( LPRECT lprc,
const BOOL UseWorkAreaRect = FALSE ) const;
void CenterWindowToMonitor( CWnd* const pWnd,
const BOOL UseWorkAreaRect = FALSE ) const;
//creates a device context for the monitor - the client is responsible for
// DeleteDC
HDC CreateDC() const;
void GetMonitorRect( LPRECT lprc ) const;
//the work area is the monitor rect minus the start bar
void GetWorkAreaRect( LPRECT lprc ) const;
void GetName( CString& string ) const;
int GetBitsPerPixel() const;
//determines if the specified item on the monitor
BOOL IsOnMonitor( const POINT pt ) const;
BOOL IsOnMonitor( const CWnd* pWnd ) const;
BOOL IsOnMonitor( const LPRECT lprc ) const;
BOOL IsPrimaryMonitor() const;
BOOL IsMonitor() const;
CMonitorDC is a CDC derived class that represents a monitor specific device context. I haven't really gone to far with this class but it seemed like a logical part of the library.
Known Limitations
CMonitor and CMonitors rely on the assumption that a monitor handle does not change. This has proved to be a safe assumption empirically but isn't nessecarily a guarantee.
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 Window 7,则在显示器之间移动窗口是Windows-Arrow
| 归档时间: |
|
| 查看次数: |
3776 次 |
| 最近记录: |