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
OptionTreeItemLineThikComboBox.cpp
Package: solidgraph_sources.zip [view]
Upload User: kairuinn
Upload Date: 2009-02-07
Package Size: 2922k
Code Size: 5k
Category:
Graph program
Development Platform:
Visual C++
- #include "stdafx.h"
- #include "OptionTreeItemLineThikComboBox.h"
- // Added Headers
- #include "OptionTree.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- /////////////////////////////////////////////////////////////////////////////
- // COptionTreeItemLineThikComboBox
- COptionTreeItemLineThikComboBox::COptionTreeItemLineThikComboBox()
- {
- // Initialize variables
- m_bFocus = FALSE;
- m_lDropDownHeight = OT_COMBO_DROPDOWNHEIGHT;
- m_line_thickness = 0;
- // Set item type
- SetItemType(OT_ITEM_COMBOBOX);
- }
- COptionTreeItemLineThikComboBox::~COptionTreeItemLineThikComboBox()
- {
- }
- BEGIN_MESSAGE_MAP(COptionTreeItemLineThikComboBox, CLineThiknessCombo)
- //{{AFX_MSG_MAP(COptionTreeItemLineThikComboBox)
- ON_WM_SETFOCUS()
- ON_WM_KILLFOCUS()
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // COptionTreeItemLineThikComboBox message handlers
- void COptionTreeItemLineThikComboBox::DrawAttribute(CDC *pDC, const RECT &rcRect)
- {
- // If we don't have focus, text is drawn.
- if (m_bFocus == TRUE)
- {
- return;
- }
- // Make sure options aren't NULL
- if (m_otOption == NULL)
- {
- return;
- }
- // Make sure there is a window
- if (!IsWindow(GetSafeHwnd()))
- {
- return;
- }
- // Set window position
- if (IsWindow(GetSafeHwnd()))
- {
- MoveWindow(m_rcAttribute.left, m_rcAttribute.top, m_rcAttribute.Width(), m_rcAttribute.Height());
- }
- COLORREF crNormal = GetSysColor( COLOR_WINDOW );
- CRect rrr = rcRect;
- pDC->SetBkColor( crNormal ); // Set BG To Highlight Color
- pDC->FillSolidRect( &rrr, crNormal ); // Erase Item
- CPen penHighlight(PS_SOLID, m_line_thickness+1, RGB(0,0,0));
- CPen* pOldPen = pDC->SelectObject(&penHighlight);
- pDC->MoveTo(rcRect.left,
- rcRect.top+(rcRect.bottom-rcRect.top)/2);
- pDC->LineTo(rcRect.right,
- rcRect.top+(rcRect.bottom-rcRect.top)/2);
- pDC->SelectObject(pOldPen);
- }
- void COptionTreeItemLineThikComboBox::OnCommit()
- {
- // Hide edit control
- if (IsWindow(GetSafeHwnd()))
- {
- // -- Show window
- ShowWindow(SW_HIDE);
- }
- m_line_thickness = GetCurSel();
- }
- void COptionTreeItemLineThikComboBox::OnRefresh()
- {
- // Set the window text
- if (IsWindow(GetSafeHwnd()))
- {
- MoveWindow(m_rcAttribute.left, m_rcAttribute.top, m_rcAttribute.Width(), m_rcAttribute.Height());
- }
- }
- void COptionTreeItemLineThikComboBox::OnMove()
- {
- // Set window position
- if (IsWindow(GetSafeHwnd()))
- {
- MoveWindow(m_rcAttribute.left, m_rcAttribute.top, m_rcAttribute.Width(), m_rcAttribute.Height());
- }
- // Hide window
- if (m_bFocus == FALSE && IsWindow(GetSafeHwnd()))
- {
- // -- Show window
- ShowWindow(SW_HIDE);
- }
- }
- void COptionTreeItemLineThikComboBox::OnActivate()
- {
- // Make sure window is valid
- if (IsWindow(GetSafeHwnd()))
- {
- // -- Show window
- ShowWindow(SW_SHOW);
- // -- Set window position
- MoveWindow(m_rcAttribute.left, m_rcAttribute.top, m_rcAttribute.Width(), m_rcAttribute.Height() + m_lDropDownHeight);
- // -- Set focus
- SetFocus();
- SetCurSel(m_line_thickness);
- }
- }
- void COptionTreeItemLineThikComboBox::OnSetFocus(CWnd* pOldWnd)
- {
- // Mark focus
- m_bFocus = TRUE;
- CLineThiknessCombo::OnSetFocus(pOldWnd);
- }
- void COptionTreeItemLineThikComboBox::OnKillFocus(CWnd* pNewWnd)
- {
- // Validate
- if (m_otOption == NULL)
- {
- CLineThiknessCombo::OnKillFocus(pNewWnd);
- return;
- }
- // See if new window is tree of list
- if (m_otOption->IsChild(pNewWnd) == TRUE)
- {
- // -- Mark focus
- m_bFocus = FALSE;
- // -- Commit changes
- CommitChanges();
- }
- CLineThiknessCombo::OnKillFocus(pNewWnd);
- }
- BOOL COptionTreeItemLineThikComboBox::CreateComboItem(DWORD dwAddStyle)
- {
- // Declare variables
- DWORD dwStyle = WS_CHILD | WS_VISIBLE |
- CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED|WS_VSCROLL;
- BOOL bRet = FALSE;
- // Make sure options is not NULL
- if (m_otOption == NULL)
- {
- return FALSE;
- }
- // Create edit control
- if (!IsWindow(GetSafeHwnd()))
- {
- // -- Add style
- if (dwAddStyle != 0)
- {
- dwStyle |= dwAddStyle;
- }
- // -- Create the combo box
- bRet = Create(dwStyle, m_rcAttribute, m_otOption->GetCtrlParent(), GetCtrlID());
- // -- Setup combo
- if (bRet == TRUE)
- {
- // -- -- Set font
- SetFont(m_otOption->GetNormalFont(), TRUE);
- // -- -- Set window position
- MoveWindow(m_rcAttribute.left, m_rcAttribute.top, m_rcAttribute.Width(), m_rcAttribute.Height());
- // -- -- Hide window
- ShowWindow(SW_HIDE);
- }
- }
- return bRet;
- }
- void COptionTreeItemLineThikComboBox::SetDropDownHeight(long lHeight)
- {
- // Save variable
- m_lDropDownHeight = lHeight;
- }
- long COptionTreeItemLineThikComboBox::GetDropDownHeight()
- {
- // Return variable
- return m_lDropDownHeight;
- }
- void COptionTreeItemLineThikComboBox::CleanDestroyWindow()
- {
- // Destroy window
- if (IsWindow(GetSafeHwnd()))
- {
- // -- Destroy window
- DestroyWindow();
- }
- }
- void COptionTreeItemLineThikComboBox::OnDeSelect()
- {
- // Hide window
- if (IsWindow(GetSafeHwnd()))
- {
- // -- Show window
- ShowWindow(SW_HIDE);
- }
- }
- void COptionTreeItemLineThikComboBox::OnSelect()
- {
- // Do nothing here
- }