?? ommonstatic.cpp
字號:
// ommonStatic.cpp: implementation of the CommonStatic class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "RADIO.h"
#include "ommonStatic.h"
#include "APPStatic.h"
#include "RADIODoc.h"
#include "RADIOView.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
WNDPROC CommonStatic::previousParentProc=NULL;//用來存DrawToolBar父框架原先WndProc
CommonStatic::CommonStatic()
{
}
CommonStatic::~CommonStatic()
{
}
LRESULT CALLBACK CommonStatic::ParentWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{ //DrawToolBar的新WndProc!
//這可是最原始沒包裝過的WndProc!
if (uMsg==WM_SETTEXT) {
UINT IDfloatingTitle=(UINT)::GetWindowLong(hwnd,GWL_USERDATA);
TCHAR buffer[30];
if(::LoadString(AfxGetApp()->m_hInstance,IDfloatingTitle,buffer,sizeof(buffer))!=0)
{
lParam=(LPARAM)buffer;//lParam是字符串內容,傳給DefWindowProc改窗口標題
}
return ::DefWindowProc(hwnd,uMsg,wParam,lParam);
}
if (uMsg==WM_QUIT) {//收到WM_QUIT才說明這個窗口徹底完了!完了就把它原本WndProc置成NULL.
previousParentProc=NULL;
return ::DefWindowProc(hwnd,uMsg,wParam,lParam);
}
return ::CallWindowProc(previousParentProc,hwnd,uMsg,wParam,lParam);
}
//CDrawToolBar的Paint!
void CommonStatic::PaintProcToolBar(CDC *pDC, CString strInfo)
{
pDC->SetBkColor (RGB(0,0,0)) ;
pDC->SetTextColor(RGB(255,255,0));
pDC->TextOut(110,9,strInfo);
}
//CDrawToolBar的Paint!中文字串用。
void CommonStatic::PaintProcToolBar2(CDC *pDC, CString strInfo)
{
CWnd *wndStatic=pDC->GetWindow();
//得到pDC的窗口的Font;
LOGFONT logFont;
CFont *pFont=wndStatic->GetFont();
pFont->GetLogFont(&logFont);
//更改Font
CFont font;
lstrcpy(logFont.lfFaceName,TEXT("楷體_GB2312"));
logFont.lfHeight=14;
logFont.lfWeight=FW_BOLD;
font.CreateFontIndirect(&logFont);
pDC->SelectObject(&font);
pDC->SetTextColor(RGB(255,255,0));
pDC->SetBkColor(RGB(0,0,0));
pDC->TextOut(110,11,strInfo);
}
//CDrawStatic的Paint!
void CommonStatic::PaintProcStatic(CDC *pDC, CString strInfo)
{
CWnd *wndStatic=pDC->GetWindow();
//得到pDC的窗口的Font;
LOGFONT logFont;
CFont *pFont=wndStatic->GetFont();
pFont->GetLogFont(&logFont);
//更改Font
CFont font;
//畫圖
pDC->SetBkColor(RGB(0,0,0));
if(strInfo=="title"){
lstrcpy(logFont.lfFaceName,TEXT("楷體_GB2312"));
logFont.lfHeight=16;
logFont.lfWeight=FW_BOLD;
font.CreateFontIndirect(&logFont);
pDC->SelectObject(&font);
pDC->SetTextColor(RGB(0,255,0));
pDC->SetBkColor(APPStatic::colorDlg);
CString strText;
wndStatic->GetWindowText(strText);
pDC->TextOut(0,0,strText);
}else if(strInfo=="engTitle"){
lstrcpy(logFont.lfFaceName,TEXT("System"));
logFont.lfHeight=15;
logFont.lfWeight=FW_BOLD;
font.CreateFontIndirect(&logFont);
pDC->SelectObject(&font);
pDC->SetTextColor(RGB(0,255,0));
pDC->SetBkColor(APPStatic::colorDlg);
CString strText;
wndStatic->GetWindowText(strText);
pDC->TextOut(0,0,strText);
}
else{
//lstrcpy(logFont.lfFaceName,TEXT("宋體"));
logFont.lfHeight=20;
logFont.lfWeight=FW_BOLD;
font.CreateFontIndirect(&logFont);
pDC->SelectObject(&font);
pDC->SetTextColor(RGB(255,255,1));
pDC->SetBkColor(APPStatic::colorDlg);
pDC->TextOut(0,0," ");//先刷一次空格
pDC->TextOut(0,0,strInfo);
}
}
//CDrawStatic的Paint,給信標相關的中文用。
void CommonStatic::PaintProcStatic2(CDC *pDC, CString strInfo)
{
CWnd *wndStatic=pDC->GetWindow();
//得到pDC的窗口的Font;
LOGFONT logFont;
CFont *pFont=wndStatic->GetFont();
pFont->GetLogFont(&logFont);
//更改Font
CFont font;
//畫圖
pDC->SetBkColor(RGB(0,0,0));
lstrcpy(logFont.lfFaceName,TEXT("楷體_GB2312"));
logFont.lfHeight=16;
logFont.lfWeight=FW_BOLD;
font.CreateFontIndirect(&logFont);
pDC->SelectObject(&font);
if(APPStatic::GetMainView()->GetBeaconManage()->IsBeaconAvailable()){
pDC->SetTextColor(RGB(255,255,1));
}else
{pDC->SetTextColor(RGB(255,0,0));
}
pDC->SetBkColor(APPStatic::colorDlg);
pDC->TextOut(0,0," ");//先刷一次空格
pDC->TextOut(0,0,strInfo);
}
//CDrawStatic的Paint,給信標相關的用。
void CommonStatic::PaintProcStatic3(CDC *pDC, CString strInfo)
{
CWnd *wndStatic=pDC->GetWindow();
//得到pDC的窗口的Font;
LOGFONT logFont;
CFont *pFont=wndStatic->GetFont();
pFont->GetLogFont(&logFont);
//更改Font
CFont font;
//畫圖
pDC->SetBkColor(RGB(0,0,0));
lstrcpy(logFont.lfFaceName,TEXT("System"));
logFont.lfHeight=16;
logFont.lfWeight=FW_BOLD;
font.CreateFontIndirect(&logFont);
pDC->SelectObject(&font);
if(APPStatic::GetMainView()->GetBeaconManage()->IsBeaconAvailable()){
pDC->SetTextColor(RGB(255,255,1));
}else
{pDC->SetTextColor(RGB(255,0,0));
}
pDC->SetBkColor(APPStatic::colorDlg);
pDC->TextOut(0,0," ");//先刷一次空格
pDC->TextOut(0,0,strInfo);
}
//CDrawStatic的Paint,Sheet2的Paint proc。
void CommonStatic::PaintProcStatic4(CDC *pDC, CString strInfo)
{
CWnd *wndStatic=pDC->GetWindow();
//得到pDC的窗口的Font;
LOGFONT logFont;
CFont *pFont=wndStatic->GetFont();
pFont->GetLogFont(&logFont);
//更改Font
CFont font;
//畫圖
pDC->SetBkColor(RGB(0,0,0));
if(strInfo=="title"){
lstrcpy(logFont.lfFaceName,TEXT("楷體_GB2312"));
logFont.lfHeight=16;
logFont.lfWeight=FW_BOLD;
font.CreateFontIndirect(&logFont);
pDC->SelectObject(&font);
pDC->SetTextColor(RGB(0,230,0));
pDC->SetBkColor(APPStatic::colorDlg);
CString strText;
wndStatic->GetWindowText(strText);
pDC->TextOut(0,0,strText);
}else if(strInfo=="engTitle"){
lstrcpy(logFont.lfFaceName,TEXT("宋體"));
logFont.lfHeight=13;
//logFont.lfWeight=FW_BOLD;
font.CreateFontIndirect(&logFont);
pDC->SelectObject(&font);
pDC->SetTextColor(RGB(0,220,0));
pDC->SetBkColor(APPStatic::colorDlg);
CString strText;
wndStatic->GetWindowText(strText);
pDC->TextOut(0,0,strText);
}
else{
lstrcpy(logFont.lfFaceName,TEXT("System"));
logFont.lfHeight=20;
logFont.lfWeight=FW_BOLD;
font.CreateFontIndirect(&logFont);
pDC->SelectObject(&font);
pDC->SetTextColor(RGB(255,255,1));
pDC->SetBkColor(APPStatic::colorDlg);
pDC->TextOut(0,0," ");//先刷一次空格
pDC->TextOut(0,0,strInfo);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -