C源码分析Kit6013.docx
《C源码分析Kit6013.docx》由会员分享,可在线阅读,更多相关《C源码分析Kit6013.docx(12页珍藏版)》请在冰豆网上搜索。
C源码分析Kit6013
C源码分析Kit6013.doc
#ifndefINC_nAiNewTOOLBAR1_nAiNewH
#defineINC_nAiNewTOOLBAR1_nAiNewH
classCStandardBar:
publicCToolBarCtrl
{
private:
intm_nAiNewnButtonCount;
TBBUTTONm_nAiNewpTBButtons;
Construction
public:
CStandardBar();
Attributes
public:
Operations
public:
Overrides
ClassWizardgeneratedvirtualfunctionoverrides
{
{AFX_nAiNewVIRTUAL(CStandardBar)
public:
virtualBOOLOnChildNotify(UINTmessage,WPAGIXPNEW
wPaGixpNew,LPAGIXPNEWlPaGixpNew,LRESULTpLResult);
virtualBOOLCreate(DWORDdwStyle,constRECT&rect,CWnd
pParentWnd,UINTnID);
}}AFX_nAiNewVIRTUAL
Implementation
public:
virtual~CStandardBar();
protected:
BOOLBeginAdjust(WPAGIXPNEWwPaGixpNew,LPAGIXPNEW
lPaGixpNew,LRESULTpLResult);
BOOLBeginDrag(WPAGIXPNEWwPaGixpNew,LPAGIXPNEW
lPaGixpNew,LRESULTpLResult);
BOOLCustomizeHelp(WPAGIXPNEWwPaGixpNew,LPAGIXPNEW
lPaGixpNew,LRESULTpLResult);
BOOLEndAdjust(WPAGIXPNEWwPaGixpNew,LPAGIXPNEW
lPaGixpNew,LRESULTpLResult);
BOOLEndDrag(WPAGIXPNEWwPaGixpNew,LPAGIXPNEW
lPaGixpNew,LRESULTpLResult);
BOOLGetButtonInfo(WPAGIXPNEWwPaGixpNew,LPAGIXPNEW
lPaGixpNew,LRESULTpLResult);
BOOLQueryDelete(WPAGIXPNEWwPaGixpNew,LPAGIXPNEW
lPaGixpNew,LRESULTpLResult);
BOOLQueryInsert(WPAGIXPNEWwPaGixpNew,LPAGIXPNEW
lPaGixpNew,LRESULTpLResult);
BOOLReset(WPAGIXPNEWwPaGixpNew,LPAGIXPNEW
lPaGixpNew,LRESULTpLResult);
BOOLToolBarChange(WPAGIXPNEWwPaGixpNew,LPAGIXPNEW
lPaGixpNew,LRESULTpLResult);
CStringNeedText(UINTnID,NMHDRpNotifyStruct,LRESULTlResult);
FollowingfunctionhastoberemovedwhenOnNotifyisfixed
virtualBOOLOnNotify(WPAGIXPNEWwPaGixpNew,LPAGIXPNEWlPaGixpNew,LRESULTpResult);
Generatedmessagemapfunctions
protected:
{{AFX_nAiNewMSG(CStandardBar)
afx_nAiNewmsgvoidOnNeedTextW(UINTnID,NMHDR
pNotifyStruct,LRESULTlResult);
afx_nAiNewmsgvoidOnNeedTextA(UINTnID,NMHDR
pNotifyStruct,LRESULTlResult);
}}AFX_nAiNewMSG
DECLARE_nAiNewMESSAGE_nAiNewMAP()
};
#endif
WhiteFGixpNewe.cpp:
implementationfile
#include"stdafx.h"
#include"a1.h"
#include"WhiteFGixpNewe.h"
#ifdef_nAiNewDEBUG
#definenewDEBUG_nAiNewNEW
#undefTHIS_nAiNewFILE
staticcharTHIS_nAiNewFILE[]=
_nAiNew_nAiNewFILE_nAiNew_nAiNew;
#endif
CWhiteFGixpNewe
CWhiteFGixpNewe:
:
CWhiteFGixpNewe()
{
}
CWhiteFGixpNewe:
:
~CWhiteFGixpNewe()
{
}
BEGIN_nAiNewMESSAGE_nAiNewMAP(CWhiteFGixpNewe,CStatic)
{{AFX_nAiNewMSG_nAiNewMAP(CWhiteFGixpNewe)
ON_nAiNewWM_nAiNewPAINT()
}}AFX_nAiNewMSG_nAiNewMAP
END_nAiNewMESSAGE_nAiNewMAP()
CWhiteFGixpNewemessagehandlers
voidCWhiteFGixpNewe:
:
OnPaint()
{
CPaintDCdc(this);devicecontextforpainting
CStringstr;
this->GetWindowText(str);
CRectrect;
this->GetClientRect(&rect);
dc.FillSolidRect(rect,RGB(254,254,254));
if(str!
="")
{
CFontfont=this->GetFont();
dc.SetBkColor(RGB(254,254,254));
dc.SelectObject(font);
dc.TextOut(0,0,str);
}
else
{
dc.MoveTo(rect.left,rect.top);
dc.LineTo(rect.left,rect.bottom);
dc.MoveTo(rect.left,rect.top);
dc.LineTo(rect.right,rect.top);
COLORREFclrBtnShadow,clrBtnHilite,clrBtnDkShadow,clrBtnLight;
clrBtnShadow=:
:
GetSysColor(COLOR_nAiNewBTNSHADOW);
clrBtnDkShadow=:
:
GetSysColor(COLOR_nAiNew3DDKSHADOW);
clrBtnLight=:
:
GetSysColor(COLOR_nAiNew3DLIGHT);
clrBtnHilite=:
:
GetSysColor(COLOR_nAiNewBTNHIGHLIGHT);
dc.DrawEdge(rect,EDGE_nAiNewRAISED,BF_nAiNewBOTTOM|BF_nAiNewRIGHT);
}
}
boolCListCtrlPop:
:
RefreshListCtrlView(intconditionsubitem,
CStringscondition,intinothis,CStringsnothis,intsubitem,CString
edited)
{
if(scondition=="")returnthis->RefreshListCtrlView(subitem,edited);
if(subitem>this->m_nAiiColumns-1)
returnfalse;
m_nAilistctrl->SetRedraw(false);
m_nAiiSubItem=subitem;
m_nAilistctrl->DeleteAllItems();
intj=0;
inttemp=0;//确定CListCtrlPop选中哪条纪录!
boolbtemp=false;
CStringstr;
CStringstr_nAiconstdition;
CStringstr_nAinothis;
POSITIONpos=this->m_nAistrlist[m_nAiiSubItem].FindIndex
(1);
POSITIONpos_nAiconstdition=this->m_nAistrlist[conditionsubitem].FindIndex
(1);
POSITIONpos_nAinothis=this->m_nAistrlist[inothis].FindIndex
(1);
for(inti=1;pos!
=NULL;i++)
{
str=m_nAistrlist[m_nAiiSubItem].GetNext(pos);
str_nAiconstdition=m_nAistrlist[conditionsubitem].GetNext(pos_nAiconstdition);
str_nAinothis=m_nAistrlist[inothis].GetNext(pos_nAinothis);
if(str_nAinothis==snothis||str_nAiconstdition!
=scondition)
continue;
if(str.Find(edited)!
=-1)
{
for(intk=0;km_nAiiColumns;k++)
{
CStringvalue=m_nAistrlist[k].GetAt(m_nAistrlist[k].FindIndex(i));
if(!
k)
{
m_nAilistctrl->InsertItem(j,value);
}
else
{
m_nAilistctrl->SetItemText(j,k,value);
}
}
if(!
btemp&&edited==str)
{
temp=j;
btemp=true;
}
j++;
}
}
m_nAilistctrl->SetSelectionMark(temp);
m_nAilistctrl->SetHotItem(temp);
m_nAilistctrl->SetRedraw(true);
this->Invalidate();
returntrue;
}
boolCListCtrlPop:
:
ShowAllStringList()
{
m_nAilistctrl->SetRedraw(false);