{/'title/':/'Windows//u4e0bMFC//u5b9e//u73b0//u9898//u5e93//u8f6f//u4ef6//u529f//u80fd//uff0c//u4e00//u4e2a//u754c//u9762//u53ef//u4ee5//u663e//u793a//u5341//u4e2a//u9898//u76ee//uff0c//u6bcf//u4e00//u4e2a//u9898//u76ee//u662f//u4e00//u4e2a//u5bb9//u5668//uff0c//u5bb9//u5668//u91cc//u9762//u6709//u4e00//u4e2a//u9898//u76ee//u56db//u4e2a//u7b54//u6848//u5355//u9009//u3002//u901a//u8fc7//u6ed1//u52a8//u53ef//u4ee5//u4e0b//u62d6//u9898//u76ee//u5185//u5bb9//uff1a/',/'description/':/'//u8981//u5b9e//u73b0//u8fd9//u4e2a//u529f//u80fd//uff0c//u4f60//u53ef//u4ee5//u4f7f//u7528MFC//u6846//u67b6//u4e2d//u7684CScrollView//u7c7b//u6765//u521b//u5efa//u4e00//u4e2a//u53ef//u6ed1//u52a8//u7684//u89c6//u56fe//u3002//u4ee5//u4e0b//u662f//u5b9e//u73b0//u8fd9//u4e2a//u529f//u80fd//u7684//u57fa//u672c//u6b65//u9aa4//uff1a/',/'keywords/':/'MFC, CScrollView, //u9898//u5e93//u8f6f//u4ef6, //u6ed1//u52a8//u89c6//u56fe, //u9898//u76ee//u5bb9//u5668, //u5355//u9009//u6309//u94ae, //u6ed1//u52a8//u4e0b//u62d6, //u754c//u9762//u8bbe//u8ba1, //u7a0b//u5e8f//u5f00//u53d1/',/'content/':/'//u521b//u5efa//u4e00//u4e2aMFC//u9879//u76ee//u3002//n//u5728//u8d44//u6e90//u7f16//u8f91//u5668//u4e2d//u8bbe//u8ba1//u4e00//u4e2a//u754c//u9762//uff0c//u5305//u542b//u5341//u4e2a//u9898//u76ee//u5bb9//u5668//u3002//u53ef//u4ee5//u4f7f//u7528//u9759//u6b63//u6587//u672c//u63a7//u4ef6//u6765//u663e//u793a//u9898//u76ee//uff0c//u4f7f//u7528//u5355//u9009//u6309//u94ae//u63a7//u4ef6//u6765//u663e//u793a//u7b54//u6848//u9009//u9879//u3002//n//u5728CMainFrame//u7c7b//u4e2d//u6dfb//u52a0//u4e00//u4e2a//u6210//u5458//u53d8//u91cf//uff0c//u7528//u4e8e//u4fdd//u5b58//u6240//u6709//u9898//u76ee//u7684//u6570//u636e//u3002//u4f60//u53ef//u4ee5//u4f7f//u7528//u4e00//u4e2a//u6570//u7ec4//u6216//u8005//u81ea//u5b9a//u4e49//u7684//u6570//u636e//u7ed3//u6784//u3002//n//u5728CMainFrame//u7c7b//u4e2d//u91cd//u5199OnCreate//u51fd//u6570//uff0c//u5728//u5176//u4e2d//u521b//u5efa//u4e00//u4e2a//u6ed1//u52a8//u89c6//u56fe//u3002//n//ncpp//nBOOL CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)//n/{//n//tif (CFrameWnd::OnCreate(lpCreateStruct) == -1)//n//t//treturn -1;//n//n//t//t// //u521b//u5efa//u6ed1//u52a8//u89c6//u56fe//n//t//tif (!m_scrollView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST, NULL))//n//t//t//treturn -1;//n//n//t//t// //u5c06//u6ed1//u52a8//u89c6//u56fe//u8bbe//u7f6e//u4e3a//u4e3b//u6846//u67b6//u7684//u5ba2//u6237//u533a//n//t//tSetActiveView(&m_scrollView);//n//n//t//t// //u5c06//u9898//u76ee//u6570//u636e//u4f20//u9001//u7ed9//u6ed1//u52a8//u89c6//u56fe//n//t//tm_scrollView.SetQuestionData(m_questions);//n//n//t//treturn 0;//n}//n//n//n//u521b//u5efa//u4e00//u4e2a//u65b0//u7684CScrollView//u627f//u7528//u7c7b//uff0c//u547d//u540d//u4e3aCQuestionScrollView//uff0c//u5e76//u5728//u8be5//u7c7b//u4e2d//u6dfb//u52a0//u4e00//u4e2a//u6210//u5458//u53d8//u91cf//u6765//u4fdd//u5b58//u9898//u76ee//u6570//u636e//u3002//n//ncpp//nclass CQuestionScrollView : public CScrollView//n/{//npublic://n//tvoid SetQuestionData(const std::vector<QuestionData>& questions);//n//nprotected://n//tstd::vector<QuestionData> m_questions;//n};//n//n//n//u5728CQuestionScrollView//u7c7b//u7684//u5b9e//u73b0//u6587//u4ef6//u4e2d//uff0c//u6dfb//u52a0SetQuestionData//u51fd//u6570//u7684//u5b9e//u73b0//u3002//n//ncpp//nvoid CQuestionScrollView::SetQuestionData(const std::vector<QuestionData>& questions)//n/{//n//tm_questions = questions;//n}//n//n//n//u5728CQuestionScrollView//u7c7b//u4e2d//u91cd//u5199OnDraw//u51fd//u6570//uff0c//u7528//u4e8e//u7ed8//u5236//u9898//u76ee//u5bb9//u5668//u548c//u9898//u76ee//u5185//u5bb9//u3002//n//ncpp//nvoid CQuestionScrollView::OnDraw(CDC* pDC)//n/{//n//tCDocument* pDoc = GetDocument();//n//t// TODO: //u5728//u6b64//u5904//u6dfb//u52a0//u7ed8//u5236//u4ee3//u7801//n//n//t// //u7ed8//u5236//u9898//u76ee//u5bb9//u5668//u548c//u9898//u76ee//u5185//u5bb9//n//tCRect clientRect;//n//tGetClientRect(&clientRect);//n//n//tint containerHeight = 100; // //u9898//u76ee//u5bb9//u5668//u7684//u9ad8//u5ea6//n//tint xOffset = 10; // //u9898//u76ee//u5bb9//u5668//u7684//u5de6//u8fb9//u8ddd//u79bb//n//tint yOffset = 10; // //u9898//u76ee//u5bb9//u5668//u7684//u4e0a//u8fb9//u8ddd//u79bb//n//n//tfor (int i = 0; i < m_questions.size(); i++)//n//t/{//n//t//tCRect containerRect(xOffset, yOffset + i * containerHeight, clientRect.right - xOffset, yOffset + (i + 1) * containerHeight);//n//t//tpDC->DrawRect(&containerRect); // //u7ed8//u5236//u9898//u76ee//u5bb9//u5668//u7684//u8fb9//u6846//n//n//t//t// //u7ed8//u5236//u9898//u76ee//u5185//u5bb9//n//t//tCString questionText;//n//t//tquestionText.Format(_T(/'Question %d: %s/'), i + 1, m_questions[i].questionText);//n//t//tpDC->TextOut(containerRect.left + 10, containerRect.top + 10, questionText);//n//n//t//t// //u7ed8//u5236//u7b54//u6848//u9009//u9879//n//t//tfor (int j = 0; j < 4; j++)//n//t//t/{//n//t//t//tCString answerText;//n//t//t//tanswerText.Format(_T(/'Answer %d: %s/'), j + 1, m_questions[i].answerOptions[j]);//n//t//t//tpDC->TextOut(containerRect.left + 10, containerRect.top + 30 + j * 20, answerText);//n//t//t}//n//t}//n}//n//n//n//u5728CQuestionScrollView//u7c7b//u4e2d//u91cd//u5199OnInitialUpdate//u51fd//u6570//uff0c//u7528//u4e8e//u8bbe//u7f6e//u6ed1//u52a8//u8303//u56f4//u548c//u6ed1//u52a8//u6761//u3002//n//ncpp//nvoid CQuestionScrollView::OnInitialUpdate()//n/{//n//tCScrollView::OnInitialUpdate();//n//n//t// //u8bbe//u7f6e//u6ed1//u52a8//u8303//u56f4//n//tCSize totalSize(0, m_questions.size() * 100); // //u9898//u76ee//u5bb9//u5668//u7684//u9ad8//u5ea6//u4e3a100//n//tSetScrollSizes(MM_TEXT, totalSize);//n//n//t// //u663e//u793a//u6ed1//u52a8//u6761//n//tSetScrollStyle(WS_VSCROLL);//n}//n//n//n//u5728CMainFrame//u7c7b//u7684OnSize//u51fd//u6570//u4e2d//u8c03//u7528//u6ed1//u52a8//u89c6//u56fe//u7684Invalidate//u51fd//u6570//uff0c//u4ee5//u4fbf//u5728//u4e3b//u7a97//u53e3//u5927//u5c0f//u6539//u53d8//u65f6//u91cd//u65b0//u7ed8//u5236//u89c6//u56fe//u3002//n//ncpp//nvoid CMainFrame::OnSize(UINT nType, int cx, int cy)//n/{//n//tCFrameWnd::OnSize(nType, cx, cy);//n//n//tif (m_scrollView.GetSafeHwnd() != NULL)//n//t/{//n//t//tm_scrollView.Invalidate();//n//t}//n}//n//n//n//u5728CMainFrame//u7c7b//u4e2d//u6dfb//u52a0//u51fd//u6570//u6765//u52a0//u8f7d//u548c//u4fdd//u5b58//u9898//u76ee//u6570//u636e//uff0c//u4ee5//u53ca//u5904//u7406//u6ed1//u52a8//u64cd//u4f5c//u7b49//u529f//u80fd//u3002//n//n//u8fd9//u6837//uff0c//u4f60//u5c31//u53ef//u4ee5//u5728MFC//u5e94//u7528//u7a0b//u5e8f//u4e2d//u521b//u5efa//u4e00//u4e2a//u6ed1//u52a8//u89c6//u56fe//uff0c//u663e//u793a//u5341//u4e2a//u9898//u76ee//u5bb9//u5668//uff0c//u6bcf//u4e2a//u5bb9//u5668//u4e2d//u5305//u542b//u4e00//u4e2a//u9898//u76ee//u548c//u56db//u4e2a//u7b54//u6848//u5355//u9009//u6309//u94ae//u3002//u7528//u6237//u53ef//u4ee5//u901a//u8fc7//u6ed1//u52a8//u6ed1//u52a8//u6761//u6765//u4e0b//u62d6//u9898//u76ee//u3002//u8bf7//u6839//u636e//u4f60//u7684//u5177//u4f53//u9700//u6c42//u8fdb//u4e00//u6b65//u5b8c//u5584//u548c//u8c03//u6574//u4ee3//u7801//u3002

MFC 滚动视图实现题库软件:显示十个题目容器,支持滑动下拉

原文地址: https://www.cveoy.top/t/topic/pYsO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录