- Code/Resource
- Windows Develop
- Linux-Unix program
- Internet-Socket-Network
- Web Server
- Browser Client
- Ftp Server
- Ftp Client
- Browser Plugins
- Proxy Server
- Email Server
- Email Client
- WEB Mail
- Firewall-Security
- Telnet Server
- Telnet Client
- ICQ-IM-Chat
- Search Engine
- Sniffer Package capture
- Remote Control
- xml-soap-webservice
- P2P
- WEB(ASP,PHP,...)
- TCP/IP Stack
- SNMP
- Grid Computing
- SilverLight
- DNS
- Cluster Service
- Network Security
- Communication-Mobile
- Game Program
- Editor
- Multimedia program
- Graph program
- Compiler program
- Compress-Decompress algrithms
- Crypt_Decrypt algrithms
- Mathimatics-Numerical algorithms
- MultiLanguage
- Disk/Storage
- Java Develop
- assembly language
- Applications
- Other systems
- Database system
- Embeded-SCM Develop
- FlashMX/Flex
- source in ebook
- Delphi VCL
- OS Develop
- MiddleWare
- MPI
- MacOS develop
- LabView
- ELanguage
- Software/Tools
- E-Books
- Artical/Document
IPDRIVW.CPP
Package: MSDN_VC98.zip [view]
Upload User: bangxh
Upload Date: 2007-01-31
Package Size: 42235k
Code Size: 6k
Category:
Windows Develop
Development Platform:
Visual C++
- // ipdrivw.cpp : implementation of the CDriverView class
- //
- // This is a part of the Microsoft Foundation Classes C++ library.
- // Copyright (C) 1992-1995 Microsoft Corporation
- // All rights reserved.
- //
- // This source code is only intended as a supplement to the
- // Microsoft Foundation Classes Reference and related
- // electronic documentation provided with the library.
- // See these sources for detailed information regarding the
- // Microsoft Foundation Classes product.
- #include "stdafx.h"
- #include "ipdrive.h"
- #include "ipdridoc.h"
- #include "ipdrivw.h"
- #ifdef _DEBUG
- #undef THIS_FILE
- static char BASED_CODE THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // CDriverView
- IMPLEMENT_DYNCREATE(CDriverView, CFormView)
- BEGIN_MESSAGE_MAP(CDriverView, CFormView)
- //{{AFX_MSG_MAP(CDriverView)
- ON_BN_CLICKED(ID_LOOKUP, OnLookup)
- ON_BN_CLICKED(ID_REMOVE, OnRemove)
- ON_BN_CLICKED(ID_ADD, OnAdd)
- ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
- ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CDriverView construction/destruction
- CDriverView::CDriverView()
- : CFormView(CDriverView::IDD)
- {
- //{{AFX_DATA_INIT(CDriverView)
- // NOTE: the ClassWizard will add member initialization here
- //}}AFX_DATA_INIT
- m_bInitialized = FALSE;
- }
- CDriverView::~CDriverView()
- {
- }
- void CDriverView::DoDataExchange(CDataExchange* pDX)
- {
- CFormView::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CDriverView)
- DDX_Control(pDX, IDC_EDIT2, m_toValue);
- DDX_Control(pDX, IDC_COMBO3, m_toType);
- DDX_Control(pDX, IDC_EDIT1, m_ctrlValue);
- DDX_Control(pDX, IDC_COMBO2, m_ctrlType);
- //}}AFX_DATA_MAP
- }
- /////////////////////////////////////////////////////////////////////////////
- // CDriverView diagnostics
- #ifdef _DEBUG
- void CDriverView::AssertValid() const
- {
- CFormView::AssertValid();
- }
- void CDriverView::Dump(CDumpContext& dc) const
- {
- CFormView::Dump(dc);
- }
- CDriverDoc* CDriverView::GetDocument() // non-debug version is inline
- {
- return STATIC_DOWNCAST(CDriverDoc, m_pDocument);
- }
- #endif //_DEBUG
- /////////////////////////////////////////////////////////////////////////////
- // CDriverView message handlers
- void CDriverView::OnInitialUpdate()
- {
- GetParentFrame()->RecalcLayout();
- ResizeParentToFit(FALSE);
- CFormView::OnInitialUpdate();
- if (!m_bInitialized)
- {
- m_bInitialized = TRUE;
- GetDlgItem(IDC_CURRENT_COUNT)->GetWindowText(m_strCurrentCount);
- }
- // initialize the form
- m_ctrlType.SetCurSel(0);
- UpdateToNothing();
- }
- void CDriverView::UpdateToNothing()
- {
- UpdateCurrentCount();
- m_toType.SetCurSel(-1);
- CString str;
- str.LoadString(IDS_NOTHING);
- m_toValue.SetWindowText(str);
- }
- void CDriverView::UpdateCurrentCount()
- {
- CDriverDoc* pDoc = GetDocument();
- ASSERT_VALID(pDoc);
- CString str;
- str.Format(m_strCurrentCount, pDoc->m_map->Count);
- SetDlgItemText(IDC_CURRENT_COUNT, str);
- }
- _variant_t CDriverView::GetFromVariant()
- {
- CString strValue;
- m_ctrlValue.GetWindowText(strValue);
- // we can just throw it in as a string, then coerce to chosen type
- _variant_t va = (LPCTSTR) strValue, vaTemp;
- try
- {
- vaTemp.ChangeType(max(0, m_ctrlType.GetCurSel()), &va);
- }
- catch (_com_error& e)
- {
- dump_com_error(e);
- AfxMessageBox(IDP_INCOMPATIBLE_TYPE_VALUE);
- }
- return vaTemp;
- }
- _variant_t CDriverView::GetToVariant()
- {
- CString strValue;
- m_toValue.GetWindowText(strValue);
- // we can just throw it in as a string, then coerce to chosen type
- _variant_t va = (LPCTSTR) strValue, vaTemp;
- try
- {
- vaTemp.ChangeType(max(0, m_toType.GetCurSel()), &va);
- }
- catch (_com_error& e)
- {
- dump_com_error(e);
- AfxMessageBox(IDP_INCOMPATIBLE_TYPE_VALUE);
- }
- return vaTemp;
- }
- void CDriverView::UpdateCurrentVariant(const _variant_t& va)
- {
- m_toType.SetCurSel(va.vt);
- _variant_t vaTemp;
- CString str;
- try
- {
- vaTemp.ChangeType(VT_BSTR, &va);
- str = (LPCTSTR) (_bstr_t) vaTemp;
- }
- catch (...)
- {
- str.LoadString(IDS_UNKNOWN);
- }
- m_toValue.SetWindowText(str);
- }
- void CDriverView::OnLookup()
- {
- CDriverDoc* pDoc = GetDocument();
- ASSERT_VALID(pDoc);
- _variant_t vaFrom = GetFromVariant();
- _variant_t vaTo = pDoc->m_map->Item[vaFrom];
- UpdateCurrentVariant(vaTo);
- }
- void CDriverView::OnRemove()
- {
- CDriverDoc* pDoc = GetDocument();
- ASSERT_VALID(pDoc);
- _variant_t vaFrom = GetFromVariant();
- pDoc->m_map->RemoveKey(vaFrom);
- UpdateToNothing();
- UpdateCurrentCount();
- }
- void CDriverView::OnAdd()
- {
- CDriverDoc* pDoc = GetDocument();
- ASSERT_VALID(pDoc);
- _variant_t vaFrom = GetFromVariant();
- _variant_t vaTo = GetToVariant();
- pDoc->m_map->SetAt(vaFrom, vaTo);
- OnLookup();
- UpdateCurrentCount();
- }
- void CDriverView::OnButton1()
- {
- CDriverDoc* pDoc = GetDocument();
- ASSERT_VALID(pDoc);
- long nCount = 0;
- DWORD dwThen = GetTickCount();
- if (GetKeyState(VK_CONTROL) >= 0)
- {
- while (GetTickCount() - dwThen < 5000)
- {
- pDoc->m_map->str1 = _T("Hello, World");
- ++nCount;
- }
- }
- else
- {
- while (GetTickCount() - dwThen < 5000)
- {
- pDoc->m_map->i1 = 1;
- ++nCount;
- }
- }
- CString str, strFormat;
- strFormat.LoadString(IDP_TIMING_RESULT);
- str.Format(strFormat, nCount);
- AfxMessageBox(str);
- }
- void CDriverView::OnButton2()
- {
- CDriverDoc* pDoc = GetDocument();
- ASSERT_VALID(pDoc);
- long nCount = 0;
- DWORD dwThen = GetTickCount();
- if (GetKeyState(VK_CONTROL) >= 0)
- {
- while (GetTickCount() - dwThen < 5000)
- {
- pDoc->m_map->str2 = _T("Hello, World");
- ++nCount;
- }
- }
- else
- {
- while (GetTickCount() - dwThen < 5000)
- {
- pDoc->m_map->i2 = 1;
- ++nCount;
- }
- }
- CString str, strFormat;
- strFormat.LoadString(IDP_TIMING_RESULT);
- str.Format(strFormat, nCount);
- AfxMessageBox(str);
- }