Location:
Search - CPoint
Search list
Description: 设计思路:
对Windows XP自带的画笔程序进行分析,一般User画图过程:
首先鼠标选择绘图工具,然后选择颜色,接着按User需要作图。User对产出的图像进行操作。
对图形元素抽象出公共属性,设计我的画板的作图过程:
选择工具 、画预览效果、User满意并确定、绘制效果。
下面是程序用到主要变量:
当前绘图点粒度:int iGranularity
当前使用颜色:COLORREF curColor
当前绘图状态:int iPaintStatus
当前绘图状态属性:int iPaintProperty
前一个鼠标坐标:CPoint pOldPoint
多边形起点:CPoint pStartPoint
多边形终点:CPoint pEndPoint
当前鼠标坐标:CPoint pCurPoint
输出文本字符串缓存:CString strTextOut
对典型操作过程(画矩形)描述:
用户选择工具_RECTANGLE(使iPaintStatus=_RECTANGLE)、
选择绘图颜色(设定curColor)、
用户按下鼠标左键使绘图状态属性为预览(iPaintProperty=_PREVIEW)、
用户移动鼠标(绘制图形的橡皮线效果)
用户放开左键(绘制图形的实线效果)
-design : Windows XP's own brush analysis procedures, the general User drawing process : first choice mouse drawing tool, then select colors, followed by Graphic User needs. User to output images to operate. Right abstract graphic elements from the public properties, design I slate of mapping process : select tools, painting preview effects, User satisfaction and identification, mapping results. Below is a procedure used mainly variables : the current drawing point size : int iGranularity current use of color : COLORREF curColor current graphics state : int iPaintStatus current graphics state attributes : int iPaintProperty before a mouse coordinates : jumping pOldPoint polygon starting point : jumping pStartPoint polygon end : When the redemption pEndPoint before the mouse coordinates
Platform: |
Size: 53776 |
Author: mars |
Hits:
Description: TC 2.0 挖地雷
关于TC2.0版的挖地雷
1、整个游戏基于事件驱动的工作方式,这一点和windows应用程序是相通的。在程序的主
干中,不停的捕捉鼠标事件,再通过一个函数:
Bool analysis(CPoint point, ClickInfor infor)
来分析鼠标事件作用在哪个对象上(游戏中的元素,比如按钮、菜单、地雷单元格都是
作为一个对象来看待),然后把鼠标事件分配到相应的对象上。不同的对象,对鼠标事件
有自己的事件处理函数,比如菜单的事件处理函数有两个:单击菜单项和鼠标焦点落在
菜单项上。菜单对象能够依据analysis传给它的击键信息,来判断到底调用哪个事件处
理函数。(在windows编程中,其实也是给对象或控件写事件处理函数)。
当然了,我这个程序中事件处理机制是非常基础和简单的,因为用的是TC2.0的编译器,
所以很多东西要自己写,会麻烦一些。
………………详细情况见包内文档!-TC 2.0-dug mines WITH TC 2.0 version of the mines dug an entire game based on event-driven means that the work of this point and windows applications are interlinked. The backbone of the proceedings, repeatedly capturing mouse events, and through a function : Bool analysis (jumping point, ClickInfor infor) to analyze the role of the mouse incident which targeted (game elements, such as buttons, menus, mines cells are targeted as a treat) and then the mouse events corresponding to the distribution of the object. Different targets, the right mouse events has its own function of the incident, such as the incident menu function is two-fold : a menu item and click the mouse focus fell on the menu items. Object menu based on the analysis of the keyboard it pass information to determine which eve
Platform: |
Size: 57510 |
Author: miao |
Hits:
Description: 制作动画的类,很不错的
// construction
CAniDialog(UINT nDlgID, CWnd* pParent)
CAniDialog(CPoint pt, UINT nDlgID, CWnd* pParent)
// operation
// access frame number
UINT GetFrameNum() const
void SetFrameNum(UINT nFrames)
// access animation speed
UINT GetAniSpeed() const
void SetAniSpeed(UINT nMillSec)
// access the reference point
CPoint GetRefPt() const
void SetRefPt(CPoint pt)
// access animation styles
WORD GetOpenStyle() const
WORD GetCloseStyle() const
void SetAniStyles(WORD wOpenStyle, WORD wCloseStyle)
WORD GetDispStyle() const
void SetDispStyle(WORD wDispStyle)
// temporarily enable/disable animation
void EnableAni(BOOL bEnable = TRUE)
// check object status
BOOL IsAniValid() const -animation category, very good / / construction CAniDialog (UINT nDlgID, CWnd * pParent) CAniDialog (redemption pt, UINT nDlgID, CWnd * pParent) / / operation / / access frame number UINT GetFrameNum () const void SetFrameNum (UINT nFrames) / / animation speed access UINT GetAniSpeed () const void SetAniSpeed (UINT nMillSec) / / access the reference point redemption GetRefPt () const void SetRefPt (redemption pt) / / access animation styles WORD GetOpenStyle () const WORD GetCloseStyle () const void SetAniStyles (WORD wOpenStyle, WORD wCloseStyle) WORD GetDispStyle () const void SetDispStyle (WORD wDispStyle) / / temporarily enable / disable animation void EnableAni (BOOL bEnable = TRUE) / / check object status BOOL IsAniValid () const
Platform: |
Size: 21319 |
Author: 曾新 |
Hits:
Description: bool termination_point
bool neighbor3by3 /* true means 3x3 neighborhood, false means 5x5 neighborhood */
int grad_mag[500][500] /* Magnitude of Gradient */
int m_Cols /* Number of Columns */
int m_Rows /* Number of Rows */
int no_of_snake_points
CPoint Snake_points[200] /* Snake Points */
double *alpha,*beta, *gamma /* Weights for energies */
double threshold_curvature
int threshold_movement -bool termination_point bool neighbor3by3 /* true means 3x3 neighborhood, false means 5x5 neighborhood */ int grad_mag[500][500] /* Magnitude of Gradient */ int m_Cols /* Number of Columns */ int m_Rows /* Number of Rows */ int no_of_snake_points CPoint Snake_points[200] /* Snake Points */ double *alpha,*beta, *gamma /* Weights for energies */ double threshold_curvature int threshold_movement
Platform: |
Size: 1634 |
Author: 宁海石 |
Hits:
Description: ①、重载对话框的消息函数:
void OnNcLButtonDown(UINT nHitTest, CPoint point)
//单击标题栏时是响应 void OnNcMouseMove(UINT nHitTest, CPoint point)
//Mous 在标题移动时响应 LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
②、添加关键成员函数为:BOOL DrawTitleBar(CDC *pDC)
③、添加完消息涵数后,在.cpp中实现它们的代码(点击查看代码附件):
好了运行你的序程,即可出现漂亮的界面。说明在设计对话框时最好只选上Title Bars,其它不要.消息函数要手动添加。只本程序是在VC++6.0 +WinXP环境下完成的。
经过实践证明,仅仅画一个窗口很容易,多窗口程序软件实现统一风格很难。如若有机会的话,我会和大家继续探讨如何将设计好的漂亮窗口子类化,让程序所有的窗口有统一风格,美化窗口的其它控件并可自动随窗口改变而调整大小。我想那才是我们大家关心的。对不?
Platform: |
Size: 1260276 |
Author: sailor |
Hits:
Description: 文件视图,CFrameWnd C Static CRect MoveWindow CreatePen CSize CDC SetBkMode SelectObject CPen LineTo SetTextColor CString TextOut CFont CreateFont DrawText CreateDC GetDeviceCaps DeleteDC GetObject GlobalAlloc GlobalLock GetStockObject GetDC SelectPalette RealizePalette GetDIBits ReleaseDC CreateFile WriteFile GlobalUnlock GlobalFree CloseHandle CPaintDC CBitmap CreateCompatibleDC CreateCompatibleBitmap PtInRect BitBlt DeleteObject CPoint ShowWindow ClientToScreen GetWindowDC GetWindowRect CFileDialog CWinApp CSingleDocTemplate CCommandLineInfo UpdateWindow CDialog CDataExchange CDocument CView CPrintInfo GetClientRect SetWindowLong GetWindowLong LoadLibrary GetProcAddress GetLastError FreeLibrary CreateDialog-document View, CFrameWnd CWnd CStatic CRect MoveWindow Creat ePen CSize CDC SetBkMode SelectObject CPen Lin eTo SetTextColor CString TextOut CFont Back Font DrawText CreateDC GetDeviceCaps DeleteD C GetObject GlobalAlloc GlobalLock GetStockO bject GetDC RealizePalette Get SelectPalette DIBits ReleaseDC CreateFile WriteFile Global Unlock GlobalFree CloseHandle CPaintDC CBitm ap CreateCompatibleDC CreateCompatibleBitm ap PtInRect BitBlt DeleteObject CPoint ShowWi ndow ClientToScreen GetWindowDC GetWindowRe ct CFileDialog CWinApp CSingleDocTemplate CC ommandLineInfo UpdateWindow CDialog CDataEx change CDocument CView CPrintInfo GetClientR ect SetWindowLong GetWindowLong LoadLibrary GetProcAddress GetLastError FreeLibrary Cre ateDialog
Platform: |
Size: 26729 |
Author: slansam |
Hits:
Description: 指纹识别源代码。思路完全是按照文件夹中网页里介绍的方法,即提取指纹中的分叉点和端点的位置作为指纹的特征值。由于今天太忙,对图像的预处理作的很失败,程序会提取出很多伪点,而指纹轮廓也没有想出办法过滤。汗,你看看能不能参考把。
三个m文件,fd.m提取指纹中的分叉点,fd2.m提取指纹中的端点,Cpoint.m则是前两个文件运行中需要调用的掩模函数。-fingerprint identification code. Thinking is entirely in accordance with the folder on the website Lane, that the fingerprints of the bifurcation point and endpoint position as a fingerprint eigenvalues. As today are too busy, the image preprocessing for the failure, the program will extract a lot of pseudo-point, and the fingerprint profile nor find a way to filter. Khan, you can look at the information put. 3 m documents, fingerprints fd.m the bifurcation point, fd2.m fingerprints of endpoint, Cpoint.m are two documents before the operation need to call the mask function.
Platform: |
Size: 299394 |
Author: 闫晟 |
Hits:
Description: void TransparentWnd::OnLButtonDown(UINT nFlags, CPoint point)
{
CWnd::OnLButtonDown(nFlags, point)
//实现无标题拖动
PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x,point.y))
}-void TransparentWnd : : OnLButtonDown (UINT nFlags. CPoint point) (CWnd : : OnLButtonDown (nFlags. point) / / Drive heading towards a PostMessage (WM_NCLBUTTOND OWN, HTCAPTION, MAKELPARAM (point.x. point.y
Platform: |
Size: 16024 |
Author: zanjiangfeng |
Hits:
Description: SetCursor CWnd LoadCursor DestroyWindow CDialog GetClientRect C Button GetStockObject CFont GetWindowLong SetWindowLong GetWindowRect BeginDeferWindowPos EnableWindow DeferWindowPos EndDeferWindowPos InvalidateRect UpdateWindow GetCursorPos CPoint SetCapture GetCapture ReleaseCapture CallWindowProc CPaintDC DrawEdge PtInRect SetFocus CMenu-SetCursor CWnd LoadCursor DestroyWindow CDialog GetClientRect C Button GetStock Object CFont GetWindowLong SetWindowLong Get WindowRect BeginDeferWindowPos EnableWindo w DeferWindowPos EndDeferWindowPos Invalida teRect UpdateWindow GetCursorPos CPoint SetC apture GetCapture ReleaseCapture CallWindow Proc CPaintDC DrawEdge PtInRect SetFocus CMen u
Platform: |
Size: 534933 |
Author: zzz |
Hits:
Description: cpoint的链表类的继承类,重写了其中的增加查找等函数,增加了直线拟合方面的函数。
Platform: |
Size: 9873 |
Author: alzn |
Hits:
Description: 彻底搞定C指针,这是一片不错的文章,适用于于那些高不清指针的人
Platform: |
Size: 185797 |
Author: Stephen |
Hits:
Description: Visual C++(以下简称VC++) 是面向对象与可视化软件开发工具中比较成熟的一类。MFC是VC++中直接由Microsoft提供的类库,它集成了大量已定义好的类,我们可以根据需要,调用相应类,或根据需要自定义类。正是基于MFC的这种特性,我们试图设计出具有封装性、独立性的功能模块------函数数据生成模块,函数曲线输出模块,模块之间的桥梁是由模板类CArray派生的CPoint类数组充当的。函数数据生成模块用来实现对函数的设置并获得采样点,数组得到采样点数据并将其传递到输出模块中。从整体来看,实现了各程序模块的独立性,使得在函数模块中可任意添加、删除函数,可使用不同的DC和GDI,可实现不同的输出方式,整个工程在函数绘图功能上是无限扩展的。经过反复的调试和检验,我们实现了预期目标。我们的主要目的是尝试VC++在数学函数绘图方面的功能和应用。这是对VC++的探索,也是对数学函数绘图多样化的尝试。
Platform: |
Size: 146037 |
Author: 徐江 |
Hits:
Description: 窗建一个CPoint类,代表平面直角坐标系中的点,创建构造函数和运算符重载函数,
运算符重载为类重载(非友元重载),可以实现计算两个点之间的距离。可以根据需要
加入自己的成员变量或成员函数
用3点来代表一个三角形,
输入三个点的坐标,实现判断此三角形是不是直角三角形,并输出此三角形的周长。
可以根据需要加入自己的成员变量或成员函数
Platform: |
Size: 6763 |
Author: 徐荣波 |
Hits:
Description: 2_Transform_用CPoint表示二维点.zip
Platform: |
Size: 39969 |
Author: zhouhang |
Hits:
Description:
Platform: |
Size: 185344 |
Author: Stephen |
Hits:
Description: 2_Transform_用CPoint表示二维点.zip-CPoint express 2_Transform_ with two-dimensional points. Zip
Platform: |
Size: 39936 |
Author: zhouhang |
Hits:
Description: 关于指针的用法做了很详细的介绍,对从事c语言程序开发的朋友很有用-With regard to the use of indicators to do a very detailed introduction of the procedures involved in the development of c language useful Friend
Platform: |
Size: 11004928 |
Author: 黎佳志 |
Hits:
Description: class CMyTreeCtrl : public CTreeCtrl
{
// Construction
public:
CMyTreeCtrl()
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMyTreeCtrl)
//}}AFX_VIRTUAL
// Implementation
public:
CBitmap m_bitmap
BOOL SetBKImage(LPCTSTR LpszResource)
virtual ~CMyTreeCtrl()
// Generated message map functions
protected:
//{{AFX_MSG(CMyTreeCtrl)
afx_msg void OnPaint()
afx_msg void OnItemexpanded(NMHDR* pNMHDR, LRESULT* pResult)
afx_msg BOOL OnEraseBkgnd(CDC* pDC)
afx_msg void OnMouseMove(UINT nFlags, CPoint point)
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
} -class CMyTreeCtrl: public CTreeCtrl (//Constructionpublic: CMyTreeCtrl ()// Attributespublic:// Operationspublic:// Overrides// ClassWizard generated virtual function overrides// ((AFX_VIRTUAL (CMyTreeCtrl)//)) AFX_VIRTUAL// Implementationpublic: CBitmap m_bitmap BOOL SetBKImage (LPCTSTR LpszResource) virtual ~ CMyTreeCtrl ()// Generated message map functionsprotected:// ((AFX_MSG (CMyTreeCtrl) afx_msg void OnPaint () afx_msg void OnItemexpanded (NMHDR* pNMHDR, LRESULT* pResult) afx_msg BOOL OnEraseBkgnd (CDC* pDC ) afx_msg void OnMouseMove (UINT nFlags, CPoint point) afx_msg void OnVScroll (UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) afx_msg BOOL OnMouseWheel (UINT nFlags, short zDelta, CPoint pt)//)) AFX_MSG DECLARE_MESSAGE_MAP ())
Platform: |
Size: 73728 |
Author: zhoujay |
Hits:
Description:
Platform: |
Size: 203776 |
Author: 彭根国 |
Hits:
Description: 定义一个CPoint类并用setpoint函数修改坐标值;
友元函数、静态函数等。(Define a CPoint class and modify the coordinate value with the setpoint function)
Platform: |
Size: 3072 |
Author: 蜻蛉鳕鱼
|
Hits: