home *** CD-ROM | disk | FTP | other *** search
- ##--BEGIN-- @OPT_APPL_HELP
-
-
- bool [[TApplication]]::ProcessAppMsg (MSG& msg)
- {
- if (msg.message == WM_COMMAND) {
- if (ContextHelp || (::GetKeyState(VK_F1) < 0)) {
- ContextHelp = false;
- GetMainWindow()->WinHelp(HelpFileName, HELP_CONTEXT, msg.wParam);
- return true;
- }
- } else
- switch (msg.message) {
- case WM_KEYDOWN:
- if (msg.wParam == VK_F1) {
- ##:@QUERY_APPL_COMMENT == VALUE_VERBOSE
- // If the Shift/F1 then set the help cursor and turn on the modal help state.
- if (::GetKeyState(VK_SHIFT) < 0) {
- ContextHelp = true;
- HelpCursor = ::LoadCursor(GetMainWindow()->GetModule()->GetInstance(), MAKEINTRESOURCE(IDC_HELPCURSOR));
- ::SetCursor(HelpCursor);
- return true; // Gobble up the message.
- } else {
- ##:@QUERY_APPL_COMMENT == VALUE_VERBOSE
- // If F1 w/o the Shift key then bring up help's main index.
- GetMainWindow()->WinHelp(HelpFileName, HELP_INDEX, 0L);
- return true; // Gobble up the message.
- }
- } else {
- if (ContextHelp && (msg.wParam == VK_ESCAPE)) {
- if (HelpCursor)
- ::DestroyCursor(HelpCursor);
- ContextHelp = false;
- HelpCursor = 0;
- GetMainWindow()->SetCursor(0, IDC_ARROW);
- return true; // Gobble up the message.
- }
- }
- break;
-
- case WM_MOUSEMOVE:
- case WM_NCMOUSEMOVE:
- if (ContextHelp) {
- ::SetCursor(HelpCursor);
- return true; // Gobble up the message.
- }
- break;
-
- case WM_INITMENU:
- if (ContextHelp) {
- ::SetCursor(HelpCursor);
- return true; // Gobble up the message.
- }
- break;
-
- case WM_ENTERIDLE:
- if (msg.wParam == MSGF_MENU)
- if (GetKeyState(VK_F1) < 0) {
- ContextHelp = true;
- GetMainWindow()->PostMessage(WM_KEYDOWN, VK_RETURN, 0L);
- return true; // Gobble up the message.
- }
- break;
-
- default:
- ;
- }; // End of switch
-
- // Continue normal processing.
-
- return TApplication::ProcessAppMsg(msg);
- }
-
-
- ##--END-- @OPT_APPL_HELP
- ##--BEGIN-- @OPT_APPL_PRINTING
- void [[TApplication]]::EvWinIniChange (char far* section)
- {
- if (strcmp(section, "windows") == 0) {
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- // If the device changed in the WIN.INI file then the printer
- // might have changed. If we have a TPrinter (Printer) then
- // check and make sure it's identical to the current device
- // entry in WIN.INI.
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- if (Printer) {
- char printDBuffer[255];
- LPSTR printDevice = printDBuffer;
- LPSTR devName;
- LPSTR driverName = 0;
- LPSTR outputName = 0;
-
- if (::GetProfileString("windows", "device", "", printDevice, sizeof(printDevice))) {
- ##--BEGIN-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- // The string which should come back is something like:
- //
- // HP LaserJet III,hppcl5a,LPT1:
- //
- // Where the format is:
- //
- // devName,driverName,outputName
- //
- ##--END-- @QUERY_APPL_COMMENT == VALUE_VERBOSE
- devName = printDevice;
- while (*printDevice) {
- if (*printDevice == ',') {
- *printDevice++ = 0;
- if (!driverName)
- driverName = printDevice;
- else
- outputName = printDevice;
- } else
- printDevice = ::AnsiNext(printDevice);
- }
-
- if ((Printer->GetSetup().Error != 0) ||
- (strcmp(devName, Printer->GetSetup().GetDeviceName()) != 0) ||
- (strcmp(driverName, Printer->GetSetup().GetDriverName()) != 0) ||
- (strcmp(outputName, Printer->GetSetup().GetOutputName()) != 0)) {
-
- // New printer installed so get the new printer device now.
- delete Printer;
- Printer = new TPrinter(this);
- }
- } else {
- // No printer installed (GetProfileString failed).
- delete Printer;
- Printer = new TPrinter(this);
- }
- }
- }
- }
-
-
- ##--END-- @OPT_APPL_PRINTING
- int OwlMain (int , char* [])
- {
- try {
- ##--BEGIN-- @QUERY_APPL_OLE != VALUE_NOOLE
- ## :!@QUERY_APPL_OLE_AUTO 2
- ::Registrar = new TOcRegistrar(::ApplicationReg, TOleDocViewFactory<[[TApplication]]>(), TApplication::GetCmdLine(), ::DocTemplateStaticHead);
- if (::Registrar->IsOptionSet(amAnyRegOption))
- ## :@QUERY_APPL_OLE_AUTO 2
- ::Registrar = new TOcRegistrar(::ApplicationReg, TOleDocViewAutoFactory<[[TApplication]]>(), TApplication::GetCmdLine(), ::DocTemplateStaticHead);
- if (::Registrar->IsOptionSet(amAnyRegOption))
- return 0;
-
- // If this is an exe server normal run, run the app now. Otherwise, wait
- // until our factory gets a call.
- return ::Registrar->Run();
- ##--END-- @QUERY_APPL_OLE != VALUE_NOOLE
- ##--BEGIN-- @QUERY_APPL_OLE == VALUE_NOOLE
- ## :!@QUERY_APPL_OLE_AUTO 2
- [[TApplication]] app;
- return app.Run();
- ## --BEGIN-- @QUERY_APPL_OLE_AUTO
- ::Registrar = new TRegistrar(::ApplicationReg, TAutoFactory<[[TApplication]]>(), TApplication::GetCmdLine(), _hInstance);
- if (::Registrar->IsOptionSet(amAnyRegOption))
- return 0;
-
- // If this is an exe server normal run, run the app now. Otherwise, wait
- // until our factory gets a call.
- return ::Registrar->Run();
- ## --END-- @QUERY_APPL_OLE_AUTO
- ##--END-- @QUERY_APPL_OLE == VALUE_NOOLE
- }
- catch (xmsg& x) {
- ::MessageBox(0, x.why().c_str(), "Exception", MB_OK);
- }
-
- return -1;
- }
-