改變滑鼠指標 (轉)

worldblog發表於2007-12-12
改變滑鼠指標 (轉)[@more@]

  改變滑鼠指標:namespace prefix = o ns = "urn:schemas--com::office" />

  翻譯:今天能看見山

  有很多VCL都有Cursor屬性以使你能夠改變滑鼠在這個控制元件的區域內的指標形態。當你只需要改變一個控制元件的滑鼠指標時,這樣做很好。但是當你需要改變這個螢幕的滑鼠指標時這樣做就有些不足了。例如,雖然你改變了一個窗體的Cursor屬性,但是當滑鼠移動到這個窗體的其他控制元件上的時候,滑鼠指標將會改變回去。改變整個螢幕的指標形狀,應該使用全螢幕的Cursor屬性。

下面的清單列舉了螢幕指標的所有可能值。

  • crDefault
  • crNone
  • crArrow
  • crCross
  • crIBeam
  • crSize
  • crSizeNESW
  • crSizeNS
  • crSizeNWSE
  • crSizeWE
  • crUpArrow
  • crHourGlass
  • crDrag
  • crNoDrop
  • crHSplit
  • crVSplit
  • crMultiDrag
  • crWait
  • crNo
  • crAppStart
  • crHelp

下面的步驟描述瞭如何建立一個自定義的書邊指標,而不是可提供的指標。

第一步:使用圖片編輯器建立一個包含你自己定義的滑鼠指標圖形的資源。然後把這個資原始檔加入進工程。

第二步:有效的螢幕指標,首先包括系統定義的指標形狀(Tscreen類的Cursors陣列屬性的所有值)。在你使用你自己定義的指標前,你必須先裝載它並且將它加入到這個Cursors陣列中去。定義一個能表示你這個指標的常量和一個陣列的值。然後用定義的索引值去裝載這個指標。

例如:


const TCursor crMyCustomCursor=1;  // 自定義指標的ID號


__fastcall TForm1::TForm1(TComponent* Owner)


: TForm(Owner)


{


  // 將自定義指標裝載進Cursors陣列


  // "CURSOR1" 是用圖象編輯器設定的標識字元


Screen->Cursors[crMyCustomCursor]=LoadCursor((void*) HInstance,"CURSOR1");


}


第三步: 在任何你想轉換滑鼠指標的時候將新的Cursor值賦給Screen->Cursor屬性.

例如:Screen->Cursor = crMyCustomCursor;


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-991983/,如需轉載,請註明出處,否則將追究法律責任。

相關文章