登录
首页 » VC++源码 » VC++基本鼠标操作——判断鼠标消息

VC++基本鼠标操作——判断鼠标消息

于 2022-03-19 发布 文件大小:19.76 kB
0 206
下载积分: 2 下载次数: 1

代码说明:

VC++基本鼠标操作——判断鼠标消息,操作方法:按下鼠标左键,移动鼠标即可绘制椭圆,直至释放左键!   void CBaseMouseDemoView::OnMouseMove(UINT nFlags, CPoint point)   {    if(bDrag)    {    ptUp=point;//记录鼠标的当前位置    DrawCircle();//画新圆    }    CView::OnMouseMove(nFlags, point);   }   void CBaseMouseDemoView::DrawCircle()   {    Invalidate(false);    CClientDC dc(this);//获取DC    CRect rect;    GetClientRect(rect); //获取客户窗口区域    CBrush brush(RGB(255,255,255));    dc.FillRect(rect,&brush);//填充背景色为白色    dc.Ellipse(ptDown.x,ptDown.y,ptUp.x,ptUp.y);//绘制矩形   }

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • VC 重载打开文件对话框,添加删除按钮
    VC++ 重载打开文件对话框,添加删除按钮,实现思路:设置文件对话框的模板为IDD_MYFILEDLG,使用GetPathName();获取选中文件。打开文件对话框是这样实现的:   if( filedlg.DoModal ()==IDOK )//打开文件对话框    {    CString fileName = filedlg.GetFileTitle();    SetWindowText(fileName);    }   以上代码仅是参考,完整的代码文件请自行下载吧。
    2022-02-01 14:41:10下载
    积分:1
  • VC++ 表格式简历打印的实现
    本源码演示在VC++中打印简历模板,是一个采用表格设计的简历界面,VC++将按设计的模式打印出来,就像使用Word打印一样的功能。   以下代码可作为参考:   //获取位图所有数据   m_bitdata = m_pRecord->GetFields()->GetItem((long)9)->GetChunk(m_factsize);   HBITMAP m_hmap ;   if (m_bitdata.vt==VT_ARRAY |VT_UI1)   {    //定义一个数据缓冲区    m_bitbuffer = new char[m_factsize];    //将m_buffer指向m_bitdata    SafeArrayAccessData(m_bitdata.parray,(void**)&m_buffer);    //复制位图数据到m_bitbuffer;    memcpy(m_bitbuffer,m_buffer,m_factsize);    SafeArrayUnaccessData(m_bitdata.parray);    void* m_factbitdata ; //实际的位图数据    //temp指向位图信息头    temp = m_bitbuffer+sizeof(BITMAPFILEHEADER);    BITMAPINFOHEADER * m_bitheader = (BITMAPINFOHEADER*)temp;    //获取位图信息,它包括位图信息头和调色板    BITMAPINFO* m_bitinfo = (BITMAPINFO*)temp;    //获取位图的实际数据    m_factbitdata = (void*)(m_buffer+((LPBITMAPFILEHEADER)m_bitbuffer)->bfOffBits);    CClientDC m_dc(this);    //创建位图    hbitmap = CreateDIBitmap(m_dc.m_hDC,m_bitheader,CBM_INIT,m_factbitdata,m_bitinfo,DIB_RGB_COLORS);    delete [] m_bitbuffer;   }
    2022-07-02 18:31:16下载
    积分:1
  • VC 创建内存映像文件对象并使用
    VC++6.0 创建内存映像文件对象并使用,实现了写入内存映射文件和从内存映射文件中读取数据,比如将数据从内存映射文件读出,实现方法如下:   void CFileMapTransTxtDlg::OnRead()   {    //创建内存映像对象    HANDLE hMapping;    LPSTR lpData;    hMapping=CreateFileMapping((HANDLE)0xFFFFFFFF,NULL,PAGE_READWRITE,0,0x100,"MYSHARE");    if(hMapping==NULL)    {    AfxMessageBox("CreateFileMapping() failed.");    return;    }    //将文件的视图映射到一个进程的地址空间上,返回LPVOID类型的内存指针    lpData=(LPSTR)MapViewOfFile(hMapping,FILE_MAP_ALL_ACCESS,0,0,0);    if(lpData==NULL)    {    AfxMessageBox("MapViewOfFile() failed.");    return;    }    //给这段映像内存的数据赋给本地变量    m_strDest.Format("%s",lpData);    //释放映像内存    UnmapViewOfFile(lpData);    //更新数据    UpdateData(FALSE);   }
    2022-05-17 02:25:47下载
    积分:1
  • VC++ 向程序中手工添加WinHelp帮助文件
    VC++ 向程序中手工添加WinHelp帮助文件,也就是在程序中调用帮助。一个完善的软件系统,不可缺少帮助系统。本程序演示在VC++开发中,手动从外部添加WinHelp帮助文件,本实例 中是添加调用了Windows7系统中的两个帮助文件,点击菜单项的“帮助”,选择“帮助主题”和“绘制直线帮助”两个功能,即可演示本功能的效果。
    2022-01-25 14:39:21下载
    积分:1
  • VC++ 6.0 使用消息实现线程通信
    线程通信:使用消息实现线程通信,一个了解多线程与消息通信的例子,以下是实现的主要代码:   LRESULT CThreadCommunicationDlg::OnDisplayResult(WPARAM wParam,LPARAM lParam)   {    int nResult = (int)wParam;    SetDlgItemInt(IDC_STATIC_RESULT,nResult,FALSE);    return 0;   }   void CThreadCommunicationDlg::OnButtonCalculate()   {    m_pCalculateThread=    (CCalculateThread*)AfxBeginThread(RUNTIME_CLASS(CCalculateThread));    Sleep(200);    m_pCalculateThread->PostThreadMessage(WM_CALCULATE,m_nLastOperand,NULL);   }   完整的源代码请下载本源码包。
    2022-02-02 07:06:27下载
    积分:1
  • VC.NET输入框出现气球提示
    VC++.net实现输入框气球提示,本源码最主要演示EDITBALLOONTIP的用法。当用户拖动最小化窗口时系统调用此函数取得光标显示,然后调用预设的提示信息显示给用户,让用户知道此输入框应该输入什么类型的内容,用户体验更好。
    2022-01-26 20:21:11下载
    积分:1
  • VC 6.0 获得驱动器序列号
    VC 6.0 获得驱动器序列号,本例子中可以指定驱动器分区,也就是大家说的D盘、E盘,每个磁盘分区的序列号,这个序列号标识ID分区后由系统自动指定,我们可编写以下代码实现此功能:   //获得实际存储驱动器号的字符串长度   dwNumBytesForDriveStrings=GetLogicalDriveStrings(0,NULL)*sizeof(TCHAR);   //如果字符串不为空,则表示有正常的驱动器存在   if (dwNumBytesForDriveStrings!=0) {    //分配字符串空间    hHeap=GetProcessHeap();    lp=(LPSTR)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,    dwNumBytesForDriveStrings);    //获得标明所有驱动器的字符串    GetLogicalDriveStrings(HeapSize(hHeap,0,lp),lp);    //将驱动器一个个放到下拉框中    while (*lp!=0) {    Driver->AddString(lp);    lp=_tcschr(lp,0)+1;    }   }
    2022-02-06 01:57:21下载
    积分:1
  • 带有服务端和客户端的VC++点对点,聊天及
    带有服务端和客户端的VC++点对点,聊天及数据传输源码,也就是大家熟悉的CS结构,一个是接收消息,一个是发送消息,在服务端和客户端都可以显示消息内容和连接状态。运行的最终效果请参见如图所示。   运行图是Server服务端的效果,客户端没有编译。   void CClientDlg::OnBottonsend()   {    UpdateData();    if (!m_strSend.IsEmpty())    m_client.Send(m_strSend,m_strSend.GetLength());    else    AfxMessageBox("发送内容不能为空!");   }
    2022-11-23 12:00:03下载
    积分:1
  • VC++ 静态分割窗口,实现窗口的任意切分
    VC++ 6.0 自定义SplitWndView函数,静态分割窗口,实现窗口的任意切分,本实例中将一个完整的VC++ Windows分隔成四个小窗口,类似于WEB开发中的iFrame框架,每个分栏框架都可以用鼠标拖动分隔区域的大小,为了区分源码中函数与实际分隔效果的查看,每个视图小空格中都有文字标注。   在一些综合性的信息管理系统中,有时候需要窗口分成区域来显示内容,本实例所演示的窗口分割,就是一个很好的例子。
    2022-11-16 09:35:03下载
    积分:1
  • VC++ 利用Word文档实现打印功能
    VC++ 6.0 利用Word文档实现打印功能,本示例是将需要打印的内容导入到Word文档中,然后直接打开Word文档,用户通过Word选择打印功能,打印出内容,其核心的打印是由word完成的,因此你的电脑上需要安装有Word,并且与打印机已连接好。   在调试时注意:时需要导入一个ADO动态链接库msado15.dll,该动态库位于系统盘下的“Program FilesCommon FilesSystemado”目录下。   例:如果你的系统盘为C盘,则该文件位于“C:Program FilesCommon FilesSystemado”目录中。所以需要打开工程文件,并展开“FileView”视图中的“Header Files”节点,然后双击“StdAfx.h”文件,将代码中的“d:Program FilesCommon FilesSystemadomsado15.dll”改为“c:Program FilesCommon FilesSystemadomsado15.dll”。
    2022-03-05 03:24:43下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载