📄 bookwnd.cpp
字号:
// BookWnd.cpp : implementation file
//
#include "stdafx.h"
#include "btwnd.h"
#include "BookWnd.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CBookWnd
//////////////////////////////声明外部全局变量//////////////////////////////
extern DWORD flg_page;
extern CRect rect_book_bookwnd;
extern HWND hwnd_book_bookwnd;
#include "MyBookButton.h"
CBookWnd::CBookWnd()
{
}
CBookWnd::~CBookWnd()
{
unsigned int i;
for(i=0;i<numof_name;i++)
{
list_name[i].DestroyWindow();
}
}
void CBookWnd::CreateDispWin(const RECT& rect, CWnd* pParentWnd, UINT cmd)
{
// HCURSOR hcursor;
HBRUSH hbrush;
CString str;
HCURSOR hcursor;
hcursor=AfxGetApp()->LoadCursor(IDC_ARROW);
hbrush=(HBRUSH) ::GetStockObject(WHITE_BRUSH);
str=::AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW,hcursor,hbrush);
// CWnd* pWnd = new CStatic;
this->Create(str,_T("dsplay"),WS_CHILD|WS_VISIBLE|WS_BORDER,rect,pParentWnd,cmd);
}
BEGIN_MESSAGE_MAP(CBookWnd, CWnd)
//{{AFX_MSG_MAP(CBookWnd)
ON_WM_CREATE()
ON_WM_PAINT()
ON_BN_CLICKED(IDC_SEL_NAMELIST,btn_booksel_book)
ON_BN_CLICKED(IDC_SEL_DIALOUT,btn_booksel_dialout)
ON_BN_CLICKED(IDC_SEL_GET,btn_booksel_get)
ON_BN_CLICKED(IDC_SEL_UNGET,btn_booksel_unget)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBookWnd message handlers
int CBookWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CWnd::OnCreate(lpCreateStruct) == -1)
return -1;
flg_page=PAGE_INITIAL;
numof_name=10;
//////////////创建字体////////////////////////
this->GetWindowRect(&rect_bookwnd);
this->ScreenToClient(&rect_bookwnd);
///////////////////////通讯录按键///////////////////////////
rect_bookwnd_key_book.TopLeft().x=10;
rect_bookwnd_key_book.TopLeft().y =7;
rect_bookwnd_key_book.BottomRight().x=rect_bookwnd_key_book.TopLeft().x +429;
rect_bookwnd_key_book.BottomRight().y=rect_bookwnd_key_book.TopLeft().y +48;
btn_selkey_book.Create(_T(""),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW,
rect_bookwnd_key_book,this,IDC_SEL_NAMELIST);
btn_selkey_book.ShowWindow(SW_SHOW);
btn_selkey_book.LoadBitmaps(IDB_SUBBOOK_SEL_NAMELIST_01,
IDB_SUBBOOK_SEL_NAMELIST_02,
IDB_SUBBOOK_SEL_NAMELIST_01,
NULL );
btn_selkey_book.AutoLoad(IDB_SUBBOOK_SEL_BOOK_01,this);
///////////////////////已拨电话按键///////////////////////////
rect_bookwnd_key_dialout.TopLeft().x=10;
rect_bookwnd_key_dialout.TopLeft().y =70;
rect_bookwnd_key_dialout.BottomRight().x=rect_bookwnd_key_dialout.TopLeft().x +429;
rect_bookwnd_key_dialout.BottomRight().y=rect_bookwnd_key_dialout.TopLeft().y +48;
btn_selkey_dialout.Create(_T(""),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW,
rect_bookwnd_key_dialout,this,IDC_SEL_DIALOUT);
btn_selkey_dialout.ShowWindow(SW_SHOW);
btn_selkey_dialout.LoadBitmaps(IDB_SUBBOOK_SEL_DIALOUT_01,
IDB_SUBBOOK_SEL_DIALOUT_02,
IDB_SUBBOOK_SEL_DIALOUT_01,
NULL );
btn_selkey_dialout.AutoLoad(IDB_SUBBOOK_SEL_DIALOUT_01,this);
///////////////////////已接电话按键///////////////////////////
rect_bookwnd_key_get.TopLeft().x=10;
rect_bookwnd_key_get.TopLeft().y =133;
rect_bookwnd_key_get.BottomRight().x=rect_bookwnd_key_get.TopLeft().x +429;
rect_bookwnd_key_get.BottomRight().y=rect_bookwnd_key_get.TopLeft().y +48;
btn_selkey_get.Create(_T(""),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW,
rect_bookwnd_key_get,this,IDC_SEL_GET);
btn_selkey_get.ShowWindow(SW_SHOW);
btn_selkey_get.LoadBitmaps( IDB_SUBBOOK_SEL_GET_01,
IDB_SUBBOOK_SEL_GET_02,
IDB_SUBBOOK_SEL_GET_01,
NULL );
btn_selkey_get.AutoLoad(IDB_SUBBOOK_SEL_GET_01,this);
///////////////////////未接电话按键///////////////////////////
rect_bookwnd_key_unget.TopLeft().x=10;
rect_bookwnd_key_unget.TopLeft().y =196;
rect_bookwnd_key_unget.BottomRight().x=rect_bookwnd_key_unget.TopLeft().x +429;
rect_bookwnd_key_unget.BottomRight().y=rect_bookwnd_key_unget.TopLeft().y +48;
btn_selkey_unget.Create(_T(""),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW,
rect_bookwnd_key_unget,this,IDC_SEL_UNGET);
btn_selkey_unget.ShowWindow(SW_SHOW);
btn_selkey_unget.LoadBitmaps(IDB_SUBBOOK_SEL_UNGET_01,
IDB_SUBBOOK_SEL_UNGET_02,
IDB_SUBBOOK_SEL_UNGET_01,
NULL );
btn_selkey_unget.AutoLoad(IDB_SUBBOOK_SEL_UNGET_01,this);
return 0;
}
void CBookWnd::OnPaint()
{
CPaintDC dc(this); // device context for painting
// dc.Rectangle(&CRect(10,10,550,550));
this->GetClientRect(rect_book_bookwnd); //为向读取线程的刷新函数提供rect
hwnd_book_bookwnd=this->GetSafeHwnd(); ////为向读取线程的刷新函数提供句柄
if(flg_page!=PAGE_INITIAL)
{
if( (flg_page==PAGE_DIALOUT )||(flg_page==PAGE_GET )||(flg_page==PAGE_UNGET )
||(flg_page==PAGE_NAME_LIST ) )
{
if(btn_selkey_dialout.m_hWnd!=NULL)
btn_selkey_dialout.DestroyWindow();
if(btn_selkey_get.m_hWnd!=NULL)
btn_selkey_get.DestroyWindow();
if(btn_selkey_unget.m_hWnd!=NULL)
btn_selkey_unget.DestroyWindow();
if(btn_selkey_book.m_hWnd!=NULL)
btn_selkey_book.DestroyWindow();
}
if(flg_page==PAGE_BOOKMAIN)
{
///////////////////////通讯录按键///////////////////////////
// btn_selkey_book.Create(_T(""),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW,rect_bookwnd_key_book,
// this,IDC_SEL_NAMELIST);
//btn_selkey_book.ShowWindow(SW_SHOW);
// btn_selkey_book.LoadBitmaps(IDB_SUBBOOK_SEL_NAMELIST_01,IDB_SUBBOOK_SEL_NAMELIST_02,
// IDB_SUBBOOK_SEL_NAMELIST_01, NULL );
// btn_selkey_book.AutoLoad(IDB_SUBBOOK_SEL_BOOK_01,this);
/*////////////////////已拨电话按键///////////////////////////
btn_selkey_dialout.Create(_T(""),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW, rect_bookwnd_key_dialout
,this,IDC_SEL_DIALOUT);
btn_selkey_dialout.ShowWindow(SW_SHOW);
btn_selkey_dialout.LoadBitmaps(IDB_SUBBOOK_SEL_DIALOUT_01, IDB_SUBBOOK_SEL_DIALOUT_02,IDB_SUBBOOK_SEL_DIALOUT_01,
NULL );
btn_selkey_dialout.AutoLoad(IDB_SUBBOOK_SEL_DIALOUT_01,this);
///////////////////////已接电话按键///////////////////////////
btn_selkey_get.Create(_T(""),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW,rect_bookwnd_key_get,
this,IDC_SEL_GET);
btn_selkey_get.ShowWindow(SW_SHOW);
btn_selkey_get.LoadBitmaps( IDB_SUBBOOK_SEL_GET_01, IDB_SUBBOOK_SEL_GET_02,IDB_SUBBOOK_SEL_GET_01,
NULL );
btn_selkey_get.AutoLoad(IDB_SUBBOOK_SEL_GET_01,this);
///////////////////////未接电话按键///////////////////////////
btn_selkey_unget.Create(_T(""),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW,rect_bookwnd_key_unget,
this,IDC_SEL_UNGET);
btn_selkey_unget.ShowWindow(SW_SHOW);
btn_selkey_unget.LoadBitmaps(IDB_SUBBOOK_SEL_UNGET_01,IDB_SUBBOOK_SEL_UNGET_02,IDB_SUBBOOK_SEL_UNGET_01,
NULL );
btn_selkey_unget.AutoLoad(IDB_SUBBOOK_SEL_UNGET_01,this);
*/
}
}
}
///////////////////////////////////////////////////////////////////////////////////////////
void CBookWnd:: btn_booksel_book()
{
flg_page=PAGE_NAME_LIST;
DWORD i;
CString str;
this->InvalidateRect(&CRect(0,0,550,550));
this->UpdateWindow();
for(i=0;i<numof_name;i++)
{
str.Format(_T("1342875186%d"),i);
rect_list_name.TopLeft().x=10;
rect_list_name.TopLeft().y =7+63*i;
rect_list_name.BottomRight().x=rect_list_name.TopLeft().x +429;
rect_list_name.BottomRight().y=rect_list_name.TopLeft().y +48;
list_name[i].CreateButton(WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW,
rect_list_name,this,IDC_BASE_NAMELIST+i,str);
}
}
/////////////////////////////////////////////////////////////////////////////////////////////
void CBookWnd:: btn_booksel_dialout()
{
flg_page=PAGE_DIALOUT;
this->InvalidateRect(&CRect(0,0,550,550));
this->UpdateWindow();
}
//////////////////////////////////////////////////////////////////////////////////////////////
void CBookWnd::btn_booksel_get()
{
flg_page=PAGE_GET;
this->InvalidateRect(&CRect(0,0,550,550));
this->UpdateWindow();
}
void CBookWnd:: btn_booksel_unget()
{
flg_page=PAGE_UNGET;
this->InvalidateRect(&CRect(0,0,550,550));
this->UpdateWindow();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -