⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inputbox.cpp

📁 俄罗斯人开发的大名鼎鼎的Pocket Pc 阅读器haaliread的源代码,visual c
💻 CPP
字号:
/*
 * Copyright (c) 2001,2002,2003 Mike Matsnev.  All Rights Reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice immediately at the beginning of the file, without modification,
 *    this list of conditions, and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Absolutely no warranty of function or purpose is made by the author
 *    Mike Matsnev.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * 
 * $Id: InputBox.cpp,v 1.15.2.4 2004/11/01 11:15:10 mike Exp $
 * 
 */

#include <afxwin.h>
#include <afxext.h>

#include "resource.h"
#include "InputBox.h"
#include "config.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// InputBox dialog


InputBox::InputBox(const CString& prompt,const CString& title,
			CWnd* pParent /*=NULL*/)
  : CDialog(InputBox::IDD, pParent),
    m_prompt(prompt), m_title(title)
{
  //{{AFX_DATA_INIT(InputBox)
  m_str = _T("");
  //}}AFX_DATA_INIT
}


void InputBox::DoDataExchange(CDataExchange* pDX)
{
  CDialog::DoDataExchange(pDX);
  //{{AFX_DATA_MAP(InputBox)
  DDX_Text(pDX, IDC_WORD, m_str);
  //}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(InputBox, CDialog)
//{{AFX_MSG_MAP(InputBox)
ON_EN_SETFOCUS(IDC_WORD,OnWordSetFocus)
ON_EN_KILLFOCUS(IDC_WORD,OnWordKillFocus)
//}}AFX_MSG_MAP
#if POCKETPC
ON_WM_SETTINGCHANGE()
#endif
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// InputBox message handlers

bool	GetUserInput(const CString& prompt,const CString& title,
		     CString& str,CWnd *parent)
{
  InputBox    box(prompt,title,parent);
  box.m_str=str;;
  if (box.DoModal()==IDOK) {
    str=box.m_str;
    return true;
  }
  return false;
}

BOOL InputBox::OnInitDialog() 
{
  CDialog::OnInitDialog();
  SetDlgItemText(IDC_LABEL,m_prompt);
  SetWindowText(m_title);
#if POCKETPC
  // resize input to full width
  RECT	rcC,rcW;
  GetClientRect(&rcC);
  GetDlgItem(IDC_WORD)->GetWindowRect(&rcW);
  ScreenToClient(&rcW);
  rcW.right = rcC.right - (rcW.left - rcC.left);
  GetDlgItem(IDC_WORD)->MoveWindow(&rcW);
#endif
  return TRUE;
}

void InputBox::OnWordSetFocus() {
#if POCKETPC
  HWND hWnd;
  GetDlgItem(IDC_WORD,&hWnd);
  if (hWnd)
    SHSipPreference(hWnd,SIP_UP);
#endif
}

void InputBox::OnWordKillFocus() {
#if POCKETPC
  HWND hWnd;
  GetDlgItem(IDC_WORD,&hWnd);
  if (hWnd)
    SHSipPreference(hWnd,SIP_DOWN);
#endif
}

#if POCKETPC
void InputBox::OnSettingChange(UINT uFlags,LPCTSTR lpszSection) {
  CWnd::OnSettingChange(uFlags,lpszSection);
}
#endif
/////////////////////////////////////////////////////////////////////////////
// CAddBmDialog dialog


CAddBmDialog::CAddBmDialog(CWnd* pParent /*=NULL*/)
: CDialog(CAddBmDialog::IDD, pParent)
{
  //{{AFX_DATA_INIT(CAddBmDialog)
		// NOTE: the ClassWizard will add member initialization here
  //}}AFX_DATA_INIT
}


void CAddBmDialog::DoDataExchange(CDataExchange* pDX)
{
  CDialog::DoDataExchange(pDX);
  //{{AFX_DATA_MAP(CAddBmDialog)
  DDX_Text(pDX,IDC_BMKEDIT,m_text);
  //}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAddBmDialog, CDialog)
//{{AFX_MSG_MAP(CAddBmDialog)
ON_EN_SETFOCUS(IDC_BMKEDIT, OnSetfocusBmkedit)
ON_EN_KILLFOCUS(IDC_BMKEDIT, OnKillfocusBmkedit)
ON_WM_SIZE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAddBmDialog message handlers

void CAddBmDialog::OnSetfocusBmkedit() {
#if POCKETPC
  HWND hWnd;
  GetDlgItem(IDC_BMKEDIT,&hWnd);
  if (hWnd)
    SHSipPreference(hWnd,SIP_UP);
#endif
}

void CAddBmDialog::OnKillfocusBmkedit() {
#if POCKETPC
  HWND hWnd;
  GetDlgItem(IDC_BMKEDIT,&hWnd);
  if (hWnd)
    SHSipPreference(hWnd,SIP_DOWN);
#endif
}

void CAddBmDialog::OnSize(UINT nType, int cx, int cy) 
{
  CDialog::OnSize(nType, cx, cy);
  RECT	rc;
  GetClientRect(&rc);
  HWND	  hWnd;
  GetDlgItem(IDC_BMKEDIT,&hWnd);
  if (hWnd)
    ::SetWindowPos(hWnd,NULL,rc.left,rc.top,rc.right-rc.left,rc.bottom-rc.top,SWP_NOZORDER|SWP_NOACTIVATE);
}


/////////////////////////////////////////////////////////////////////////////
// CFindDlg dialog


CFindDlg::CFindDlg(CWnd* pParent /*=NULL*/)
: CDialog(CFindDlg::IDD, pParent)
{
  //{{AFX_DATA_INIT(CFindDlg)
		// NOTE: the ClassWizard will add member initialization here
  m_matchcase=0;
  //}}AFX_DATA_INIT
}


void CFindDlg::DoDataExchange(CDataExchange* pDX)
{
  CDialog::DoDataExchange(pDX);
  //{{AFX_DATA_MAP(CFindDlg)
  DDX_Text(pDX,IDC_FINDTEXT,m_text);
  DDX_Check(pDX,IDC_MATCHCASE,m_matchcase);
  //}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CFindDlg, CDialog)
//{{AFX_MSG_MAP(CFindDlg)
ON_EN_SETFOCUS(IDC_FINDTEXT, OnSetfocusFindtext)
ON_EN_KILLFOCUS(IDC_FINDTEXT, OnKillfocusFindtext)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFindDlg message handlers

BOOL CAddBmDialog::OnInitDialog() 
{
  CDialog::OnInitDialog();
#if POCKETPC
  ((CCeCommandBar *)m_pWndEmptyCB)->LoadToolBar(cIDR_DIALOG);
#endif
  return TRUE;
}

void CFindDlg::OnSetfocusFindtext() {
#if POCKETPC
  HWND hWnd;
  GetDlgItem(IDC_FINDTEXT,&hWnd);
  if (hWnd)
    SHSipPreference(hWnd,SIP_UP);
#endif
}

void CFindDlg::OnKillfocusFindtext() {	
#if POCKETPC
  HWND hWnd;
  GetDlgItem(IDC_FINDTEXT,&hWnd);
  if (hWnd)
    SHSipPreference(hWnd,SIP_DOWN);
#endif
}

BOOL CFindDlg::OnInitDialog() {
  CDialog::OnInitDialog();
#if POCKETPC
  ((CCeCommandBar *)m_pWndEmptyCB)->LoadToolBar(cIDR_DIALOG);
#endif
  return TRUE;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -