正文

VC在ODBC下实现数据库报表2006-12-06 23:45:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/12567/21346.html

分享到:

void CMy112View::OnDraw(CDC* pDC){ CMy112Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here/ CString line; TEXTMETRIC metrics; int y=0;    int tabstop[]={200,375,600,950}; CFont TitleFont; CFont HeadingFont; CFont DetailFont; Roomrs.Open(CRecordset::snapshot,_T("select * from room")); Roomrs.Requery(); TitleFont.CreateFont(36,0,0,0,FW_BOLD,false,false,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,        CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,"宋体"); HeadingFont.CreateFont(18,0,0,0,FW_BOLD,false,true,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,        CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,"宋体"); DetailFont.CreateFont (18,0,0,0,FW_NORMAL,false,false,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,        CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,"宋体");    //设置标题字体 CFont *OldFont=pDC->SelectObject(&TitleFont); pDC->GetTextMetrics(&metrics); //计算行高    int lineHeight=metrics.tmHeight+metrics.tmExternalLeading; y=y-lineHeight; pDC->TextOut(400,0,"酒店客房信息表");    //设置行字体    pDC->SelectObject(&HeadingFont); pDC->GetTextMetrics(&metrics);    lineHeight=metrics.tmHeight+metrics.tmExternalLeading;  line.Format("%s\t%s\t%s\t%s","房间号","房间类型","房间状态","房间价格");    pDC->TabbedTextOut(200,y,line,-1,4,tabstop,0); y=y-lineHeight;    //设置表字体    pDC->SelectObject(&DetailFont); pDC->GetTextMetrics(&metrics);    lineHeight=metrics.tmHeight+metrics.tmExternalLeading;  while(!Roomrs.IsEOF()) {  CString price;  price.Format("%d",Roomrs.m_roomprice);  CString  str;         str.Format("%s\t%s\t%s\t% s",Roomrs.m_roomno,Roomrs.m_roomtype,Roomrs.m_roomstate,price);     pDC->TabbedTextOut(200,y,str,-1,4,tabstop,0);     Roomrs.MoveNext();        y=y-lineHeight; }  Roomrs.Close(); //恢复旧字体 pDC->SelectObject(OldFont);}/*CSize TabbedTextOut( int x, int y, const CString& str, int nTabPositions, LPINT lpnTabStopPositions, int nTabOrigin );该函数用当前字体在指定位置 (x,y) 处显示一个由str指定的文本,且根据指定的制表停止位设置相应字符位置。函数成功时返回文本的大小。参数中,nTabPositions表示lpnTabStopPositions数组的大小,lpnTabStopPositions表示多个递增的停止位(逻辑坐标)的数组,nTabOrigin表示制表停止位x方向的起始点(逻辑坐标)。*/void CMy112View::OnInitialUpdate(){ CScrollView::OnInitialUpdate();  // TODO: calculate the total size of this view SetScrollSizes(MM_LOENGLISH,CSize(600,1000));  //MM_LOENGLISH这种类型Y值为负 CMy112Doc *pDoc=GetDocument(); ASSERT_VALID(pDoc); pDoc->SetTitle("hehe");}

阅读(2265) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册