mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
293 lines
4.8 KiB
293 lines
4.8 KiB
/*
|
|
| Outside In for Windows
|
|
| Source File OIDPROC.C (Window procedure for database window)
|
|
|
|
|
| ²²²²² ²²²²²
|
|
| ² ² ²
|
|
| ² ² ²
|
|
| ² ² ²
|
|
| ²²²²² ²²²²²
|
|
|
|
|
| Outside In
|
|
|
|
|
*/
|
|
|
|
/*
|
|
| Creation Date: 10/14/90
|
|
| Original Programmer: Philip Boutros
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
#include <platform.h>
|
|
#include <bad.h>
|
|
|
|
#include <sccut.h>
|
|
#include <sccch.h>
|
|
#include <sccbk.h>
|
|
#include <sccvw.h>
|
|
#include <sccd.h>
|
|
#include <sccfont.h>
|
|
|
|
#include "oid.h"
|
|
#include "oidstr.h"
|
|
#include "oid.pro"
|
|
|
|
extern HANDLE hInst;
|
|
|
|
HANDLE gChainFile = NULL;
|
|
|
|
OIDBOP gDbOp =
|
|
{
|
|
sizeof(OIDBOP),
|
|
"Helv",
|
|
10,
|
|
DBOP_FORMAT_TEXT | DBOP_FORMAT_RTF | DBOP_FORMAT_AMI2,
|
|
DBOP_RTF_TABLE,
|
|
DBOP_AMI2_TABLE,
|
|
DBOP_DISPLAY_GRIDLINES,
|
|
DBOP_PRINT_GRIDLINES | DBOP_PRINT_HEADINGS,
|
|
DBOP_CLIPBOARD_HEADINGS
|
|
};
|
|
|
|
LRESULT WIN_ENTRYMOD OIDataWndProc(hWnd, message, wParam, lParam, lpDataInfo)
|
|
HWND hWnd;
|
|
UINT message;
|
|
WPARAM wParam;
|
|
LPARAM lParam;
|
|
LPOIDATAINFO lpDataInfo;
|
|
{
|
|
LONG locRet;
|
|
BYTE szDEName[OID_MAXDENAME];
|
|
|
|
locRet = 0;
|
|
|
|
switch (message)
|
|
{
|
|
case SCCD_LOADDE:
|
|
|
|
((SCCDOPTIONPROC)lParam)(wParam,sizeof(OIDBOP),(LPOIDBOP)&gDbOp);
|
|
break;
|
|
|
|
case SCCD_UNLOADDE:
|
|
|
|
((SCCDOPTIONPROC)lParam)(wParam,sizeof(OIDBOP),(LPOIDBOP)&gDbOp);
|
|
break;
|
|
|
|
case SCCD_GETINFO:
|
|
|
|
switch (wParam)
|
|
{
|
|
case SCCD_GETVERSION:
|
|
|
|
locRet = SCCD_CURRENTVERSION;
|
|
break;
|
|
|
|
case SCCD_GETGENINFOSIZE:
|
|
|
|
locRet = sizeof(SCCDGENINFO);
|
|
break;
|
|
|
|
case SCCD_GETDISPLAYINFOSIZE:
|
|
|
|
locRet = sizeof(OIDATAINFO);
|
|
break;
|
|
|
|
case SCCD_GETDISPLAYTYPE:
|
|
|
|
locRet = SCCD_CHUNK;
|
|
break;
|
|
|
|
case SCCD_GETCHUNKTYPE:
|
|
|
|
locRet = SO_FIELDS;
|
|
break;
|
|
|
|
case SCCD_GETFUNCTIONS:
|
|
|
|
locRet = SCCD_FNCLIPBOARD | SCCD_FNPRINT | SCCD_FNPRINTSEL | SCCD_FNSEARCH;
|
|
break;
|
|
|
|
case SCCD_GETOPTIONS:
|
|
|
|
locRet = SCCD_OPCLIPBOARD | SCCD_OPPRINT | SCCD_OPDISPLAY;
|
|
break;
|
|
|
|
case SCCD_GETNAME:
|
|
|
|
LoadString( hInst, OIDSTR_DENAME, szDEName, OID_MAXDENAME );
|
|
UTstrcpy( (LPSTR)lParam, szDEName );
|
|
break;
|
|
|
|
default:
|
|
|
|
locRet = 0;
|
|
}
|
|
|
|
break;
|
|
|
|
case SCCD_OPENDISPLAY:
|
|
|
|
OIDOpenDisplay(lpDataInfo);
|
|
OIDOpenSection(lpDataInfo);
|
|
break;
|
|
|
|
case SCCD_CLOSEDISPLAY:
|
|
|
|
OIDCloseDisplay(lpDataInfo);
|
|
break;
|
|
|
|
case SCCD_CLOSEFATAL:
|
|
|
|
OIDCloseFatal(lpDataInfo);
|
|
break;
|
|
|
|
case SCCVW_SEARCH:
|
|
|
|
locRet = OIDSearch(lpDataInfo,(LPSCCVWSEARCHINFO)lParam);
|
|
break;
|
|
|
|
case SCCVW_SEARCHNEXT:
|
|
|
|
locRet = OIDSearchNext(lpDataInfo,wParam);
|
|
break;
|
|
|
|
case SCCVW_RENDERRTFTOFILE:
|
|
|
|
locRet = OIDRenderRtfToFile(lpDataInfo,(LPSTR)lParam);
|
|
break;
|
|
|
|
case SCCD_SETSCREENFONT:
|
|
|
|
OIDSetFontInfo(lpDataInfo,(LPSCCDFONTINFO)lParam);
|
|
break;
|
|
|
|
case SCCD_READAHEAD:
|
|
|
|
OIDDoReadAhead(lpDataInfo);
|
|
break;
|
|
|
|
case SCCVW_COPYTOCLIP:
|
|
|
|
OIDCopyToClip(lpDataInfo);
|
|
break;
|
|
|
|
case SCCVW_SELECTALL:
|
|
OIDSelectAll(lpDataInfo);
|
|
break;
|
|
|
|
case SCCD_PRINT:
|
|
|
|
locRet = OIDDoPrint(lpDataInfo,(LPSCCDPRINTINFO)lParam);
|
|
break;
|
|
|
|
case SCCD_DOOPTION:
|
|
|
|
locRet = OIDDoOption((LPSCCDOPTIONINFO)lParam);
|
|
break;
|
|
|
|
case WM_SIZE:
|
|
|
|
OIDSizeWnd(lpDataInfo,LOWORD(lParam),HIWORD(lParam));
|
|
break;
|
|
|
|
case SCCBK_DOBACKGROUND:
|
|
|
|
OIDDoBackground(lpDataInfo);
|
|
break;
|
|
|
|
case WM_SETFOCUS:
|
|
|
|
OIDSetFocus(lpDataInfo);
|
|
break;
|
|
|
|
case WM_KILLFOCUS:
|
|
|
|
OIDKillFocus(lpDataInfo);
|
|
break;
|
|
|
|
case WM_LBUTTONDOWN:
|
|
case WM_LBUTTONDBLCLK:
|
|
case WM_LBUTTONUP:
|
|
case WM_RBUTTONDOWN:
|
|
case WM_RBUTTONDBLCLK:
|
|
case WM_RBUTTONUP:
|
|
case WM_MOUSEMOVE:
|
|
|
|
OIDHandleMouseEvent(lpDataInfo,message,wParam,LOWORD(lParam),HIWORD(lParam));
|
|
break;
|
|
|
|
case WM_KEYDOWN:
|
|
|
|
OIDHandleKeyEvent(lpDataInfo,wParam);
|
|
break;
|
|
|
|
case WM_PAINT:
|
|
|
|
OIDPaintWnd(lpDataInfo);
|
|
break;
|
|
|
|
case WM_VSCROLL:
|
|
|
|
switch (wParam)
|
|
{
|
|
case SB_LINEDOWN:
|
|
OIDScrollDown(lpDataInfo,1);
|
|
UpdateWindow(lpDataInfo->diGen.hWnd);
|
|
break;
|
|
case SB_LINEUP:
|
|
OIDScrollUp(lpDataInfo,1);
|
|
UpdateWindow(lpDataInfo->diGen.hWnd);
|
|
break;
|
|
case SB_PAGEDOWN:
|
|
OIDPageDown(lpDataInfo);
|
|
break;
|
|
case SB_PAGEUP:
|
|
OIDPageUp(lpDataInfo);
|
|
break;
|
|
case SB_THUMBPOSITION:
|
|
OIDPosVertical(lpDataInfo,LOWORD(lParam));
|
|
default:
|
|
break;
|
|
}
|
|
|
|
break;
|
|
|
|
case WM_HSCROLL:
|
|
|
|
switch (wParam)
|
|
{
|
|
case SB_LINEDOWN:
|
|
OIDScrollRight(lpDataInfo,1);
|
|
UpdateWindow(lpDataInfo->diGen.hWnd);
|
|
break;
|
|
case SB_LINEUP:
|
|
OIDScrollLeft(lpDataInfo,1);
|
|
UpdateWindow(lpDataInfo->diGen.hWnd);
|
|
break;
|
|
case SB_PAGEDOWN:
|
|
OIDPageRight(lpDataInfo);
|
|
break;
|
|
case SB_PAGEUP:
|
|
OIDPageLeft(lpDataInfo);
|
|
break;
|
|
case SB_THUMBPOSITION:
|
|
OIDPosHorizontal(lpDataInfo,LOWORD(lParam));
|
|
default:
|
|
break;
|
|
}
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
locRet = DefWindowProc(hWnd, message, wParam, lParam);
|
|
break;
|
|
}
|
|
|
|
return (locRet);
|
|
}
|
|
|