窗口的视图中显示了一张图片,然后跳出一个有滑杆的对话框,我希望滑杆滑动的同时,获得滑杆指示的值,然后重新计算图片各象素的颜色,更新视图把结果显示出来。我通过OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 可以及时获得滑杆滑动过程中指示的当前值,可是我不知道这个值该如何传递到C*Doc中(象素值的重新计算在C*Doc中),然后可以更新视图(显示图片在C*View的ondraw中),我开始的程序是这么写的
C*Dlg dlg;
int flag=dlg.DoModal();
if(flag==IDOK||flag==IDCANCEL) return;
else
{
…… //计算象素值,生成新图
}
可是如果我只是滑动滑杆,程序一直停留在doModal那里,一直到按下ok或者cancel才到if那句,所以我永远都执行不到else里面的程序,实际上我想一边滑动一边执行那段程序,请问该怎么做,很急的问题,拜托各位帮帮忙
C*Dlg dlg;
int flag=dlg.DoModal();
if(flag==IDOK||flag==IDCANCEL) return;
else
{
…… //计算象素值,生成新图
}
可是如果我只是滑动滑杆,程序一直停留在doModal那里,一直到按下ok或者cancel才到if那句,所以我永远都执行不到else里面的程序,实际上我想一边滑动一边执行那段程序,请问该怎么做,很急的问题,拜托各位帮帮忙
if(NULL!=pView)
pView->PostMessage(MESSAGE,WPARAM(nPos),0);C*View::MessageHandler
{
Invalidate/InvalidateRect
}
CMyFormView* pView;
CMainFrame *pFrame =
(CMainFrame*)AfxGetApp()->m_pMainWnd;// CMDIChildWnd *pChild =
// (CMDIChildWnd *) pFrame->GetActiveFrame(); // or CMDIChildWnd *pChild = pFrame->MDIGetActive(); pView = (CMyFormView*) pFrame->GetActiveView();