Ignore:
Timestamp:
Jul 7, 2010, 4:51:54 PM (14 years ago)
Author:
Kevin Toppenberg
Message:

Upgrading to version 27

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cprs/trunk/CPRS-Chart/fFrame.pas

    r456 r830  
    1414  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Tabs, ComCtrls,
    1515  ExtCtrls, Menus, StdCtrls, Buttons, ORFn, fPage, uConst, ORCtrls, Trpcb,
    16   OleCtrls, VERGENCECONTEXTORLib_TLB, ComObj, AppEvnts;
     16  OleCtrls, VERGENCECONTEXTORLib_TLB, ComObj, AppEvnts, fBase508Form,
     17  VA508AccessibilityManager
     18{ TODO -oRV -cWVEHR Long Age : Changed to use long age }
     19  , rWVEHR;
    1720
    1821type
    19   TfrmFrame = class(TForm)
     22  TfrmFrame = class(TfrmBase508Form)
    2023    pnlToolbar: TPanel;
    2124    stsArea: TStatusBar;
     
    4750    mnuEditPref: TMenuItem;
    4851    Prefs1: TMenuItem;
    49     mnu24pt1: TMenuItem;
    5052    mnu18pt1: TMenuItem;
    5153    mnu14pt1: TMenuItem;
     
    8385    lblPtCare: TStaticText;
    8486    lblPtAttending: TStaticText;
    85     pnlCIRN: TKeyClickPanel;
    86     lblCIRN: TLabel;
    87     lblCIRNData: TLabel;
    8887    pnlReminders: TKeyClickPanel;
    8988    imgReminder: TImage;
     
    125124    laVAA2: TButton;
    126125    laMHV: TButton;
    127     lblCIRNAvail: TLabel;
    128126    mnuViewInformation: TMenuItem;
    129127    mnuViewVisits: TMenuItem;
     
    133131    mnuViewFlags: TMenuItem;
    134132    mnuViewRemoteData: TMenuItem;
     133    compAccessTabPage: TVA508ComponentAccessibility;
     134    pnlRemoteData: TKeyClickPanel;
     135    pnlVistaWeb: TKeyClickPanel;
     136    lblVistaWeb: TLabel;
     137    pnlCIRN: TKeyClickPanel;
     138    lblCIRN: TLabel;
    135139    procedure tabPageChange(Sender: TObject);
    136140    procedure FormCreate(Sender: TObject);
     
    139143      Shift: TShiftState; X, Y: Integer);
    140144    procedure pnlPatientMouseUp(Sender: TObject; Button: TMouseButton;
    141       Shift: TShiftState; X, Y: Integer);
    142     procedure pnlVisitMouseDown(Sender: TObject; Button: TMouseButton;
    143       Shift: TShiftState; X, Y: Integer);
    144     procedure pnlVisitMouseUp(Sender: TObject; Button: TMouseButton;
    145145      Shift: TShiftState; X, Y: Integer);
    146146    procedure mnuFileExitClick(Sender: TObject);
     
    171171    procedure mnuGECStatusClick(Sender: TObject);
    172172    procedure mnuFileNextClick(Sender: TObject);
    173     procedure stsAreaMouseDown(Sender: TObject; Button: TMouseButton;
    174       Shift: TShiftState; X, Y: Integer);
    175     procedure stsAreaMouseUp(Sender: TObject; Button: TMouseButton;
    176       Shift: TShiftState; X, Y: Integer);
    177     procedure stsAreaDrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel;
    178       const Rect: TRect);
    179173    procedure pnlPrimaryCareMouseDown(Sender: TObject;
    180174      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
     
    241235    procedure ViewInfo(Sender: TObject);
    242236    procedure mnuViewInformationClick(Sender: TObject);
     237    procedure compAccessTabPageCaptionQuery(Sender: TObject;
     238      var Text: string);
     239    procedure pnlVistaWebClick(Sender: TObject);
     240    procedure pnlVistaWebMouseDown(Sender: TObject; Button: TMouseButton;
     241      Shift: TShiftState; X, Y: Integer);
     242    procedure pnlVistaWebMouseUp(Sender: TObject; Button: TMouseButton;
     243      Shift: TShiftState; X, Y: Integer);
    243244  private
     245    FProccessingNextClick : boolean;
    244246    FJustEnteredApp : boolean;
    245247    FCCOWInstalled: boolean;
     
    261263    FNextButtonActive: Boolean;
    262264    FNextButtonBitmap: TBitmap;
     265    FNextButton: TBitBtn;
    263266    FTerminate: Boolean;
    264267    FTabChanged: TNotifyEvent;
     
    271274    FFlagList: TStringList;
    272275    FPrevPtID: string;
    273     FVitalsDLLActive: boolean;
    274276    FGraphFloatActive: boolean;
    275277    FGraphContext: string;
     278    FDoNotChangeEncWindow: boolean;
     279    FOrderPrintForm: boolean;
     280    FReviewclick: boolean;
     281    FCtrlTabUsed: boolean;
    276282    procedure RefreshFixedStatusWidth;
    277283    procedure FocusApplicationTopForm;
     
    318324    procedure CheckForDifferentUser(aContextItemCollection: IDispatch; var UserChanged: boolean);
    319325{$ENDIF}
    320     procedure HideEverything;
     326    procedure HideEverything(AMessage: string = 'No patient is currently selected.');
    321327    procedure ShowEverything;
    322328    //function FindBestCCOWDFN(var APatientName: string): string;
    323329    function FindBestCCOWDFN: string;
    324330    procedure HandleCCOWError(AMessage: string);
     331    procedure SetUpNextButton;
     332    procedure NextButtonClick(Sender: TObject);
     333    procedure NextButtonMouseDown(Sender: TObject; Button: TMouseButton;
     334      Shift: TShiftState; X, Y: Integer);
    325335  public
    326    EnduringPtSelSplitterPos: integer;
     336   EnduringPtSelSplitterPos, frmFrameHeight, pnlPatientSelectedHeight: integer;
    327337    procedure SetBADxList;
     338    procedure SetActiveTab(PageID: Integer);
    328339
    329340    function PageIDToTab(PageID: Integer): Integer;
     
    332343    function  TabExists(ATabID: integer): boolean;
    333344    procedure DisplayEncounterText;
     345    function DLLActive: boolean;
    334346    property ChangeSource:    Integer read FChangeSource;
    335347    property CCOWContextChanging: Boolean read FCCOWContextChanging;
     
    340352    property Closing:         Boolean read FClosing;
    341353    property OnTabChanged:    TNotifyEvent read FTabChanged write FTabChanged;
    342     property VitalsDLLActive: boolean read FVitalsDLLActive write FVitalsDLLActive;
    343354    property GraphFloatActive: boolean read FGraphFloatActive write FGraphFloatActive;
    344355    property GraphContext: string read FGraphContext write FGraphContext;
    345356    procedure ToggleMenuItemChecked(Sender: TObject);
    346357    procedure SetUpCIRN;
     358    property DoNotChangeEncWindow: boolean read FDoNotChangeEncWindow write FDoNotChangeEncWindow;
     359    property OrderPrintForm: boolean read FOrderPrintForm write FOrderPrintForm;
    347360  end;
    348361
     
    354367  ctxContextor : TContextorControl;
    355368  NextTab, LastTab: Integer;
    356   uToolsMaxed, uToolsWarned: boolean;
     369  uToolsMaxed, uToolsWarned, uUseVistaWeb: boolean;
    357370
    358371const
     
    370383  fxLists, fxServer, ORSystem, fRptBox, fSplash, rODAllergy, uInit, fLabTests, fLabInfo,
    371384  uReminders, fReminderTree, ORClasses, fDeviceSelect, fDrawers, fReminderDialog, ShellAPI, rVitals,
    372   fOptions, fGraphs, rTemplates, fSurgery, rSurgery, uEventHooks, uSignItems, fDefaultEvent,rECS,
    373   fIconLegend, uOrders, fPtSelOptns, DateUtils, uSpell, uOrPtf, fPatientFlagMulti,
    374   fAlertForward, UBAGlobals, fBAOptionsDiagnoses, UBACore, fOrdersSign, uVitals, fOrdersRenew, uFormMonitor
     385  fOptions, fGraphs, fGraphData, rTemplates, fSurgery, rSurgery, uEventHooks, uSignItems,
     386  fDefaultEvent, rECS, fIconLegend, uOrders, fPtSelOptns, DateUtils, uSpell, uOrPtf, fPatientFlagMulti,
     387  fAlertForward, UBAGlobals, fBAOptionsDiagnoses, UBACore, fOrdersSign, uVitals, fOrdersRenew, fMHTest, uFormMonitor
    375388  {$IFDEF CCOWBROKER}
    376389  , CCOW_const
    377390  {$ENDIF}
    378   ;
     391  , VA508AccessibilityRouter, fOtherSchedule, VAUtils, uVA508CPRSCompatibility, fIVRoutes,
     392  fPrintLocation, fTemplateEditor;
    379393
    380394var                                 //  RV 05/11/04
     
    453467
    454468procedure TfrmFrame.TimeOutAction;
    455 begin
    456   if frmFrame.VitalsDLLActive then
    457     CloseVitalsDLL()
    458   else
    459     Close;
     469var
     470  ClosingCPRS: boolean;
     471
     472  procedure CloseCPRS;
     473  begin
     474    if ClosingCPRS then
     475      halt;
     476    try
     477      ClosingCPRS := TRUE;
     478      Close;
     479    except
     480      halt;
     481    end;
     482  end;
     483
     484begin
     485  ClosingCPRS := FALSE;
     486  try
     487    if assigned(frmOtherSchedule) then frmOtherSchedule.Close;
     488    if assigned (frmIVRoutes) then frmIVRoutes.Close;
     489    if frmFrame.DLLActive then
     490    begin
     491       CloseVitalsDLL();
     492       CloseMHDLL();
     493    end;
     494    CloseCPRS;
     495  except
     496    CloseCPRS;
     497  end;
    460498end;
    461499
     
    478516      ErrMsg := ErrMsg + CRLF + 'Address was ' + IntToStr(Integer(AnAddr));
    479517    end;
    480     ShowMessage(ErrMsg);
     518    ShowMsg(ErrMsg);
    481519  end
    482520  else if (E is EBrokerError) then
     
    507545  FContextChanging := True;
    508546  Result := True;
    509   if COMObjectActive or SpellCheckInProgress or VitalsDLLActive then
     547  if COMObjectActive or SpellCheckInProgress or DLLActive then
    510548    begin
    511549      Reason := 'COM_OBJECT_ACTIVE';
     
    523561  if Result then Result := frmLabs.AllowContextChange(Reason);;
    524562  if Result then Result := frmReports.AllowContextChange(Reason);
     563  if Result then Result := frmGraphData.AllowContextChange(Reason);
    525564  if (not User.IsReportsOnly) then
    526565    if Result and Changes.RequireReview then //Result := ReviewChanges(TimedOut);
     
    546585{ call all pages to make sure patient related information is cleared (when switching patients) }
    547586begin
    548   if frmFrame.Timedout then Exit; // added to correct Access Violation when "Refresh Patient Information" selected
     587  //if frmFrame.Timedout then Exit; // added to correct Access Violation when "Refresh Patient Information" selected
    549588  lblPtName.Caption     := '';
    550589  lblPtSSN.Caption      := '';
     
    552591  pnlPatient.Caption    := '';
    553592  lblPtCWAD.Caption     := '';
    554   lblPtLocation.Caption := 'Visit Not Selected';
    555   lblPtProvider.Caption := 'Current Provider Not Selected';
    556   pnlVisit.Caption      := lblPtLocation.Caption + CRLF + lblPtProvider.Caption;
     593  if DoNotChangeEncWindow = false then
     594     begin
     595      lblPtLocation.Caption := 'Visit Not Selected';
     596      lblPtProvider.Caption := 'Current Provider Not Selected';
     597      pnlVisit.Caption      := lblPtLocation.Caption + CRLF + lblPtProvider.Caption;
     598     end;
    557599  lblPtCare.Caption     := 'Primary Care Team Unassigned';
    558600  lblPtAttending.Caption := '';
     
    567609  if Assigned(frmSurgery) then frmSurgery.ClearPtData;
    568610  frmLabs.ClearPtData;
     611  frmGraphData.ClearPtData;
    569612  frmReports.ClearPtData;
    570613  tabPage.TabIndex := PageIDToTab(CT_NOPAGE);       // to make sure DisplayPage gets called
     
    572615  ClearReminderData;
    573616  SigItems.Clear;
     617  Changes.Clear;
    574618  lstCIRNLocations.Clear;
    575619  uRemoteType := '';
     
    584628    DisplayData('top');
    585629    DisplayData('bottom');
    586     lstCheck.Items.Clear;
     630    GtslCheck.Clear;
    587631    Caption := 'CPRS Graphing - Patient: ' + MixedCase(Patient.Name);
     632  end;
     633  if frmFrame.TimedOut then
     634  begin
     635    infoBox('CPRS has encountered a serious problem and is unable to display the selected patient''s data. This is a known issue documented in PSPO 1089.'
     636            + 'To prevent patient safety issues, CPRS is shutting down. Shutting down and then restarting CPRS will correct the problem, and you may continue working in CPRS.'
     637             + CRLF + CRLF + 'Please report all occurrences of this problem by contacting your CPRS Help Desk.', 'CPRS Error', MB_OK);
     638    frmFrame.Close;
    588639  end;
    589640end;
     
    592643{ updates the display in the header bar of encounter related information (location & provider) }
    593644begin
     645  if DoNotChangeEncWindow = true then exit;
    594646  with Encounter do
    595647  begin
     
    605657end;
    606658
     659function TfrmFrame.DLLActive: boolean;
     660begin
     661  Result := (VitalsDLLHandle <> 0) or (MHDLLHandle <> 0);
     662end;
     663
    607664{ Form Events (Create, Destroy) ----------------------------------------------------------- }
    608665
     
    618675  ClientVer, ServerVer, ServerReq: string;
    619676begin
     677  FProccessingNextClick := false;
    620678  FJustEnteredApp := false;
    621679  SizeHolder := TSizeHolder.Create;
     
    801859  GraphFloatActive := false;
    802860  GraphContext := '';
     861  frmGraphData := TfrmGraphData.Create(self);        // form is only visible for testing
     862  GraphDataOnUser;
    803863  uRemoteType := '';
    804864  FPrevPtID := '';
     
    894954  Screen.OnActiveFormChange := FOldActiveFormChange;
    895955  FNextButtonBitmap.Free;
     956  if FNextButton <> nil then FNextButton.Free;
    896957  uTabList.Free;
    897958  FlaggedPTList.Free;
     
    10141075                 +' Division='+GetDivisionID;
    10151076
     1077end;
     1078
     1079procedure TfrmFrame.compAccessTabPageCaptionQuery(Sender: TObject;
     1080  var Text: string);
     1081begin
     1082  Text := GetTabText;
    10161083end;
    10171084
     
    10411108
    10421109procedure TfrmFrame.FormClose(Sender: TObject; var Action: TCloseAction);
    1043 //var
    1044 //  i: Integer;
    1045 //  UserTool: TMenuItem;
    10461110begin
    10471111  FClosing := TRUE;
     
    10821146    frmLabs.Close;       //frmLabs.Release;
    10831147    frmReports.Close;    //frmReports.Release;
     1148    frmGraphData.Close;  //frmGraphData.Release;
     1149 
    10841150  end;
    10851151//  with mnuTools do for i := Count - 1 downto 0 do
     
    12021268    if NewForm.Name = frmConsults.Name then frmConsults.Align := alClient
    12031269      else frmConsults.Align := alNone;
     1270    if NewForm.Name = frmReports.Name then frmReports.Align := alClient
     1271      else frmReports.Align := alNone;
    12041272    if NewForm.Name = frmDCSumm.Name then frmDCSumm.Align := alClient
    12051273      else frmDCSumm.Align := alNone;
     
    12081276        else frmSurgery.Align := alNone;
    12091277    NewForm.BringToFront;                    // to cause tab switch to happen immediately
    1210     NewForm.FocusFirstControl;
     1278//CQ12232 NewForm.FocusFirstControl;
    12111279    Application.ProcessMessages;
    12121280    PostMessage(Handle, UM_SHOWPAGE, 0, 0);  // this calls DisplayPage for the form
     
    12241292procedure TfrmFrame.tabPageChange(Sender: TObject);
    12251293{ switches to form linked to NewTab }
    1226 begin
    1227 
     1294var
     1295  PageID : integer;
     1296begin
     1297  PageID := TabToPageID((sender as TTabControl).TabIndex);
     1298  if (PageID <> CT_NOPAGE) and (TabPage.CanFocus) and Assigned(FLastPage) and
     1299     (not TabPage.Focused) then
     1300    TabPage.SetFocus;  //CQ: 14854
    12281301  if (not User.IsReportsOnly) then
    12291302  begin
    1230     case TabToPageID((sender as TTabControl).TabIndex) of
     1303    case PageID of
    12311304      CT_NOPAGE:   SwitchToPage(nil);
    12321305      CT_COVER:    SwitchToPage(frmCover);
     
    12441317  else // Reports Only tab.
    12451318    SwitchToPage(frmReports);
    1246 
     1319  if ScreenReaderSystemActive and FCtrlTabUsed then
     1320    SpeakPatient;
    12471321end;
    12481322
     
    13071381    lblPtName.Caption := Name;
    13081382    lblPtSSN.Caption := SSN;
    1309     lblPtAge.Caption := FormatFMDateTime('mmm dd,yyyy', DOB) + ' (' + IntToStr(Age) + ')';
     1383//
     1384    { TODO -oRV -cWVEHR Long Age : Change for long patient age. }
     1385    lblPtAge.Caption := FormatFMDateTime('mmm dd,yyyy', DOB) + '   (' + GetPatientBriefAge(Patient.DFN) + ')';
     1386    //lblPtAge.Caption := FormatFMDateTime('mmm dd,yyyy', DOB) + ' (' + IntToStr(Age) + ')';
     1387//
    13101388    pnlPatient.Caption := lblPtName.Caption + ' ' + lblPtSSN.Caption + ' ' + lblPtAge.Caption;
    13111389    if Length(CWAD) > 0
     
    13311409    begin
    13321410      pnlFlag.Enabled := True;
    1333       lblFlag.Font.Color := clMaroon;
     1411      lblFlag.Font.Color := Get508CompliantColor(clMaroon);
    13341412      lblFlag.Enabled := True;
    13351413      if (not FReFreshing) and (TriggerPRFPopUp(Patient.DFN)) then
     
    13541432  Reason: string;
    13551433  CCOWResponse: UserResponse;
     1434  AccessStatus: integer;
    13561435
    13571436    procedure UpdatePatientInfoForAlert;
     
    13711450
    13721451begin
     1452  DoNotChangeEncWindow := False;
     1453  mnuFile.Tag := 0;
    13731454  SaveDFN := Patient.DFN;
    13741455  Notifications.Next;
     
    13811462    begin
    13821463      // newdfn does not have new patient.co information for CCOW call
    1383       if (AllowContextChangeAll(Reason)) then
     1464      if ((Sender = mnuFileOpen) or (AllowContextChangeAll(Reason)))
     1465          and AllowAccessToSensitivePatient(NewDFN, AccessStatus) then
    13841466      begin
    13851467        RemindersStarted := FALSE;
     
    14211503      end else
    14221504      begin
    1423         Patient.DFN := SaveDFN;
    1424         Notifications.Prior;
    1425         Exit;
     1505        if AccessStatus in [DGSR_ASK, DGSR_DENY] then
     1506        begin
     1507          Notifications.Clear;
     1508          // hide the 'next notification' button
     1509          FNextButtonActive := False;
     1510          FNextButton.Free;
     1511          FNextButton := nil;
     1512          mnuFileNext.Enabled := False;
     1513          mnuFileNotifRemove.Enabled := False;
     1514          Patient.DFN := '';
     1515          mnuFileOpenClick(mnuFileNext);
     1516          exit;
     1517        end
     1518        else
     1519        if SaveDFN <> '' then
     1520        begin
     1521          Patient.DFN := SaveDFN;
     1522          Notifications.Prior;
     1523          Exit;
     1524        end
     1525        else
     1526        begin
     1527          Notifications.Clear;
     1528(*          // hide the 'next notification' button
     1529          FNextButtonActive := False;
     1530          FNextButton.Free;
     1531          FNextButton := nil;
     1532          mnuFileNext.Enabled := False;
     1533          mnuFileNotifRemove.Enabled := False;*)
     1534          Patient.DFN := '';
     1535          mnuFileOpenClick(mnuFileNext);
     1536          exit;
     1537        end;
    14261538      end;
    14271539    end;
     
    14851597        end;
    14861598    NF_LAB_THRESHOLD_EXCEEDED        : NextIndex := PageIDToTab(CT_LABS);
     1599    NF_MAMMOGRAM_RESULTS             : NextIndex := PageIDToTab(CT_REPORTS);
     1600    NF_PAP_SMEAR_RESULTS             : NextIndex := PageIDToTab(CT_REPORTS);
     1601    NF_ANATOMIC_PATHOLOGY_RESULTS    : NextIndex := PageIDToTab(CT_REPORTS);
    14871602    NF_SURGERY_UNSIGNED_NOTE         : if TabExists(CT_SURGERY) then
    14881603                                         NextIndex := PageIDToTab(CT_SURGERY)
     
    14981613end;
    14991614
    1500 
    15011615procedure TfrmFrame.SetBADxList;
    15021616var
     
    15381652begin
    15391653  PtSelCancelled := FALSE;
     1654  if not FRefreshing then mnuFile.Tag := 0
     1655  else mnuFile.Tag := 1;
    15401656  DetermineNextTab;
    15411657(*  if (FRefreshing or User.UseLastTab) and (not FFirstLoad) then
     
    15541670        PtEvtCompleted(TheCurrentView.EventDelay.PtEventIFN, TheCurrentView.EventDelay.EventName);
    15551671    end;*)
    1556   if not AllowContextChangeAll(Reason) then Exit;
     1672  //if Sender <> mnuFileNext then     //CQ 16273 & 16419 - Missing Review/Sign changes dialog when clicking 'Next' button
     1673    if not AllowContextChangeAll(Reason) then Exit;
    15571674     
    15581675  // update status text here
     
    16131730        if PtSelCancelled then exit;
    16141731        ShowEverything;
     1732        //HideEverything('Retrieving information - please wait....');  //v27 (pending) RV
    16151733        DisplayEncounterText;
    16161734        FPrevInPatient := Patient.Inpatient;
     
    16181736        begin
    16191737          // display 'next notification' button
     1738          SetUpNextButton;
    16201739          FNextButtonActive := True;
    1621           with stsArea.Panels[2] do
    1622           begin
    1623             //Text := 'Next ->';
    1624             Bevel := pbRaised;
    1625           end;
    16261740          mnuFileNext.Enabled := True;
    1627           mnuFileNextClick(Self);
     1741          mnuFileNextClick(mnuFileOpen);
    16281742        end
    16291743        else
     
    16311745          // hide the 'next notification' button
    16321746          FNextButtonActive := False;
    1633           with stsArea.Panels[2] do
    1634           begin
    1635             //Text := '';
    1636             Bevel := pbLowered;
    1637           end;
     1747          FNextButton.Free;
     1748          FNextButton := nil;
    16381749          mnuFileNext.Enabled := False;
    16391750          mnuFileNotifRemove.Enabled := False;
     
    16991810  if  BILLING_AWARE then frmFrame.SetBADxList; //end IsBillingAware
    17001811 {End BillingAware}
     1812 //ShowEverything;  //v27 (pending) RV
     1813 if not FRefreshing then DoNotChangeEncWindow := false;
    17011814 //frmCover.UpdateVAAButton; //VAA CQ7525   CQ#7933 - moved to SetupPatient, before event hook execution (RV)
    17021815end;
     
    17151828  if NextTab = CT_NOPAGE then NextTab := User.InitialTab;
    17161829  if User.IsReportsOnly then // Reports Only tab.
    1717     NextTab := 0; // Only one tab should exist by this point in "REPORTS ONLY" mode.
     1830    NextTab := CT_REPORTS; // Only one tab should exist by this point in "REPORTS ONLY" mode.
    17181831  if not TabExists(NextTab) then NextTab := CT_COVER;
    17191832  if NextTab = CT_NOPAGE then NextTab := User.InitialTab;
     
    17391852  NameNeedLook: string;
    17401853begin
     1854  FReviewClick := True;
     1855  mnuFile.Tag := 1;
    17411856  EventChanges := False;
    17421857  NameNeedLook := '';
     
    17571872  end
    17581873  else InfoBox('No new changes to review/sign.', 'Review Changes', MB_OK);
     1874  FOrderPrintForm := false;
     1875  FReviewClick := false;
    17591876end;
    17601877
     
    17771894     on EAccessViolation do
    17781895        begin
    1779         {$ifdef debug}ShowMessage('Access Violation in procedure TfrmFrame.mnuFileExitClick()');{$endif}
     1896        {$ifdef debug}Show508Message('Access Violation in procedure TfrmFrame.mnuFileExitClick()');{$endif}
    17801897        raise;
    17811898        end;
    17821899     on E: Exception do
    17831900        begin
    1784         {$ifdef debug}ShowMessage('Unhandled exception in procedure TfrmFrame.mnuFileExitClick()');{$endif}
     1901        {$ifdef debug}Show508Message('Unhandled exception in procedure TfrmFrame.mnuFileExitClick()');{$endif}
    17851902        raise;
    17861903        end;
     
    18561973           if Pos('ecs gui.exe',lowerCase(AFile))<1 then
    18571974           begin
    1858              ShowMessage('This is not a valid ECS application.');
     1975             ShowMsg('This is not a valid ECS application.');
    18591976             Result := True;
    18601977           end else
     
    18962013           if Pos('ecs gui.exe',lowerCase(AFile))<1 then
    18972014           begin
    1898              ShowMessage('This is not a valid ECS application.');
     2015             ShowMsg('This is not a valid ECS application.');
    18992016             Result := True;
    19002017           end else
     
    19332050    if FECSAuthUser then UpdateECSParameter(ECSAppend)
    19342051    else begin
    1935       ShowMessage('You don''t have permission to use ECS.');
     2052      ShowMsg('You don''t have permission to use ECS.');
    19362053      exit;
    19372054    end;
     
    20032120end;
    20042121
    2005 procedure TfrmFrame.stsAreaMouseDown(Sender: TObject; Button: TMouseButton;
    2006   Shift: TShiftState; X, Y: Integer);
    2007 begin
    2008   if (FNextButtonActive) and (X > FNextButtonL) and (X < FNextButtonR) then
    2009   begin
    2010     stsArea.Panels[2].Bevel := pbLowered;
    2011     popAlerts.AutoPopup := TRUE;
    2012   end;
    2013 end;
    2014 
    2015 procedure TfrmFrame.stsAreaMouseUp(Sender: TObject; Button: TMouseButton;
    2016   Shift: TShiftState; X, Y: Integer);
    2017 begin
    2018   if FNextButtonActive then
    2019   begin
    2020     stsArea.Panels[2].Bevel := pbRaised;
    2021     popAlerts.AutoPopup := FALSE;
    2022     if (X > FNextButtonL) and (X < FNextButtonR) then
    2023       if Button = mbLeft then mnuFileNextClick(Self);
    2024   end;
    2025 end;
    2026 
    2027 procedure TfrmFrame.stsAreaDrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel;
    2028   const Rect: TRect);
    2029 begin
    2030   if FNextButtonActive then with StatusBar.Canvas do
    2031   begin
    2032     Draw(Rect.Left + 2, Rect.Top, FNextButtonBitmap);   { draw bitmap }
    2033     TextOut(Rect.Left + 20, Rect.Top + 2, 'Next');        { draw text to the right of the bitmap }
    2034   end;
    2035 end;
    2036 
    20372122{ Toolbar Methods (make panels act like buttons) ------------------------------------------- }
    20382123
     
    20592144end;
    20602145
    2061 procedure TfrmFrame.pnlVisitMouseDown(Sender: TObject; Button: TMouseButton;
    2062   Shift: TShiftState; X, Y: Integer);
    2063 { emulate a button press in the encounter panel }
    2064 begin
    2065   if User.IsReportsOnly then
    2066     exit;
    2067   pnlVisit.BevelOuter := bvLowered;
    2068   //with lblStLocation do SetBounds(Left+2, Top+2, Width, Height);
    2069   with lblPtLocation do SetBounds(Left+2, Top+2, Width, Height);
    2070   with lblPtProvider do SetBounds(Left+2, Top+2, Width, Height);
    2071 end;
    2072 
    2073 procedure TfrmFrame.pnlVisitMouseUp(Sender: TObject; Button: TMouseButton;
    2074   Shift: TShiftState; X, Y: Integer);
    2075 { emulate a button raising in the encounter panel and call Update Provider/Location }
    2076 begin
    2077   if User.IsReportsOnly then
    2078     exit;
    2079   pnlVisit.BevelOuter := bvRaised;
    2080   //with lblStLocation do SetBounds(Left-2, Top-2, Width, Height);
    2081   with lblPtLocation do SetBounds(Left-2, Top-2, Width, Height);
    2082   with lblPtProvider do SetBounds(Left-2, Top-2, Width, Height);
    2083 end;
    2084 
    20852146procedure TfrmFrame.pnlPrimaryCareMouseDown(Sender: TObject;
    20862147  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
     
    21222183var
    21232184  s1, s2, s3, s4, Dummy: integer;
    2124 
    21252185  panelBottom, panelMedIn : integer;
    21262186
     
    21402200  SetUserColumns(TControl(frmMeds.hdrMedsIn));  // still need conversion
    21412201  SetUserColumns(TControl(frmMeds.hdrMedsOut));
     2202  SetUserBounds2(TemplateEditorSplitters, tmplEditorSplitterMiddle,
     2203                 tmplEditorSplitterProperties, tmplEditorSplitterMain, tmplEditorSplitterBoil);
     2204  SetUserBounds2(TemplateEditorSplitters2, tmplEditorSplitterNotes, Dummy, Dummy, Dummy);
    21422205  SetUserBounds2(ReminderTreeName, RemTreeDlgLeft, RemTreeDlgTop, RemTreeDlgWidth, RemTreeDlgHeight);
    21432206  SetUserBounds2(RemDlgName, RemDlgLeft, RemDlgTop, RemDlgWidth, RemDlgHeight);
     
    22092272      Add(StrUserColumns(frmMeds.hdrMedsIn));
    22102273      Add(StrUserColumns(frmMeds.hdrMedsOut));
     2274      Add(StrUserBounds2(TemplateEditorSplitters, tmplEditorSplitterMiddle,
     2275              tmplEditorSplitterProperties, tmplEditorSplitterMain, tmplEditorSplitterBoil));
     2276      Add(StrUserBounds2(TemplateEditorSplitters2, tmplEditorSplitterNotes, 0, 0, 0));
    22112277      Add(StrUserBounds2(ReminderTreeName, RemTreeDlgLeft, RemTreeDlgTop, RemTreeDlgWidth, RemTreeDlgHeight));
    22122278      Add(StrUserBounds2(RemDlgName, RemDlgLeft, RemDlgTop, RemDlgWidth, RemDlgHeight));
     
    22742340    FNextButtonR := FNextButtonL + Panels[2].Width;
    22752341  end;
     2342  if Notifications.Active then SetUpNextButton;
    22762343  lstCIRNLocations.Left  := FNextButtonL - ScrollBarWidth - 100;
    22772344  lstCIRNLocations.Width := ClientWidth - lstCIRNLocations.Left;
     2345  //cq: 15641
     2346  if frmFrame.FNextButtonActive then // keeps button alligned if cancel is pressed
     2347  begin
     2348    FNextButton.Left := FNextButtonL;
     2349    FNextButton.Top := stsArea.Top;
     2350  end;
    22782351  Self.Repaint;
    22792352end;
     
    23072380      with lblPtCWAD     do Font.Size := NewFontSize;
    23082381      with lblCIRN       do Font.Size := NewFontSize;
    2309       with lblCIRNData   do Font.Size := NewFontSize;
     2382      with lblVistaWeb   do Font.Size := NewFontSize;
    23102383      with lstCIRNLocations do Font.Size := NewFontSize;
    23112384      with tabPage       do Font.Size := NewFontSize;
     
    23132386      with laVAA2        do Font.Size := NewFontSize; //VAA
    23142387
     2388      frmFrameHeight := frmFrame.Height;
     2389      pnlPatientSelectedHeight := pnlPatientSelected.Height;
    23152390      tabPage.Height := MainFontHeight + TAB_VOFFSET;   // resize tab selector
    23162391      FitToolbar;                                       // resize toolbar
     
    23412416  end;
    23422417
    2343   //remove CWAD color if using high-contrast colors
    2344   if ColorToRGB(clWindowText) <> ColorToRGB(clBlack) then
    2345   begin
    2346     lblPtCWAD.Font.Color := clWindowText;
    2347     lblFlag.Font.Color   := clWindowText;
    2348   end;
    2349 
    23502418  case (NewFontSize) of
    23512419   8: mnu8pt.Checked := true;
     
    23542422  14: mnu14pt1.Checked := true;
    23552423  18: mnu18pt1.Checked := true;
    2356   24: mnu24pt1.Checked := true;
    23572424  end;
    23582425
     
    23782445{ resizes and repositions the panels & labels used in the toolbar }
    23792446const
    2380   PATIENT_WIDTH = 29;
     2447{ TODO -oRV -cWVEHR Long Age : Change to 40, to fit long age }
     2448  //PATIENT_WIDTH = 29;
     2449  PATIENT_WIDTH = 40;
     2450{}
    23812451  VISIT_WIDTH   = 36;
    23822452  POSTING_WIDTH = 11.5;
    23832453  FLAG_WIDTH    = 5;
    2384   CIRN_WIDTH    = 7;
     2454  CIRN_WIDTH    = 11;
    23852455  MHV_WIDTH     = 6;
    2386   LINES_HIGH    = 2;
     2456{ TODO -oRV -cWVEHR Long Age : Change to 3 lines high, to fit long age }
     2457  //LINES_HIGH    = 2;
     2458  LINES_HIGH    = 3;
     2459{}
    23872460  M_HORIZ       = 4;
    23882461  M_MIDDLE      = 2;
     
    23932466  //WidthNeeded: integer;
    23942467begin
    2395   pnlToolbar.Height  := (LINES_HIGH * lblPtName.Height) + M_HORIZ + M_MIDDLE + M_HORIZ;
     2468//
     2469  { TODO -oRV -cWVEHR Long Age : Changed to fit long age }
     2470  pnlToolbar.Height  := (LINES_HIGH * lblPtName.Height) + M_HORIZ + M_MIDDLE + M_HORIZ + M_HORIZ;
     2471  //pnlToolbar.Height  := (LINES_HIGH * lblPtName.Height) + M_HORIZ + M_MIDDLE + M_HORIZ;
     2472//
    23962473  pnlPatient.Width   := HigherOf(PATIENT_WIDTH * MainFontWidth, lblPtName.Width + (M_WVERT * 2));
    23972474  lblPtSSN.Top       := M_HORIZ + lblPtName.Height + M_MIDDLE;
    2398   lblPtAge.Top       := lblPtSSN.Top;
    2399   lblPtAge.Left      := pnlPatient.Width - lblPtAge.Width - M_WVERT;
     2475//
     2476  { TODO -oRV -cWVEHR Long Age : Changed to fit long age }
     2477  lblPtAge.Top       := lblPtSSN.Top + lblPtSSN.Height + M_MIDDLE;
     2478  lblPtAge.Left      := lblPtSSN.Left;
     2479  //lblPtAge.Top       := lblPtSSN.Top;
     2480  //lblPtAge.Left      := pnlPatient.Width - lblPtAge.Width - M_WVERT;
     2481//
    24002482  pnlVisit.Width     := HigherOf(LowerOf(VISIT_WIDTH * MainFontWidth,
    24012483                                         HigherOf(lblPtProvider.Width + (M_WVERT * 2),
     
    24042486  lblPtProvider.Top  := lblPtSSN.Top;
    24052487  lblPtAttending.Top := lblPtSSN.Top;
    2406   lblCIRNData.Top    := lblPtSSN.Top;
    24072488  pnlPostings.Width  := Round(POSTING_WIDTH * MainFontWidth);
    24082489  pnlFlag.Width      := Round(FLAG_WIDTH * MainFontWidth);
    24092490  pnlFlag.Width      := Round(FLAG_WIDTH * MainFontWidth);
    2410   pnlCIRN.Width      := Round(CIRN_WIDTH * MainFontWidth) + M_WVERT;
    2411   paVAA.Width        := Round(MHV_WIDTH * MainFontWidth) + M_WVERT;
     2491  pnlRemoteData.Width := Round(CIRN_WIDTH * MainFontWidth) + M_WVERT;
     2492  pnlVistaWeb.Height := pnlRemoteData.Height div 2;
     2493  paVAA.Width        := Round(MHV_WIDTH * MainFontWidth) + M_WVERT + 2;
    24122494  with lblPtPostings do
    24132495    SetBounds(M_WVERT, M_HORIZ, pnlPostings.Width-M_WVERT-M_WVERT, lblPtName.Height);
     
    24522534begin
    24532535  if (frmRemDlg <> nil) then
    2454     ShowMessage('Please close the reminder dialog before changing font sizes.')
     2536    ShowMsg('Please close the reminder dialog before changing font sizes.')
    24552537  else
    24562538     if (dlgProbs <> nil) then
    2457     ShowMessage('Font size cannot be changed while adding or editing a problem.')
     2539    ShowMsg('Font size cannot be changed while adding or editing a problem.')
    24582540  else
    24592541     begin
     
    26912773  ASite: TRemoteSite;
    26922774begin
     2775  uUseVistaWeb := false;
    26932776  with RemoteSites do
    2694   if UseVistaWeb then
    2695     begin
    2696       ChangePatient(Patient.DFN);
    2697       lblCIRN.Caption := 'Remote';      //VistaWeb On
    2698       lblCIRNData.Caption := 'Data*';
    2699       pnlCIRN.Caption := 'Remote Data';
    2700       lblCIRN.Width := 43;
    2701       lblCIRNData.Width := 43;
    2702       lblCIRNData.Alignment := taCenter;
    2703       lblCIRN.Alignment := taCenter;
    2704       lblCIRN.Enabled     := True;
    2705       lblCIRNData.Enabled := True;
    2706       lblCIRNAvail.Enabled := True;
    2707       pnlCIRN.TabStop     := True;
    2708       if RemoteDataExists and (RemoteSites.Count > 0) then
    2709         begin
    2710           lblCIRN.Enabled     := True;
    2711           lblCIRNData.Enabled := True;
    2712           lblCIRNAvail.Enabled := True;
    2713           pnlCIRN.TabStop     := True;
    2714           if ColorToRGB(clWindowText) = ColorToRGB(clBlack) then
    2715             begin
    2716               lblCIRN.Font.Color  := clBlue;
    2717               lblCIRNData.Font.Color  := clBlue;
    2718               lblCIRNAvail.Font.Color := clBlue;
    2719               lstCIRNLocations.Font.Color  := clBlue;
    2720               lblCIRN.Caption := 'Remote';
    2721               lblCIRNData.Caption := 'Data*';
    2722               lblCIRNAvail.Caption := 'Available';
    2723               pnlCIRN.Caption := 'Remote Data Available';
    2724             end
    2725           else
    2726             begin
    2727               lblCIRN.Font.Color  := clWindowText;
    2728               lblCIRNData.Font.Color  := clWindowText;
    2729               lblCIRNAvail.Font.Color := clWindowText;
    2730               lstCIRNLocations.Font.Color  := clWindowText;
    2731             end;
    2732         end
    2733       else
    2734         begin
    2735           lblCIRN.Font.Color  := clWindowText;
    2736           lblCIRNData.Font.Color  := clWindowText;
    2737           lblCIRNAvail.Font.Color := clWindowText;
    2738           lblCIRN.Enabled     := False;
    2739           lblCIRNData.Enabled := False;
    2740           lblCIRNAvail.Enabled := False;
    2741           pnlCIRN.TabStop     := False;
    2742           pnlCIRN.Hint := NoDataReason;
    2743         end;
    2744       pnlCIRN.Hint := 'Click to open VistaWeb';
    2745     end
    2746   else
    2747     begin
    2748       ChangePatient(Patient.DFN);
    2749       lblCIRN.Caption := ' Remote';
    2750       lblCIRNData.Caption := 'Data';
    2751       pnlCIRN.Caption := 'Remote Data';
    2752       lblCIRNAvail.Caption := '';
    2753       lblCIRN.Width := 43;
    2754       lblCIRNData.Width := 43;
    2755       lblCIRNData.Alignment := taCenter;
    2756       lblCIRN.Alignment := taCenter;
    2757       if RemoteDataExists and (RemoteSites.Count > 0) then
    2758         begin
    2759           lblCIRN.Enabled     := True;
    2760           lblCIRNData.Enabled := True;
    2761           lblCIRNAvail.Enabled := True;
    2762           pnlCIRN.TabStop     := True;
    2763           if ColorToRGB(clWindowText) = ColorToRGB(clBlack) then
    2764             begin
    2765               lblCIRN.Font.Color  := clBlue;
    2766               lblCIRNData.Font.Color  := clBlue;
    2767               lblCIRNAvail.Font.Color := clBlue;
    2768               lstCIRNLocations.Font.Color  := clBlue;
    2769               lblCIRN.Caption := 'Remote';
    2770               lblCIRNData.Caption := 'Data';
    2771               lblCIRNAvail.Caption := 'Available';
    2772               pnlCIRN.Caption := 'Remote Data Available';
    2773             end
    2774           else
    2775             begin
    2776               lblCIRN.Font.Color  := clWindowText;
    2777               lblCIRNData.Font.Color  := clWindowText;
    2778               lblCIRNAvail.Font.Color := clWindowText;
    2779               lstCIRNLocations.Font.Color  := clWindowText;
    2780               lblCIRNAvail.Color := clWindowText;
    2781             end;
    2782           pnlCIRN.Hint := 'Click to display other facilities having data for this patient.';
    2783           lstCIRNLocations.Items.Add('-1' + U + 'Use VistaWeb from now on');
    2784           if RemoteSites.Count > 0 then
    2785             lstCIRNLocations.Items.Add('0' + U + 'All Available Sites');
    2786           for i := 0 to RemoteSites.Count - 1 do
    2787             begin
    2788               ASite := TRemoteSite(SiteList[i]);
    2789               lstCIRNLocations.Items.Add(ASite.SiteID + U + ASite.SiteName + U +
    2790                 FormatFMDateTime('mmm dd yyyy hh:nn', ASite.LastDate));
    2791             end;
    2792         end
    2793       else
    2794         begin
    2795           lblCIRN.Font.Color  := clWindowText;
    2796           lblCIRNData.Font.Color  := clWindowText;
    2797           lblCIRNAvail.Font.Color := clWindowText;
    2798           lblCIRN.Enabled     := False;
    2799           lblCIRNData.Enabled := False;
    2800           lblCIRNAvail.Enabled := False;
    2801           pnlCIRN.TabStop     := False;
    2802           pnlCIRN.Hint := NoDataReason;
    2803         end;
     2777  begin
     2778    ChangePatient(Patient.DFN);
     2779    lblCIRN.Caption := ' Remote Data';
     2780    lblCIRN.Alignment := taCenter;
     2781    if RemoteDataExists and (RemoteSites.Count > 0) then
     2782      begin
     2783        lblCIRN.Enabled     := True;
     2784        pnlCIRN.TabStop     := True;
     2785        lblCIRN.Font.Color  := Get508CompliantColor(clBlue);
     2786        lstCIRNLocations.Font.Color  := Get508CompliantColor(clBlue);
     2787        lblCIRN.Caption := 'Remote Data';
     2788        pnlCIRN.Hint := 'Click to display other facilities having data for this patient.';
     2789        if RemoteSites.Count > 0 then
     2790          lstCIRNLocations.Items.Add('0' + U + 'All Available Sites');
     2791        for i := 0 to RemoteSites.Count - 1 do
     2792          begin
     2793            ASite := TRemoteSite(SiteList[i]);
     2794            lstCIRNLocations.Items.Add(ASite.SiteID + U + ASite.SiteName + U +
     2795              FormatFMDateTime('mmm dd yyyy hh:nn', ASite.LastDate));
     2796          end;
     2797      end
     2798    else
     2799      begin
     2800        lblCIRN.Font.Color  := clWindowText;
     2801        lblCIRN.Enabled     := False;
     2802        pnlCIRN.TabStop     := False;
     2803        pnlCIRN.Hint := NoDataReason;
     2804      end;
    28042805    aAutoQuery := AutoRDV;        //Check to see if Remote Queries should be used for all available sites
    28052806    if (aAutoQuery = '1') and (lstCIRNLocations.Count > 0) then
     
    28132814
    28142815procedure TfrmFrame.pnlCIRNClick(Sender: TObject);
    2815 //var
    2816 //  aAddress: string;
    2817 begin
    2818   {if UseVistaWeb then
    2819     begin
    2820       pnlCIRN.BevelOuter := bvRaised;
    2821       pnlCIRN.Hint := 'Click to open VistaWeb';
    2822       lblCIRN.Width := 43;
    2823       lblCIRNData.Width := 43;
    2824       lblCIRNData.Alignment := taCenter;
    2825       lblCIRN.Alignment := taCenter;
    2826       lstCIRNLocations.Visible := false;
    2827       lstCIRNLocations.SendToBack;
    2828       aAddress := GetVistaWebAddress(Patient.DFN);
    2829       ShellExecute(Handle, 'open', PChar(aAddress), PChar(''), '', SW_NORMAL);
    2830       Exit;
    2831     end;
    2832   if not RemoteSites.RemoteDataExists then Exit;
    2833   if (not lstCIRNLocations.Visible) then
    2834     begin
    2835       pnlCIRN.BevelOuter := bvLowered;
    2836       lstCIRNLocations.Visible := True;
    2837       lstCIRNLocations.BringToFront;
    2838       lstCIRNLocations.SetFocus;
    2839       pnlCIRN.Hint := 'Click to close list.';
    2840     end
    2841   else
    2842     begin
    2843       pnlCIRN.BevelOuter := bvRaised;
    2844       lstCIRNLocations.Visible := False;
    2845       lstCIRNLocations.SendToBack;
    2846       pnlCIRN.Hint := 'Click to display other facilities having data for this patient.';
    2847     end }
     2816begin
    28482817  ViewInfo(mnuViewRemoteData);
    28492818end;
    28502819
    28512820procedure TfrmFrame.lstCIRNLocationsClick(Sender: TObject);
    2852 const
    2853   DGSR_FAIL = -1;
    2854   DGSR_NONE =  0;
    2855   DGSR_SHOW =  1;
    2856   DGSR_ASK  =  2;
    2857   DGSR_DENY =  3;
    28582821var
    28592822  iIndex,j,iAll,iCur: integer;
     
    28642827  AccessStatus := 0;
    28652828  iIndex := lstCIRNLocations.ItemIndex;
    2866   if iIndex = 0 then
    2867     if (piece(lstCIRNLocations.Items[0],'^',1) = '-1') and (lstCIRNLocations.Checked[iIndex] = true) then
    2868       begin
    2869         if MessageDlg('Are you sure you want to make VistaWeb your default for viewing Remote Data?',
    2870           mtConfirmation, [mbYes, mbNo], 0) = mrYes then
    2871           begin
    2872             ChangeVistaWebParam('1');
    2873             lblCIRN.Caption := 'Remote';          //VistaWeb On
    2874             lblCIRNData.Caption := 'Data*';
    2875             pnlCIRN.Caption := 'Remote Data';
    2876             lblCIRNAvail.Caption := '';
    2877             lblCIRN.Width := 43;
    2878             lblCIRNData.Width := 43;
    2879             lblCIRNData.Alignment := taCenter;
    2880             lblCIRN.Alignment := taCenter;
    2881             with RemoteSites do if RemoteDataExists and (RemoteSites.Count > 0) then
    2882               begin
    2883                 lblCIRN.Enabled     := True;
    2884                 lblCIRNData.Enabled := True;
    2885                 pnlCIRN.TabStop     := True;
    2886                 if ColorToRGB(clWindowText) = ColorToRGB(clBlack) then
    2887                   begin
    2888                     lblCIRN.Font.Color  := clBlue;
    2889                     lblCIRNData.Font.Color  := clBlue;
    2890                     lstCIRNLocations.Font.Color  := clBlue;
    2891                     lblCIRN.Caption := 'Remote';
    2892                     lblCIRNData.Caption := 'Data*';
    2893                     lblCIRNAvail.Caption := 'Available';
    2894                     pnlCIRN.Caption := 'Remote Data Available';
    2895                   end
    2896                 else
    2897                   begin
    2898                     lblCIRN.Font.Color  := clWindowText;
    2899                     lblCIRNData.Font.Color  := clWindowText;
    2900                     lstCIRNLocations.Font.Color  := clWindowText;
    2901                     lblCIRNAvail.Font.Color := clWindowText;
    2902                   end;
    2903               end;
    2904             pnlCIRNClick(self);
    2905             Exit;
    2906           end
    2907         else
    2908           lstCIRNLocations.Checked[iIndex] := false;
    2909       end
    2910     else
    2911       begin
    2912         ChangeVistaWebParam('0');
    2913         lblCIRN.Caption := 'Remote';
    2914         lblCIRNData.Caption := 'Data';
    2915         pnlCIRN.Caption := 'Remote Data';
    2916         lblCIRN.Width := 43;
    2917         lblCIRNData.Width := 43;
    2918         lblCIRNData.Alignment := taCenter;
    2919         lblCIRN.Alignment := taCenter;
    2920         pnlCIRNClick(self);
    2921         Exit;
    2922       end;
    29232829  if not CheckHL7TCPLink then
    29242830    begin
     
    29492855        with RemoteSites.SiteList do
    29502856        for j := 0 to Count - 1 do
    2951           if lstCIRNLocations.Checked[j+2] = true then
     2857          if lstCIRNLocations.Checked[j+1] = true then
    29522858            begin
    2953               lstCIRNLocations.Checked[j+2] := false;
     2859              lstCIRNLocations.Checked[j+1] := false;
    29542860              TRemoteSite(RemoteSites.SiteList[j]).Selected := false;
    29552861              TRemoteSite(RemoteSites.SiteList[j]).ReportClear;
     
    29672873              Screen.Cursor := crDefault;
    29682874              aMsg := aMsg + ' at site: ' + TRemoteSite(Items[j]).SiteName;
    2969               s := lstCIRNLocations.Items[j+2];
    2970               lstCIRNLocations.Items[j+2] := pieces(s, '^', 1, 3);
     2875              s := lstCIRNLocations.Items[j+1];
     2876              lstCIRNLocations.Items[j+1] := pieces(s, '^', 1, 3);
    29712877              case AccessStatus of
    29722878              DGSR_FAIL: begin
    29732879                           if piece(aMsg,':',1) = 'RPC name not found at site' then //Allow for backward compatibility
    29742880                             begin
    2975                                lstCIRNLocations.Checked[j+2] := true;
     2881                               lstCIRNLocations.Checked[j+1] := true;
    29762882                               TRemoteSite(RemoteSites.SiteList[j]).ReportClear;
    29772883                               TRemoteSite(RemoteSites.SiteList[j]).LabClear;
     
    29812887                             begin
    29822888                               InfoBox(aMsg, TC_DGSR_ERR, MB_OK);
    2983                                lstCIRNLocations.Checked[j+2] := false;
    2984                                lstCIRNLocations.Items[j+2] := pieces(s, '^', 1, 3) + '^' + TC_DGSR_ERR;
     2889                               lstCIRNLocations.Checked[j+1] := false;
     2890                               lstCIRNLocations.Items[j+1] := pieces(s, '^', 1, 3) + '^' + TC_DGSR_ERR;
    29852891                               TRemoteSite(Items[j]).Selected := false;
    29862892                               Continue;
     
    29882894                         end;
    29892895              DGSR_NONE: begin
    2990                            lstCIRNLocations.Checked[j+2] := true;
     2896                           lstCIRNLocations.Checked[j+1] := true;
    29912897                           TRemoteSite(RemoteSites.SiteList[j]).ReportClear;
    29922898                           TRemoteSite(RemoteSites.SiteList[j]).LabClear;
     
    29952901              DGSR_SHOW: begin
    29962902                           InfoBox(AMsg, TC_DGSR_SHOW, MB_OK);
    2997                            lstCIRNLocations.Checked[j+2] := true;
     2903                           lstCIRNLocations.Checked[j+1] := true;
    29982904                           TRemoteSite(RemoteSites.SiteList[j]).ReportClear;
    29992905                           TRemoteSite(RemoteSites.SiteList[j]).LabClear;
     
    30032909                           MB_DEFBUTTON2) = IDYES then
    30042910                           begin
    3005                              lstCIRNLocations.Checked[j+2] := true;
     2911                             lstCIRNLocations.Checked[j+1] := true;
    30062912                             TRemoteSite(RemoteSites.SiteList[j]).ReportClear;
    30072913                             TRemoteSite(RemoteSites.SiteList[j]).LabClear;
     
    30102916                           else
    30112917                             begin
    3012                                lstCIRNLocations.Checked[j+2] := false;
    3013                                lstCIRNLocations.Items[j+2] := pieces(s, '^', 1, 3) + '^' + TC_DGSR_SHOW;
     2918                               lstCIRNLocations.Checked[j+1] := false;
     2919                               lstCIRNLocations.Items[j+1] := pieces(s, '^', 1, 3) + '^' + TC_DGSR_SHOW;
    30142920                               TRemoteSite(Items[j]).Selected := false;
    30152921                               Continue;
     
    30172923              else       begin
    30182924                           InfoBox(AMsg, TC_DGSR_DENY, MB_OK);
    3019                            lstCIRNLocations.Checked[j+2] := false;
    3020                            lstCIRNLocations.Items[j+2] := pieces(s, '^', 1, 3) + '^' + TC_DGSR_DENY;
     2925                           lstCIRNLocations.Checked[j+1] := false;
     2926                           lstCIRNLocations.Items[j+1] := pieces(s, '^', 1, 3) + '^' + TC_DGSR_DENY;
    30212927                           TRemoteSite(Items[j]).Selected := false;
    30222928                           Continue;
     
    31003006                    end;
    31013007              with frmLabs do
    3102                 if lstReports.ItemIndex > -1 then
     3008                if piece(uRemoteType,'^',1) = '1' then
     3009                  if not(piece(uRemoteType,'^',2) = 'V') then
     3010                    begin
     3011                      TabControl1.Visible := true;
     3012                      pnlRightTop.Height := lblTitle.Height + TabControl1.Height;
     3013                    end;
     3014                {if lstReports.ItemIndex > -1 then
    31033015                  if piece(lstReports.Items[lstReports.ItemIndex],'^',3) = '1' then
    31043016                    if not(piece(lstReports.Items[lstReports.ItemIndex],'^',5) = 'V') then
    3105                       TabControl1.Visible := true;
     3017                      TabControl1.Visible := true;}
    31063018            end;
    31073019        end;
     
    31163028            TRemoteSite(Items[j]));
    31173029        end;
    3118   //frmLabs.TabControl1.OnChange(nil);
    3119   //frmReports.TabControl1.OnChange(nil);
     3030
    31203031  if frmReports.tvReports.SelectionCount > 0 then frmReports.tvReportsClick(self);
    3121   if frmLabs.lstReports.ItemIndex > -1 then frmLabs.ExtlstReportsClick(self, true);
     3032  if frmLabs.tvReports.SelectionCount > 0 then frmLabs.tvReportsClick(self);
     3033  //if frmLabs.lstReports.ItemIndex > -1 then frmLabs.ExtlstReportsClick(self, true);
    31223034  StatusText('');
    31233035end;
     
    32343146begin
    32353147  LoadSizesForUser;
    3236 //  LoadUserVitalPreferences;
    32373148  GetUserTemplateDefaults(TRUE);
    32383149end;
     
    32413152begin
    32423153  SaveSizesForUser;         // position & size settings
    3243 //  SaveUserVitalPreferences; // save Vitals metric setting
    32443154  SaveUserTemplateDefaults;
    32453155end;
     
    32483158begin
    32493159  FRefreshing := TRUE;
     3160
    32503161  try
    32513162    mnuFileOpenClick(Self);
     
    32603171    FOldActivate(Sender);
    32613172  SetActiveWindow(Application.Handle);
     3173  if ScreenReaderSystemActive and assigned(Patient) and (Patient.Name <> '') then
     3174      SpeakTabAndPatient;
    32623175end;
    32633176
     
    32833196end;
    32843197
    3285 (*procedure TfrmFrame.CreateTab(var AnInstance: TObject; AClass: TClass; ATabID: integer; ALabel: string);
    3286 begin
    3287   AnInstance := TPage.Create(Self);
    3288   TPage(AnInstance).Parent := pnlPage;
    3289   TPage(AnInstance).Show;
    3290   uTabList.Add(IntToStr(ATabID));
    3291   tabPage.Tabs.Add(ALabel);
    3292 end;*)
    32933198
    32943199procedure TfrmFrame.CreateTab(ATabID: integer; ALabel: string);
     
    33883293
    33893294// Top panel components:
    3390 //pnlVisit.visible := false;
    33913295pnlVisit.hint := 'Provider/Location';
    33923296pnlVisit.onMouseDown := nil;
    33933297pnlVisit.onMouseUp := nil;
    3394 //pnlPrimaryCare.visible := false;
    3395 //pnlPostings.visible := false;
    3396 //lblPtCWAD.visible := false;
    3397 //lblPtPostings.visible := false;
    3398 //pnlReminders.visible := false;
    3399 //anmtRemSearch.visible := false;
    34003298
    34013299// Forms for other tabs:
     
    34263324  uCore.TempEncounterLoc := 0;  //hds7591  Clinic/Ward movement.
    34273325  uCore.TempEncounterLocName := ''; //hds7591  Clinic/Ward movement.
    3428 
     3326  uCore.TempEncounterText := '';
     3327  uCore.TempEncounterDateTime := 0;
     3328  uCore.TempEncounterVistCat := #0;
     3329  //ucore.TempOutEncounterLoc := 0;
     3330  //uCore.TempOutEncounterLocName := '';
     3331  if (not FRefreshing) and (FReviewClick = false) then DoNotChangeEncWindow := false;
    34293332  if (FPrevInPatient and Patient.Inpatient) then                //transfering inside hospital
    3430     Encounter.Location := Patient.Location
     3333    begin
     3334     // if DoNotChangeEncWindow = false then
     3335     //   begin
     3336          if FReviewClick = True then
     3337            begin
     3338              ucore.TempEncounterLoc := Encounter.Location;
     3339              uCore.TempEncounterLocName := Encounter.LocationName;
     3340              uCore.TempEncounterText := Encounter.LocationText;
     3341              uCore.TempEncounterDateTime := Encounter.DateTime;
     3342              uCore.TempEncounterVistCat := Encounter.VisitCategory;
     3343            end
     3344          else if (patient.Location <> encounter.Location) and (OrderPrintForm = false) then
     3345                begin
     3346                  frmPrintLocation.SwitchEncounterLoction(Encounter.Location, Encounter.locationName, Encounter.LocationText,
     3347                                                          Encounter.DateTime, Encounter.VisitCategory);
     3348                  DisplayEncounterText;
     3349                  exit;
     3350                end
     3351          else if (patient.Location <> encounter.Location) and (OrderPrintForm = True) then
     3352            begin
     3353              OrderPrintForm := false;
     3354              Exit;
     3355            end;
     3356               
     3357            //end;
     3358          Encounter.Location := Patient.Location;
     3359       // end;
     3360    end
    34313361  else if (FPrevInPatient and (not Patient.Inpatient)) then     //patient was discharged
    34323362  begin
     
    34403370    uCore.TempEncounterLoc := Encounter.Location;  //hds7591  Clinic/Ward movement.
    34413371    uCore.TempEncounterLocName := Encounter.LocationName; //hds7591  Clinic/Ward movement.
    3442     Encounter.Location := Patient.Location;
    3443     Encounter.DateTime := Patient.AdmitTime;
    3444     Encounter.VisitCategory := 'H';
     3372    uCore.TempEncounterText := Encounter.LocationText;
     3373    uCore.TempEncounterDateTime := Encounter.DateTime;
     3374    uCore.TempEncounterVistCat := Encounter.VisitCategory;
     3375    if (FReviewClick = False) and (encounter.Location <> patient.Location) then
     3376        frmPrintLocation.SwitchEncounterLoction(Encounter.Location, Encounter.locationName, Encounter.LocationText,
     3377                                                Encounter.DateTime, Encounter.VisitCategory)
     3378    else
     3379    //if DoNotChangeEncWindow = false then
     3380      begin
     3381        Encounter.Location := Patient.Location;
     3382        Encounter.DateTime := Patient.AdmitTime;
     3383        Encounter.VisitCategory := 'H';
     3384      end;
    34453385    FPrevInPatient := True;
    34463386  end;
     
    34533393  NewTabIndex: integer;
    34543394begin
     3395  inherited;
     3396  FCtrlTabUsed := FALSE;
    34553397  //CQ2844: Toggle Remote Data button using Alt+R
    34563398   case Key of
     
    34593401     end;
    34603402
    3461   if (Key = VK_TAB) then begin
    3462     if (ssCtrl in Shift) then begin
     3403  if (Key = VK_TAB) then
     3404  begin
     3405    if (ssCtrl in Shift) then
     3406    begin
     3407      FCtrlTabUsed := TRUE;
    34633408      if not (ActiveControl is TCustomMemo) or not TMemo(ActiveControl).WantTabs then begin
    34643409        NewTabIndex := tabPage.TabIndex;
     
    35183463procedure TfrmFrame.pnlPatientClick(Sender: TObject);
    35193464begin
     3465  pnlPatient.Enabled := false;
    35203466  ViewInfo(mnuViewDemo);
     3467  pnlPatient.Enabled := true;
    35213468end;
    35223469
    35233470procedure TfrmFrame.pnlVisitClick(Sender: TObject);
    35243471begin
    3525  //if (not User.IsReportsOnly) then // Reports Only tab.
    3526  //  mnuFileEncounterClick(Self);
     3472  pnlVisit.Enabled := false;
     3473  pnlVisit.BevelOuter := bvLowered;
     3474  with lblPtLocation do SetBounds(Left+2, Top+2, Width, Height);
     3475  with lblPtProvider do SetBounds(Left+2, Top+2, Width, Height);
     3476
    35273477  ViewInfo(mnuViewVisits);
     3478
     3479  pnlVisit.BevelOuter := bvRaised;
     3480  with lblPtLocation do SetBounds(Left-2, Top-2, Width, Height);
     3481  with lblPtProvider do SetBounds(Left-2, Top-2, Width, Height);
     3482  pnlVisit.Enabled := true;
     3483end;
     3484
     3485procedure TfrmFrame.pnlVistaWebClick(Sender: TObject);
     3486begin
     3487  inherited;
     3488  uUseVistaWeb := true;
     3489  pnlCIRNClick(self);
     3490  uUseVistaWeb := false;
     3491end;
     3492
     3493procedure TfrmFrame.pnlVistaWebMouseDown(Sender: TObject; Button: TMouseButton;
     3494  Shift: TShiftState; X, Y: Integer);
     3495begin
     3496  inherited;
     3497  pnlVistaWeb.BevelOuter := bvLowered;
     3498end;
     3499
     3500procedure TfrmFrame.pnlVistaWebMouseUp(Sender: TObject; Button: TMouseButton;
     3501  Shift: TShiftState; X, Y: Integer);
     3502begin
     3503  inherited;
     3504  pnlVistaWeb.BevelOuter := bvRaised;
    35283505end;
    35293506
     
    35513528begin
    35523529  {$ifdef DEBUG}
    3553     ShowMessage(AMessage);
     3530    Show508Message(AMessage);
    35543531  {$endif}
    35553532  InfoBox(TX_CCOW_ERROR, TC_CCOW_ERROR, MB_ICONERROR or MB_OK);
     
    36493626    begin
    36503627      // New context is committed.
    3651       //ShowMessage('Response was Commit');
     3628      //Show508Message('Response was Commit');
    36523629      mnuFileResumeContext.Enabled := False;
    36533630      mnuFileBreakContext.Enabled := True;
     
    36923669  except
    36933670    on exc : EOleException do
    3694       //ShowMessage('EOleException: ' + exc.Message + ' - ' + string(exc.ErrorCode) );
    3695       ShowMessage('EOleException: ' + exc.Message);
     3671      //Show508Message('EOleException: ' + exc.Message + ' - ' + string(exc.ErrorCode) );
     3672      ShowMsg('EOleException: ' + exc.Message);
    36963673  end;
    36973674end;
     
    37543731    Sleep(12000)
    37553732  else if Length(Reason) > 0 then
    3756     ctxContextor.SetSurveyResponse(Reason);
     3733    ctxContextor.SetSurveyResponse(Reason)
     3734  else
     3735    begin
     3736      imgCCOW.Picture.BitMap.LoadFromResourceName(hInstance, 'BMP_CCOW_LINKED');
     3737      pnlCCOW.Hint := TX_CCOW_LINKED;
     3738    end;
    37573739  FCCOWContextChanging := False;
    37583740end;
     
    37883770  end;
    37893771  if not PtChanged then exit;
     3772  // HideEverything('Retrieving information - please wait....'); // v27 (pending) RV
    37903773  FCCOWDrivedChange := True;
    37913774  i := 0;
     
    38043787  pnlCCOW.Hint := TX_CCOW_LINKED;
    38053788  imgCCOW.Picture.BitMap.LoadFromResourceName(hInstance, FCCOWIconName);
     3789  // ShowEverything;    // v27 (pending) RV
    38063790end;
    38073791
     
    38703854begin
    38713855  if not FCCOWInstalled then exit;
     3856  DoNotChangeEncWindow := false;
    38723857  //PtDFN := FindBestCCOWDFN(PtName);
    38733858  PtDFN := FindBestCCOWDFN;
     
    39403925  if FCCOWError then exit;
    39413926  UpdateCCOWContext;
    3942   FCCOWIconName := 'BMP_CCOW_LINKED';
    3943   pnlCCOW.Hint := TX_CCOW_LINKED;
    3944   imgCCOW.Picture.BitMap.LoadFromResourceName(hInstance, FCCOWIconName);
    3945   mnuFileResumeContext.Enabled := False;
    3946   mnuFileBreakContext.Visible := True;
    3947   mnuFileBreakContext.Enabled := True;
     3927  if not FNoPatientSelected then
     3928  begin
     3929    FCCOWIconName := 'BMP_CCOW_LINKED';
     3930    pnlCCOW.Hint := TX_CCOW_LINKED;
     3931    imgCCOW.Picture.BitMap.LoadFromResourceName(hInstance, FCCOWIconName);
     3932    mnuFileResumeContext.Enabled := False;
     3933    mnuFileBreakContext.Visible := True;
     3934    mnuFileBreakContext.Enabled := True;
     3935  end;
    39483936end;
    39493937
     
    40524040end;
    40534041
    4054 procedure TfrmFrame.HideEverything;
     4042procedure TfrmFrame.HideEverything(AMessage: string = 'No patient is currently selected.');
    40554043begin
    40564044  FNoPatientSelected := TRUE;
     4045  pnlNoPatientSelected.Caption := AMessage;
    40574046  pnlNoPatientSelected.Visible := True;
    40584047  pnlNoPatientSelected.BringToFront;
     
    40714060  mnuView.Enabled := False;
    40724061  mnuTools.Enabled := False;
     4062  if FNextButtonActive then FNextButton.Visible := False;
    40734063end;
    40744064
     
    40764066begin
    40774067  FNoPatientSelected := FALSE;
     4068  pnlNoPatientSelected.Caption := '';
    40784069  pnlNoPatientSelected.Visible := False;
    40794070  pnlNoPatientSelected.SendToBack;
     
    41014092  mnuView.Enabled := True;
    41024093  mnuTools.Enabled := True;
     4094  if FNextButtonActive then FNextButton.Visible := True;
    41034095end;
    41044096
     
    42614253      begin
    42624254        if btnClose.Tag = 1 then
    4263           Exit;
     4255        begin
     4256          Screen.Cursor := crDefault;
     4257          exit;
     4258        end;
    42644259        Initialize;
    42654260        Caption := 'CPRS Graphing - Patient: ' + MixedCase(Patient.Name);
     
    42824277    end;
    42834278  end
    4284   else if GraphFloat.btnClose.Tag = 1 then
    4285     Exit
    4286   else if GraphFloatActive and (GraphFloat.lstTypes.Hint = Patient.DFN) then
    4287     GraphFloat.BringToFront             // graph is active, same patient
    4288   else if GraphFloat.lstTypes.Hint = Patient.DFN then
    4289   begin                                 // graph is not active, same patient
    4290     // context sensitive
    4291     GraphFloat.Show;
    4292     GraphFloatActive := true;
    4293   end
    42944279  else
    4295   //with GraphFloat do                    // new patient
    4296   begin
    4297     GraphFloat.InitialRetain;
    4298     GraphFloatActive := false;
    4299     GraphFloat.Free;
    4300     GraphFloat := nil;
    4301     mnuToolsGraphingClick(self);          // delete and recurse
    4302     {//FormCreate(self);   //****************
    4303     Initialize;
    4304     DisplayData('top');
    4305     DisplayData('bottom');
    4306     lstCheck.Items.Clear;
    4307     Caption := 'CPRS Graphing - Patient: ' + MixedCase(Patient.Name);
    4308     // context sensitive
    4309     Show;
    4310     GraphFloatActive := true;}
     4280  begin
     4281    GraphFloat.Caption := 'CPRS Graphing - Patient: ' + MixedCase(Patient.Name);
     4282    if GraphFloat.btnClose.Tag = 1 then
     4283    begin
     4284      Screen.Cursor := crDefault;
     4285      exit;
     4286    end
     4287    else if GraphFloatActive and (frmGraphData.pnlData.Hint = Patient.DFN) then
     4288      GraphFloat.BringToFront             // graph is active, same patient
     4289    else if frmGraphData.pnlData.Hint = Patient.DFN then
     4290    begin                                 // graph is not active, same patient
     4291      // context sensitive
     4292      GraphFloat.Show;
     4293      GraphFloatActive := true;
     4294    end
     4295    else
     4296    //with GraphFloat do                    // new patient
     4297    begin
     4298      GraphFloat.InitialRetain;
     4299      GraphFloatActive := false;
     4300      GraphFloat.Free;
     4301      GraphFloat := nil;
     4302      mnuToolsGraphingClick(self);          // delete and recurse
     4303      {//FormCreate(self);   //****************
     4304      Initialize;
     4305      DisplayData('top');
     4306      DisplayData('bottom');
     4307      GtslCheck.Clear;
     4308      Caption := 'CPRS Graphing - Patient: ' + MixedCase(Patient.Name);
     4309      // context sensitive
     4310      Show;
     4311      GraphFloatActive := true;}
     4312    end;
    43114313  end;
    43124314  Screen.Cursor := crDefault;
     
    43544356  ReportString: TStringList;
    43554357  aAddress: string;
     4358
    43564359begin
    43574360  case (Sender as TMenuItem).Tag of
     
    43784381        if fCover.VAAFlag[0] <> '0' then //'0' means subscriber not found
    43794382        begin
    4380           InsuranceSubscriberName := fCover.VAAFlag[12];
     4383         //  CQ:15534-GE  Remove leading spaces from Patient Name
     4384          InsuranceSubscriberName := ( (Piece(fCover.VAAFlag[12],':',1)) + ':  ' +
     4385                                     (TRIM(Piece(fCover.VAAFlag[12],':',2)) ));//fCover.VAAFlag[12];
    43814386          ReportString := VAAFlag;
    43824387          ReportString[0] := '';
     
    43884393      end;
    43894394    7:begin
    4390         if UseVistaWeb then
     4395        if uUseVistaWeb = true then
    43914396          begin
    43924397            pnlCIRN.BevelOuter := bvRaised;
    4393             pnlCIRN.Hint := 'Click to open VistaWeb';
    4394             lblCIRN.Width := 43;
    4395             lblCIRNData.Width := 43;
    4396             lblCIRNData.Alignment := taCenter;
    43974398            lblCIRN.Alignment := taCenter;
    43984399            lstCIRNLocations.Visible := false;
     
    44414442end;
    44424443
     4444procedure TfrmFrame.SetActiveTab(PageID: Integer);
     4445begin
     4446  tabPage.TabIndex := frmFrame.PageIDToTab(PageID);
     4447  tabPageChange(tabPage);
     4448end;
     4449
     4450procedure TfrmFrame.NextButtonClick(Sender: TObject);
     4451begin
     4452  if FProccessingNextClick then Exit;
     4453  FProccessingNextClick := true;
     4454  popAlerts.AutoPopup := TRUE;
     4455  mnuFileNext.Enabled := True;
     4456  mnuFileNextClick(Self);
     4457  FProccessingNextClick := false;
     4458end;
     4459
     4460procedure TfrmFrame.NextButtonMouseDown(Sender: TObject; Button: TMouseButton;
     4461      Shift: TShiftState; X, Y: Integer);
     4462begin
     4463   popAlerts.AutoPopup := TRUE;
     4464end;
     4465
     4466procedure TfrmFrame.SetUpNextButton;
     4467 begin
     4468   if FNextButton <> nil then
     4469   begin
     4470      FNextButton.free;
     4471      FNextButton := nil;
     4472   end;
     4473   FNextButton := TBitBtn.Create(self);
     4474   FNextButton.Parent:= frmFrame;
     4475   FNextButton.Glyph := FNextButtonBitmap;
     4476   FNextButton.OnMouseDown := NextButtonMouseDown;
     4477   FNextButton.OnClick := NextButtonClick;
     4478   FNextButton.Caption := '&Next';
     4479   FNextButton.PopupMenu := popAlerts;
     4480   FNextButton.Top := stsArea.Top;
     4481   FNextButton.Left := FNextButtonL;
     4482   FNextButton.Height := stsArea.Height;
     4483   FNextButton.Width := stsArea.Panels[2].Width;
     4484   FNextButton.TabStop := True;
     4485   FNextButton.TabOrder := 1;
     4486   FNextButton.show;
     4487end;
     4488
    44434489initialization
     4490  SpecifyFormIsNotADialog(TfrmFrame);
    44444491
    44454492finalization
Note: See TracChangeset for help on using the changeset viewer.