Initial
This commit is contained in:
53
mdiwin/CLIPBRD.CPP
Normal file
53
mdiwin/CLIPBRD.CPP
Normal file
@@ -0,0 +1,53 @@
|
||||
#include <mdiwin/clipbrd.hpp>
|
||||
|
||||
Clipboard::Clipboard(HWND hOwnerWnd)
|
||||
: mhOwnerWnd(hOwnerWnd), mhNextViewerWnd(0)
|
||||
{
|
||||
if(!mhOwnerWnd)return;
|
||||
mhNextViewerWnd=::SetClipboardViewer(mhOwnerWnd);
|
||||
}
|
||||
|
||||
Clipboard::~Clipboard()
|
||||
{
|
||||
if(!isOkay())return;
|
||||
::ChangeClipboardChain(mhOwnerWnd,mhNextViewerWnd);
|
||||
}
|
||||
|
||||
void Clipboard::changeClipboardChain(WORD message,WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
if(!isOkay())return;
|
||||
if((HWND)wParam==mhNextViewerWnd)mhNextViewerWnd=(HWND)LOWORD(lParam);
|
||||
else ::SendMessage(mhNextViewerWnd,message,wParam,lParam);
|
||||
}
|
||||
|
||||
WORD Clipboard::drawClipboard(WORD message,WPARAM wParam,LPARAM lParam)
|
||||
{
|
||||
if(!isOkay())return FALSE;
|
||||
::SendMessage(mhNextViewerWnd,message,wParam,lParam);
|
||||
handleClipboardData();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void Clipboard::handleClipboardData(void)const
|
||||
{
|
||||
#if 0
|
||||
HGLOBAL hGlobalClipboard(0);
|
||||
BITMAPINFO FAR *lpSourceBitmapInfo;
|
||||
RGBQUAD FAR *lpRGBQuad;
|
||||
BYTE FAR *lpDataBytes;
|
||||
|
||||
::OpenClipboard(mhOwnerWnd);
|
||||
hGlobalClipboard=::GetClipboardData(CF_DIB);
|
||||
if(hGlobalClipboard)
|
||||
{
|
||||
lpSourceBitmapInfo=(BITMAPINFO FAR *)::GlobalLock(hGlobalClipboard);
|
||||
if(lpSourceBitmapInfo->bmiHeader.biBitCount==8)
|
||||
{
|
||||
lpRGBQuad=(RGBQUAD FAR *)((char FAR *)lpSourceBitmapInfo+sizeof(BITMAPINFOHEADER));
|
||||
lpDataBytes=(BYTE FAR *)((BYTE FAR *)lpSourceBitmapInfo+(sizeof(BITMAPINFOHEADER)*256));
|
||||
}
|
||||
::GlobalUnlock(hGlobalClipboard);
|
||||
}
|
||||
::CloseClipboard();
|
||||
#endif
|
||||
}
|
||||
Reference in New Issue
Block a user