next up previous contents index
: 枠を描く : 文字認識 : マウスの位置情報の取り出し   目次   索引

枠の大きさの決定

m_sEdit1の座標点のデータを用いて枠の大きさを決定する。m_sEdit1のデータは文字列なので,整数値の座標点はistringstreamを用いて取り出す。そのために,ヘッダファイルに
#include $ <$sstream$ >$
using namespace std;

を追加しておく。

void CPaintDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
drawLine=FALSE;
CDialog::OnLButtonUp(nFlags, point);
}
を以下のように書き直す。
void CPaintDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
drawLine=FALSE;
UpdateData(TRUE);
string st;
int xs, ys;
st = m_sEdit1;
istringstream is(st);
is $ >>$ xs $ >>$ ys;
int xmax=xs, xmin=xs, ymax=ys, ymin=ys;
while(is $ >>$ xs $ >>$ ys){
if(xs $ >=$ xmax){
xmax = xs;
}
if(xs $ <$ xmin){
xmin = xs;
}
if(ys $ >=$ ymax){
ymax = ys;
}
if(ys $ <$ ymin){
ymin = ys;
}
}
xmax = xmax + 2;
xmin = xmin - 2;
ymax = ymax + 2;
ymin = ymin - 2;
double bisectx = (xmax - xmin)/2.0;
double trisecty = (ymax - ymin)/3.0;
CDialog::OnLButtonUp(nFlags, point);
}


next up previous contents index
: 枠を描く : 文字認識 : マウスの位置情報の取り出し   目次   索引
Administrator 平成16年7月8日