在网上查了查,可以通过
pDC->DrawText(str,&rectstr,DT_LEFT |DT_CALCRECT);
pDC->DrawText(str,rectstr,DT_LEFT);
来获取文本的矩形面积。
但是这是在OnDraw函数里。
滚动条的设定是在OnInitialUpdate函数里。如何去改变滚动条参数?
pDC->DrawText(str,&rectstr,DT_LEFT |DT_CALCRECT);
pDC->DrawText(str,rectstr,DT_LEFT);
来获取文本的矩形面积。
但是这是在OnDraw函数里。
滚动条的设定是在OnInitialUpdate函数里。如何去改变滚动条参数?
解决方案 »
- 给控件添加变量后程序无法运行
- MFC中 WinApp 的全局变量是怎么回事? 续集
- 请问高手关于VS2008、VS6.0、VC++6.0的安装问题
- 如何在COM组件中添加设置回调函数的接口?
- MoveTo, LineTo画线的颜色,怎么设?
- 怎样运行外部exe文件,让它自动执行一个文件?
- 有没有类似rename的函数
- VC中能否自己建立数据库?用ADOX还是SQLConfigDataSource?
- 如何针对文件的任意文件任意的添加和减少指定长度的数据块?
- 怎样使,edit控件中的某一行,处于被选中的状态?即,鼠标复制,剪切等操作前的高亮显示的状态
- 用list control显示硬盘中的文件和文件夹
- 不规则的位图读取之后无法显示??
HDC hdc, // handle to DC
LPCTSTR lpString, // text string
int cbString, // number of characters in string
LPSIZE lpSize // string size
);这不是获取STRING的大小的吗?这里需要知道的是STRING的高度?怎么弄?BOOL SetScrollRange(
HWND hWnd, // handle to window
int nBar, // scroll bar
int nMinPos, // minimum scrolling position
int nMaxPos, // maximum scrolling position
BOOL bRedraw // redraw flag
);这里的nBar是滚动条吧?如何获得他的对象呢?
最大位置和最小位置就是滚动条的范围吗?
void CTest1View::OnDraw(CDC* pDC)
{
CTest1Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
pDC->DrawText(str,&rectstr,DT_LEFT |DT_CALCRECT);
pDC->DrawText(str,rectstr,DT_LEFT);
}void CTest1View::OnFileOpen()
{
// TODO: Add your command handler code here
CFileDialog dlg(TRUE);
if(IDOK==dlg.DoModal())
{
CFile file(dlg.GetFileName(),CFile::modeRead);
DWORD len=file.GetLength();
char *pbuf;
pbuf=new char[len];
pbuf[len]=0;
file.Read(pbuf,len);
file.Close();
str=pbuf;
}
//UpdateWindow();
SetScrollRange (SB_VERT,0,rectstr.bottom );
Invalidate();
}依然无法实现滚动条改变的功能
void CTest1View::OnDraw(CDC* pDC)
{
CTest1Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
pDC->DrawText(str,&rectstr,DT_LEFT |DT_CALCRECT);
pDC->DrawText(str,rectstr,DT_LEFT);
}void CTest1View::OnFileOpen()
{
// TODO: Add your command handler code here
CFileDialog dlg(TRUE);
if(IDOK==dlg.DoModal())
{
CFile file(dlg.GetFileName(),CFile::modeRead);
DWORD len=file.GetLength();
char *pbuf;
pbuf=new char[len];
pbuf[len]=0;
file.Read(pbuf,len);
file.Close();
str=pbuf;
}
//UpdateWindow();
SetScrollRange (SB_VERT,0,rectstr.bottom );
Invalidate();
}