我在MainForm里面用分隔条分出一部分专门调用显示对话框
此对话框的属性中VSCroll为真,然后我在下面函数里添加了下拉条的响应命令
void CAlarmDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
UpdateData(TRUE);
int nMinPos;
int nMaxPos;
int nOffset = 10;
SCROLLINFO   info;
GetScrollRange(SB_VERT, &nMinPos, &nMaxPos);
nMaxPos = GetScrollLimit(SB_VERT);
int nCurPos = GetScrollPos(SB_VERT);
CRect rect;
GetWindowRect(rect);
switch(nSBCode) {
     ...
case SB_THUMBTRACK:

int postmp2 = nCurPos;
nCurPos = nPos;
ScrollWindowEx(0,postmp2-nCurPos,NULL,NULL,NULL,NULL,SW_SCROLLCHILDREN);
InvalidateRect(rect); 
         ...}但是运行后,来回托动下拉条几次就会出现调试错误,提示为“未知错误0x80000003”
如果注释掉InvalidateRect(rect),这个错误就不会出现,但界面也无法刷新了。
请问那位知道或碰到过这样的问题的可以指教一下么!不胜感激!!
着急中。

解决方案 »

  1.   

    我试了下你的代码没出问题,你是否正确使用FormView了呢?
      

  2.   

    对 milozy1983(跳蚤侦探):
    请问能否把你测试我的代码的程序发给我看看呢?我想对照一下也许能找到答案。
    [email protected] 谢了!!对 dirdirdir3(风) :
    OnPaint和OnDraw函数没有改过。
      

  3.   


    CRect rect;
    GetWindowRect(rect);
    InvalidateRect(rect); 
    用法不对啊
    应该是
    CRect rect;
    GetClientRect(rect);
    InvalidateRect(rect); 
    或者你的代码不完整??
      

  4.   

    用GetClientRect也同样有问题阿
    不知道有没有用VSCroll的例子,还有就是拖动滚动条时的闪烁问题应怎么解决呢?
      

  5.   

    对 milozy1983(跳蚤侦探):
    我单独将这段代码放到一个新工程里,运行后,来回拖动滚动条几十次后,也出现了上述错误。