10:08
1.鼠标滚轮控制文本滚动条
需要响应OnMouseWheel。重载这个函数,只需要声明afx_msg BOOL OnMouseWheel(UINT fFlags, short zDelta, CPoint point);不需要去绑定。这个同OnVScroll,OnMouseMove,OnLButtonDown有一样的特点,只需重载声明就OK了。
默认情况下OnMouseWheel是不起作用的,需要在OnLButtonDown设置焦点SetFoucs(),这样才起作用。
鼠标滚轮控制滚动条,可参考http://www.jizhuomi.com/software/191.html。
分别控制滚动条和文本是不必要的,因为滚动条是文本的,所以直接调用CScrollView::OnVScroll(nSBCode, nPos, pScrollBar);这样就可以同时控制了。其中pScrollBar可通过CScrollBar* pScrollBar=GetScrollBarCtrl(SB_VERT);来获得,实际上,滚动条不是先置的,该函数返回NULL,所以等价于:CScrollView::OnVScroll(nSBCode, nPos, NULL);
注意:nSBCode必须是SB_THUMBTRACK才起作用!
11:20
1.关于BitBlt函数的思考
函数原型:BOOL BitBlt(HDC hdcDest,int nXDest,int nYDest,int nWidth,int nHeight,HDC hdcSrc,int nXSrc,int nYSrc,DWORD dwRop);
函数功能:该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境。
hdcDest:指向目标设备环境的句柄。
nXDest:指定目标矩形区域左上角的X轴逻辑坐标。[实际上是在hdcSrc设备上的X轴坐标]
nYDest:指定目标矩形区域左上角的Y轴逻辑坐标。[实际上是在hdcSrc设备上的Y轴坐标]
16:15
BOOL CreatePen(int nPenStyle, int nWidth, COLORREF crColor);
下面说nWidth必须为1的地方需要验证。
nPenStyle ------ Long,指定画笔样式,可以是下述常数之一
PS_SOLID 画笔画出的是实线 PS_DASH 画笔画出的是虚线(nWidth必须是1) PS_DOT 画笔画出的是点线(nWidth必须是1) PS_DASHDOT 画笔画出的是点划线(nWidth必须是1) PS_DASHDOTDOT 画笔画出的是点-点-划线(nWidth必须是1) PS_NULL 画笔不能画图 PS_INSIDEFRAME画笔在由椭圆、矩形、圆角矩形、饼图以及弦等生成的封闭对象框中画图。如指定的准确RGB颜色不存在,就进行抖动处理
20:08
1.无法解析的外部符号 "public: int __thiscall CSView::Read_SS(class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >
可能原因:dll链接有问题;头文件或源代码文件中缺少。