This commit is contained in:
2024-08-07 09:16:27 -04:00
parent fdfadd5c7e
commit 5f971cf684
5200 changed files with 731717 additions and 0 deletions

53
mdiwin/CLIPBRD.CPP Normal file
View 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
}