home *** CD-ROM | disk | FTP | other *** search
/ Troubleshooting Netware Systems / CSTRIAL0196.BIN / attach / msj / v10n04 / multilin.exe / SETTINGS.CPP < prev    next >
C/C++ Source or Header  |  1995-04-01  |  4KB  |  156 lines

  1. // settings.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "global.h"
  6. #include "settings.h"
  7. #include "tchar.h"
  8.  
  9. #ifdef _DEBUG
  10. #undef THIS_FILE
  11. static char BASED_CODE THIS_FILE[] = __FILE__;
  12. #endif
  13.  
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CSettings dialog
  16.  
  17.  
  18. CSettings::CSettings(CWnd* pParent /*=NULL*/)
  19.     : CDialog(CSettings::IDD, pParent)
  20. {
  21.     //{{AFX_DATA_INIT(CSettings)
  22.     m_SysLang = _T("");
  23.     m_SysLCID = _T("");
  24.     m_SysDefL = _T("");
  25.     m_SysName = _T("");
  26.     m_SysTrans = _T("");
  27.     m_ThreadLCID = _T("");
  28.     m_ThreadID = _T("");
  29.     m_UserDefL = _T("");
  30.     m_UserLang = _T("");
  31.     m_UserLCID = _T("");
  32.     m_UserName = _T("");
  33.     m_UserTrans = _T("");
  34.     //}}AFX_DATA_INIT
  35. }
  36.                         
  37.  
  38. void CSettings::DoDataExchange(CDataExchange* pDX)
  39. {
  40.     CDialog::DoDataExchange(pDX);
  41.     //{{AFX_DATA_MAP(CSettings)
  42.     DDX_Text(pDX, IDC_SYSTEMLANG, m_SysLang);
  43.     DDX_Text(pDX, IDC_SYSTEMLCID, m_SysLCID);
  44.     DDX_Text(pDX, IDC_SYSTEDEFL, m_SysDefL);
  45.     DDX_Text(pDX, IDC_SYSTEMNAME, m_SysName);
  46.     DDX_Text(pDX, IDC_SYSTEMTRANS, m_SysTrans);
  47.     DDX_Text(pDX, IDC_THREADLCID, m_ThreadLCID);
  48.     DDX_Text(pDX, IDC_THREAID, m_ThreadID);
  49.     DDX_Text(pDX, IDC_USERDEFL, m_UserDefL);
  50.     DDX_Text(pDX, IDC_USERLANG, m_UserLang);
  51.     DDX_Text(pDX, IDC_USERLCID, m_UserLCID);
  52.     DDX_Text(pDX, IDC_USERNAME, m_UserName);
  53.     DDX_Text(pDX, IDC_USERTRANS, m_UserTrans);
  54.     //}}AFX_DATA_MAP
  55. }
  56.  
  57.  
  58. BEGIN_MESSAGE_MAP(CSettings, CDialog)
  59.     //{{AFX_MSG_MAP(CSettings)
  60.     //}}AFX_MSG_MAP
  61. END_MESSAGE_MAP()
  62.  
  63.  
  64. /////////////////////////////////////////////////////////////////////////////
  65. // CSettings message handlers
  66. BOOL LCIDToCString(LCID lcid, CString& str, LCTYPE lct=LOCALE_SLANGUAGE)
  67. {
  68.     UINT cchTemp = GetLocaleInfo(lcid,
  69.                           lct, 
  70.                           NULL, 
  71.                           0);
  72.      GetLocaleInfo(lcid,
  73.                           lct, 
  74.                           str.GetBufferSetLength(cchTemp), 
  75.                           cchTemp);    
  76.     
  77.     str.ReleaseBuffer();
  78.                           
  79.     return cchTemp;
  80. }
  81.  
  82.  
  83. BOOL CSettings::OnInitDialog() 
  84. {
  85. #ifdef _DEBUG
  86.     CMemoryState oldMemState, newMemState, diffMemState;
  87.     oldMemState.Checkpoint();
  88. #endif
  89.     CDialog::OnInitDialog();
  90.     
  91.     // TODO: Add extra initialization here
  92.     // System variables
  93.     LCIDToCString(GetSystemDefaultLangID(),m_SysLang);
  94.     LCIDToCString(GetSystemDefaultLCID(),m_SysLCID);
  95.     LCIDToCString(ConvertDefaultLocale(LOCALE_SYSTEM_DEFAULT), m_SysDefL);
  96.  
  97.     // Thread variables
  98.     LCIDToCString(GetThreadLocale(), m_ThreadLCID);
  99.     DWORD dwID=GetCurrentThreadId();
  100.     _ultot(dwID, m_ThreadID.GetBufferSetLength(10),10);
  101.     m_ThreadLCID.ReleaseBuffer();
  102.     DWORD cchSysName = 32;
  103.     BOOL fSuccess = GetComputerName(m_SysName.GetBufferSetLength(cchSysName), &cchSysName);
  104.     if( !fSuccess )
  105.     {                                    
  106.         // Error retrieving User name
  107.     }
  108.     m_SysName.ReleaseBuffer();
  109.  
  110.     // User variables
  111.     LCIDToCString(GetUserDefaultLCID(),m_UserLCID);
  112.     LCIDToCString(GetUserDefaultLangID(),m_UserLang);
  113.     LCIDToCString(ConvertDefaultLocale(LOCALE_USER_DEFAULT), m_UserDefL);
  114.  
  115.     DWORD cchUserName = 32;
  116.     fSuccess = GetUserName(m_UserName.GetBufferSetLength(cchUserName), &cchUserName);
  117.     if( !fSuccess )
  118.     {                                    
  119.         // Error retrieving User name
  120.     }
  121.     m_UserName.ReleaseBuffer();
  122.  
  123. #ifdef _DEBUG
  124.     newMemState.Checkpoint();
  125.     if( diffMemState.Difference(oldMemState, newMemState ) )
  126.     {
  127.         TRACE( _T("Memory leaked!\n"));
  128.         diffMemState.DumpStatistics();
  129.         oldMemState.DumpAllObjectsSince();
  130.     }
  131. #endif
  132.     
  133.     // Update the Controls from the member variables
  134.     UpdateData(FALSE);
  135.     return TRUE;  // return TRUE unless you set the focus to a control
  136.                   // EXCEPTION: OCX Property Pages should return FALSE
  137. }
  138.  
  139.  
  140. #if NOTNOW
  141. BOOL CSettings::OnCommand(WPARAM wParam, LPARAM lParam) 
  142. {
  143.     // TODO: Add your specialized code here and/or call the base class
  144.     
  145.     return CDialog::OnCommand(wParam, lParam);
  146. }
  147.  
  148. void CSettings::OnOK() 
  149. {
  150.     // TODO: Add extra validation here
  151.     EndDialog(TRUE);
  152.  
  153.     CDialog::OnOK();
  154. }
  155. #endif
  156.