維尼的蜂巢

RealTime??!! It’s amazing!!!!

改變滑鼠游標 八月 2, 2006

分類: VC++/C++/C — kevinlin @ 2:55 下午

自己做按鈕還要自己改變滑鼠游標的圖案,要改成超連結的鼠標圖案,真是有夠麻煩

 HCURSOR hcur=::LoadCursorFromFile(xxx.ani);
 ::SetClassLong(App.GetHWnd(),GCL_HCURSOR,(LONG)hcur);

這樣就能改變滑鼠的游標了的圖案

 

8 Responses to “改變滑鼠游標”

  1. suzi 說:

    不好意思~請問一下
    只要直接在程式中加入這二行就可以去改變滑鼠的游標了嗎?!

    可以問一下::SetClassLong(App.GetHWnd(),GCL_HCURSOR,(LONG)hcur);
    中的三個參數各代表什麼意思嗎?!

    因為我剛接觸direct這東西~照著書上的教學在製造小遊戲

    所以有些觀念不是很了解

    不好意思~

    謝謝

  2. kevin 說:

    首先呢 你先用下面這個指令 去讀一個滑鼠游標的檔案
    HCURSOR hcur=::LoadCursorFromFile(‘anycur.ani’);
    然後再用這個指令
    ::SetClassLong(App.GetHWnd(),GCL_HCURSOR,(LONG)hcur);
    SetClassLong(a,b,c)其實就是說 你要設定a的b為c
    第一個參數是你目前視窗的 hWnd
    第二個參數 表示你要設定 hWnd裡面的GCL_HCURSOR成你剛剛載入的hcur
    第三個參數就是跟上面說的一樣
    至於第二個參數有哪些東西呢? 可以看看MSDN 找找看SetClassLong
    Š

  3. suzi 說:

    謝謝你~我知道了。
    也順利的修改成功了。

    我想順便請問一下~有沒有什麼樣子的書
    適合給像我這種想要了解Direct這方面人學習的呢?!

  4. kevin 說:

    其實你問的問題跟directX無關喔
    是屬於Win32API的Fuction

    不過Win32API 我的想法是只要先知道有哪些,要用時在查一下就好
    而DirectX的書
    可以先看「Direct X 特效遊戲程式設計」博碩出版的這一本前10章,
    因為作者把DirectX及繪圖的知識說得很清楚,

  5. suzi 說:

    嗯~因為之前完全沒有修過這方面的東西

    剛好專題製作上需要做遊戲

    而一開始是使用MFC後來聽了老師的說法後~

    買了一本「Visual C 對戰遊戲完全攻略」這本書

    說是利用MFC的空殼及DIRECT的骨架來製作遊戲

    一步一步照著書上的指示去做~只是看到後面就發現好多東西我都不知道
    很多基礎關念的東西也是一竅不通

    所以其實我有看了其他篇大大的文章~有些我真的是有看沒有懂

    像IME那篇~目前我正在努力的看著MSDN上的原文解說
    想說等看完了MSDN上的原文的東西之後~如果還是不懂再來發問會比較好!!

    大大提到的那本書我會去好好看的~謝謝你了!!真的是感激不盡。

  6. suzi 說:

    剛剛上了「程式設計俱樂部」找了很多關於IME的發問
    ——————————————————-
    作者 : programing(沉默小李) [ 貼文 219 | 人氣 16.86 | 評價 24 ] posted on 1/20/2004 12:31:54 AM
    [ 回應本文 ] [ 發表新文 ] [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
    簡單講一下
    你可先貼一個EditBox的圖、然後當滑鼠移動的時候就檢查是否有移到這個EditBox的矩形內
    如果有的話就畫上游標,接著再判斷玩家是否有輸入字,如果英文字用WM_CHAR,如果是中文字就要用到IME了,然後把抓到的字Show到EditBox的圖上面,再來主要就是處理輸入字串的問題了!
    ——————————————————

    我照了我買的那本書上教學用了對話方塊~不過他是利用功能表的方式去開啟對話方塊
    和我心目中的在遊戲中一開始就顯示在某個位置(EX.左下角)
    不太一樣~

    關於使用對話方塊這方面的關念,要找什麼樣的書會比較適合呢??

    謝謝~

  7. kevin 說:

    這種東西
    據我所知 可以用兩種方法
    1.MFC裡面自己就有EditBox 用MFC的 你就不用自己寫IME,也不用自己處理滑鼠的游標了
    2.自己製作EditBox,也就是說整個畫面都是自己渲染的,不使用Windows元件,這時候你可以參考DirectX9.0c的DXUT的源始碼,或者參考這個範例

  8. Jacks 說:

    :SetClassLong(App.GetHWnd(),GCL_HCURSOR,(LONG)hcur);
    請問如果在active應用視窗外, 也要改變滑鼠的游標, 怎麼作呢 ??


發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

 
Follow

Get every new post delivered to your Inbox.