我在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),这个错误就不会出现,但界面也无法刷新了。
请问那位知道或碰到过这样的问题的可以指教一下么!不胜感激!!
着急中。
此对话框的属性中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),这个错误就不会出现,但界面也无法刷新了。
请问那位知道或碰到过这样的问题的可以指教一下么!不胜感激!!
着急中。
解决方案 »
- 单文档 调出一个对话框 点击其中的按钮 返回值
- 求个一个png转bmp的类或者函数
- 请问如何实现两个分割窗口的切换
- 想把配置文件放在当前程序路径appPath下一个appcfg文件夹里,请教怎么做
- 如何监视"资源管理器"进程的启动?
- 在线等待:求助,有关CListCtrl数据写入问题!
- 根据线程的ID不能得到句柄,反过来也不行?????有方法吗
- 单核CPU上的单线程和多线程
- IDirectSoundBuffer->QueryInterface 问题
- 交流一下:现在com/com+编程(vc++)工资有多高?
- 【求助高手】开发过P2P软件的进来看看
- 我的C++.编译器出现问题.高手或有经历者请指教(在线等)
请问能否把你测试我的代码的程序发给我看看呢?我想对照一下也许能找到答案。
[email protected] 谢了!!对 dirdirdir3(风) :
OnPaint和OnDraw函数没有改过。
CRect rect;
GetWindowRect(rect);
InvalidateRect(rect);
用法不对啊
应该是
CRect rect;
GetClientRect(rect);
InvalidateRect(rect);
或者你的代码不完整??
不知道有没有用VSCroll的例子,还有就是拖动滚动条时的闪烁问题应怎么解决呢?
我单独将这段代码放到一个新工程里,运行后,来回拖动滚动条几十次后,也出现了上述错误。