我要做一个地图显示的程序,需要作出象一般图形处理软件中的放大、缩小和平移的功能,请教高手我应该怎么完成,我现在的问题是:
    (1)选择菜单后怎么让鼠标变成“放大镜”形?
    还有我写好鼠标单击的代码后,应该把它放在哪个函数下? 
    急等,谢谢!!!

解决方案 »

  1.   

    首选,你自己画一个放大镜形的ICO加入到自己的资源中.然后通过(待续...)
      

  2.   

    MyCursor = AfxGetApp()->LoadCursor(IDC_MagnaCarta);
      

  3.   

    问题一:添加一个类似放大镜的鼠标图标,不就可以了?
    问题二:当然是lbuttondown的响应函数里面了!
      

  4.   

    画一个放大镜,然后SetCursor
      

  5.   

    我按大家的方法,这样做:
    (1)添加了一个放大镜的图标,id为IDI_ICONFANGDA
    (2)在菜单函数中写入:
             HICON MyCursor;
    MyCursor=AfxGetApp()->LoadCursor(IDI_ICONFANGDA);
    SetCursor(MyCursor);但是运行之后鼠标并没什么变化呀!继续求助
      

  6.   

    光标资源属于系统全局资源,你试试在SetCursor(m_Cursor1);之前加入一句:
    SetCapture();
      

  7.   

    先装入光标
    static HCURSOR MyCursor;//看看你的MyCursor是不是全局的
    MyCursor = ::LoadCursor(hInst, "RCCURSOR");...
    ::SetCursor(MyCursor);
      

  8.   

    (1)添加了一个放大镜的图标,id为IDI_ICONFANGDA  //图标的id应该是IDC_..吧,不知你是怎么添的?
    (2)在菜单函数中写入:
             HICON MyCursor;   //改为HCURSOR MyCursor;
    MyCursor=AfxGetApp()->LoadCursor(IDI_ICONFANGDA);//返回值是以前图标
    SetCursor(MyCursor);//这句作用是恢复以前的图标,所以不要在这里调用
      

  9.   

    加入放大镜图标,然后SetCursor
      

  10.   

    光标资源属于系统全局资源,你试试在SetCursor(m_Cursor1);之前加入一句:
    SetCapture();
    光标资源属于系统全局资源,你试试在SetCursor(m_Cursor1);之前加入一句:
    SetCapture();
    光标资源属于系统全局资源,你试试在SetCursor(m_Cursor1);之前加入一句:
    SetCapture();
    光标资源属于系统全局资源,你试试在SetCursor(m_Cursor1);之前加入一句:
    SetCapture();
    光标资源属于系统全局资源,你试试在SetCursor(m_Cursor1);之前加入一句:
    SetCapture();
    光标资源属于系统全局资源,你试试在SetCursor(m_Cursor1);之前加入一句:
    SetCapture();
    光标资源属于系统全局资源,你试试在SetCursor(m_Cursor1);之前加入一句:
    SetCapture();
      

  11.   

    我按大家的方法,这样做:
    (1)添加了一个放大镜的图标,id为IDI_ICONFANGDA
    (2)在菜单函数中写入:
             HICON MyCursor;
             if(bool) ///BOOL 变量
    {
             if(flag=1)  ///int flag 全局变量;
             {
    MyCursor=AfxGetApp()->LoadCursor(IDI_ICONFANGDA);
    SetCursor(MyCursor);
    }
             }
    再在你的按钮响应代码里添加flag==1;就可以了.
      

  12.   

    //添加了一个放大镜的图标,id为IDB_BMP_MOUSE 
    //然后在菜单函数中写入:
    ::SetCursor(::LoadCursor (::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BMP_MOUSE)));
      

  13.   

    如果你只是要在本进程使用这个光标,直接setcursor就可以,如果要超出这个进程,就要SetCapture();先
      

  14.   

    没变化是因为你程序有默认光标,必须设置默认光标为NULL,否则SetCursor后鼠标一移动就会变回原来的光标了。
    你也可以在WM_SETCURSOR中SetCursor,根据标志来决定显示什么光标。