# include "financebook.h"
# include "account daily .. Cdialog)
caccountdaily:: caccountdaily (cwnd * p parent/* = null */)
: cdialog (;
}
caccountdaily:: ~ caccountdaily ()
{
}
void caccountdaily:: one 기본 클래스는 자동으로
// 객체를 삭제합니다. 이 기본 클래스를 호출하기 전에
// 객체에 필요한 추가 정리 코드를 추가합니다.
CDialog::OnFinalRelease ();
}
void caccountdaily:: dodataexchange (CDATA exchange * pdx)
{
cdialog::
}
begin _ message _ map (caccountdaily, cdialog)
on _ bn _ clicked (idok) IID_IAccountDaily:: onbnclickedok)
end _ message _ map ()
begin _ dispatch _ map 이 IID 는. IDL 파일에 추가된
// 일정 인터페이스의 GUID 와 일치해야 합니다.
//{535ce23c-51e3-4fd9-96fb-db8a8c13be92}
static const iid id id _ iaccountdaily = <
begin _ interface _ map (caccountdaily, cdialog)
interface _ part (caccountdaily, iii Dispatch)
end _ interface _ map ()
//caccountdaily 메시지 처리기
bool caccountdaily:: one
// TODO: 여기에 추가 초기화
cbutton * pradiobutton = (cbutton *) getdlgitem (IDC _ payout);
pRadioButton-> 셋 체크 (true);
cbutton * pcheckbox = (cbutton *) getdlgitem (IDC _ format _ daily);
pCheckBox-> 셋 체크 (true);
return TRUE; //return true unless you set the focus to a control
//예외 사항: OCX 속성 페이지에서 false
}
void caccountdaily: 를 반환해야 합니다 RadioButton 및 CheckBox 의 상태 확인
cbutton * pradiobutton = (cbutton *) getdlgitem (IDC _ payout);
cbutton * pcheckbox = (cbutton *) getdlgitem (IDC _ format _ daily);
int isradiobuttonchecked = pradiobutton-> Getcheck (),
ischeckbox = pcheckbox-> GetCheck ();
getdlgitem 텍스트 (IDC _ date _ daily, datetime);
getdlgitem 텍스트 (IDC _ resume, resume);
getdlgitem 텍스트 (IDC _ amount _ daily, amount);
getdlgitem 텍스트 (IDC _ remark _ daily, remark);
if (! Resume.getlength ()
{
messagebox (l "비용 요약은 비워둘 수 없습니다!" , l "중요한 팁", MB_ICONWARNING);
GetDlgItem(IDC_RESUME)-> SetFocus ();
}
else if (! Amount.getlength ())
{
messagebox (l "발생 금액은 비워 둘 수 없습니다!" , l "중요한 팁", MB_ICONWARNING);
getdlgitem (IDC _ amount _ daily)-> SetFocus ();
}
else
{
if (isradiobuttonchecked)
type = l "비용";
else
type = L "매출";
intdot = , 공간 = , ch = ;
CString str;
for(int index = ; 인더스! = amount.GetLength (); ++인덱스)
{
if (amount.getat (index) = ='.')
do t+;
if (amount.getat (index) = ='')
공간++;
if(amount.GetAt(index) < ' | | amount.getat (인덱스) > 9')
{
str = amount.getat (인덱스);
ch++;
}
}
if(ch > )
{
/* * * * 버그: 문자열에 "a.6" 과 같은 다른 문자가 있을 경우 형식이 올바른 것으로 간주됩니다. ***/
if(str! = '.' & & Str! ='' | | (공간 및 gt; || dot > 1))
{
메시지 상자 (l "금액 형식이 잘못되었습니다. 입력을 확인하십시오!" " , l "중요한 팁", MB_ICONWARNING);
amountIsRigth = false;
getdlgitem (IDC _ amount _ daily)-> SetFocus ();
}
else
amountisrigth = true;
}
if (is checkbox)
amount = l ""+amount;
}
}
void caccountdaily:: onbnclickedok ()
{
//todo: 여기에 컨트롤 알림 처리기 코드 추가 <
CheckEnter ();
if(resume.GetLength() & & Amount.GetLength() & & Amountisrigth)
메시지 상자 (datetime+l "\ n \ n"+resume+l "\ n \ n"+type+
}