一个模仿windows中的桌面背景预览的控件
发表于:2007-07-01来源:作者:点击数:
标签:
这个控件是模仿微软 windows 操作系统中的显示属性对话框的控件。我作的这个custom控件具有和微软控件一样的功能。 这个控件通过在一个MFC标准Dll工程中的CMonitor类实现,CMonitor类继承于CWnd。当然这个类可以被扩展,直接加入到你的MFCexe工程中。你可以
|
这个控件是模仿微软windows操作系统中的显示属性对话框的控件。我作的这个custom控件具有和微软控件一样的功能。
这个控件通过在一个MFC标准Dll工程中的CMonitor类实现,CMonitor类继承于CWnd。当然这个类可以被扩展,直接加入到你的MFCexe工程中。你可以做一个基于对话框的程序,联机到dll工程,来看控件效果的演示。
我做了一个TestMonitor演示程序,你可以看到此控件的功能。
主要代码:
// SOURCE CODE HINTS
// a public static member function used for registering the
// control window class
static BOOL CMonitor::RegisterWndClass(HINSTANCE hInstance);
// a global function defined and used for transparently
// displaying the monitor
extern "C" __declspec(dllexport)
BOOL MaskImage(HDC hDC, int nXDest, int nYDest, int nWidth,
int nHeight, HBITMAP hbmImage, int nXSrc,
int nYSrc, HBITMAP hbmMask);
// the global control window procedure function
LRESULT CALLBACK AFX_EXPORT
CMonitorWndProc(HWND hWnd, UINT message, WPARAM wParam,
LPARAM lParam);
// a set of user defined Windows control messages to
// communicate with the control
#define MM_SETIMAGE WM_USER + 0
#define MM_GETIMAGE WM_USER + 1
#define MM_SETDISPLAYSTYLE WM_USER + 2
#define MM_GETDISPLAYSTYLE WM_USER + 3
#define MM_SETREF WM_USER + 4
#define MM_GETREF WM_USER + 5
// a dummy function is used to be called from the client program
// to ensure the dll loading
extern "C" __declspec(dllexport)
void MonitorDllEntry() {} // dummy function
|
原文转自:http://www.ltesting.net