CWindowDC dc(this);
CFont font;
font.CreatePointFont(200,"楷体_GB2312",NULL);
dc.SelectObject(&font);
dc.SetTextColor(RGB(100,100,100));
dc.SetBkMode(TRANSPARENT);
TEXTMETRIC tm;
dc.GetTextMetrics(&tm);
CRect re;
GetWindowRect(&re);
int cx=re.Width();
int cy=re.Height();
int x=0;
CSize szs=0;
int num=cy/tm.tmHeight;
CString * tmp=new CString[num+1];
memset(tmp,0,num+1);
static int y=0;
for(int l=0;num>l;l++)
{
for(static int i=0;szs.cx<cx;i++)
{
tmp[l]+=m_filetmp[i];//m_filetmp是文件的内容char * 类型
szs=dc.GetTextExtent(tmp[l]);
}
dc.TextOut(x,y,tmp[l]);
y+=tm.tmHeight;
}
我想写个文本文件阅读工具,想在一个页面输出多行字 和记事本一样
解决方案 »
- 请问用CDC画出来的图形能用CGI+旋转吗??
- RichEdit控件的二进制数据如何写到内存文件中
- cin.get()与cin在这个程序中的区别???
- 出现Cannot open include file: 'stdafx.h': No such file or directory错误,请教大家!很急~~
- 关于FrameWork2.0
- 从Web服务器上加载位图
- 不能用文本打开显示的文件,如何从中查找指定的字符串的位置!?
- sizeof怎麼除了問題阿,大小不對阿
- 怎么看出一个已经通过AppWizard后的DLL,是常规DLL,还是扩展DLL?
- VC入门的一条路,一个暑假应该够用了。(转自vchelp)
- 在MFC中用SendMessage 向CListCtr发个双击事件,怎么办?
- CFileDialog
不明白你为什么这么声明,还有显示文本文件得分页加载和显示,象你这样显示文件比较大的话,整个程序就象死了一样长时间无反应。
tmp[xx]代表显示一行,总共在一页显示L行,,,
memset(tmp,0,num+1);memset的时候出错了。tmp为指针类型,大小是4个字节,而你的num+1,应该不止4个字节吧,肯定越界了。
按照你的本意,应该是对tmp中的每个元素进行归零吧?
CString的默认构造函数,初始化的时候,就是空的字符串,不用归零,因此删除memset(tmp,0,num+1);即可。
memset(tmp,0,num+1);memset的时候出错了。tmp为指针类型,大小是4个字节,而你的num+1,应该不止4个字节吧,肯定越界了。
按照你的本意,应该是对tmp中的每个元素进行归零吧?
CString的默认构造函数,初始化的时候,就是空的字符串,不用归零,因此删除memset(tmp,0,num+1);即可。