- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MFC圆的画法解说
题目:5-31到5-33的综合题
思路:
为程序添加主菜单(圆绘制(设置,颜色)),并为之关联COvalView的函数。
在资源中插入一个对话框IDD_DIALOGSET,添加按钮,并为控件关联相应的变量(UINT m_nRadius)关联一个类Set。。
用到的函数:
SetWindowText:
函数功能:该函数改变指定窗口的标题栏的文本内容(如果窗口有标题栏)。函数原型:BOOL SetWindowText(HWND hwnd,LPCTSTR lpString);参数: hWnd:要改变文本内容的窗口或控件的句柄。 lpString:指向一个空结束的字符串的指针,该字符串将作为窗口或控件的新文本。
返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。CSDIDrawView定义变量:
protected: CPoint m_ptOrigin;//鼠标的起始位置 bool m_bDragging;//拖拽标志 HCURSOR m_hCross;//光标句柄
鼠标的处理:
SetCapture:
函数功能:该函数在属于当前线程的指定窗口里设置鼠标捕获。一旦窗口捕获了鼠标,所有鼠标输入都针对该窗口,无论光标是否在窗口的边界内。同一时刻只能有一个窗口捕获鼠标。如果鼠标光标在另一个线程创建的窗口上,只有当鼠标键按下时系统才将鼠标输入指向指定的窗口。 函数原型:HWND SetCapture(HWND hwnd); 参数: hWnd:当前线程里要捕获鼠标的窗口句柄。
返回值:返回值是上次捕获鼠标的窗口句柄。如果不存在那样的句柄,返回值是NULL。::SetCursor
函数功能:该函数确定光标的形状。
函数原型:HCURSOR SetCursor(HCURSOR hCursor);该函数在指定的菜单条、下拉式菜单、子菜单或快捷菜单的末尾追加一个新菜单项。此函数可指定菜单项的内容、外观和性能。函数AppendMenu己被lnsertMenultem取代。但如果不需要lnsertMenultem的扩展特性,仍可使用AppendMenu。TrackPopupMenu:
函数功能:该函数在指定位置显示快捷菜单,并跟踪菜单项的选择。快捷菜单可出现在屏幕上的任何位置。
函数原型:BOOL TrackPopupMenu(HMENU hMenu,UINT uFlags,int x,int y,int nReserved,HWND hWnd,CONST RECT* prcRect);返回值:如果在参数uFlags里指定了TPM_RETURNCMD值,则返回值是用户选择的菜单项的标识符。如果用户未作选择就取消了菜单或发生了错误,则退回值是零。如果没在参数uFlags里指定TPM_RETURNCMD值,若函数调用成功,返回非零值,若函数调用失败,返回零。若想获得更多的错误信息,清调用GetLastErrorvoid CSDIDrawView::OnLButtonDown UINT nFlags, CPoint point // TODO: Add your message handler code here and/or call default
SetCapture ;
::SetCursor m_hCross ;
m_ptOrigin point;//
m_bDragging TRUE;
CView::OnLButtonDown nFlags, point ; void CSDIDrawView::OnRButtonUp UINT nFlags, CPoint point // TODO: Add your message handler code here and/or call default
if m_bDragging m_bDragging false;
ReleaseCapture ; CView::OnRButtonUp nFlags, point ; 鼠标放开的处理:
void CSDIDrawView::OnSet // TODO: Add your command handler code here
CSet dlg;//定义一个对话框
dlg.m_nRadius m_nCViewRadius;//设置编辑框显示的初值
if dlg.DoModal IDOK m_nCViewRadius dlg.m_nRadius;
Invalidate ; void CSDIDrawView::OnContextMenu CWnd* pWnd, CPoint point // TODO: Add your message han
文档评论(0)