See now this is where all of my troubles begin. I first call this stuff in WinMain, to initialize the PlotPrefs values just before displaying information. I need to set all PlotPrefs().iPlotView values to TRUE so that they display as graphs, as I have coding in CLapPainter::DrawGeneralGraph looking for that information.

By defining these as globals before I get to WinMain() I know that I can access the information everywhere. 

After I spent a couple hours looking at how you are using LAPSUPPLIEROPTIONS and GetDisplayOptions, I realized that I was actually creating all of this outside of the PlotPrefs structure I defined inside of GetDisplayOptions. I also realized that none of that was defined (I think) until the program gets to CMainUI(), so I would have to create it in WinMain, initialize it and add my values.

I have tried several things to try to define the PlotPrefs data structure inside of LAPSUPPLIEROPTIONS in WinMain(), but I can't figure out how to do it correctly. That is where I hit my roadblock.

Examples of some of my attempts in WinMain():

  g_pLapDB = &sfLaps;

  //	Load inital values for Upper and Lower Alarm limits
  z_ILapSupplier = CMainUI->ILapSupplier;		//	Already defined in global scope area
  LAPSUPPLIEROPTIONS m_sfLapOpts = z_ILapSupplier->GetDisplayOptions();
//  z_sfLapOpts = &m_sfLapOpts;	//	Initialized global pointer to point to m_sfLapOpts, use in PlotPrefs and LapPainter
  z_sfLapOpts = &m_sfLapOpts;
  InitPlotPrefs(&m_sfLapOpts);	//	Initialize all PlotPrefs variables before displaying anything

  PITSIDE_SETTINGS sfSettings;