SetSystemCursorについて

解決


ai  2006-12-27 20:26:24  No: 64104  IP: [192.*.*.*]

下記のプログラムで実行すると最初だけ砂時計に変わりますがその後は砂時計にならくなってしまいます。
PCの再起動後も同じでした。いろいろなサイトを参考にしましたがだめでした。
何がいけないのかご教授ください。

if( m_hCursorOld )
{
  // 戻す 
  ::SetSystemCursor( m_hCursorOld, 32512 );
  m_hCursorOld = (HCURSOR)NULL;
}
else
{
  // かえる
  m_hCursorOld = CopyCursor( ::LoadCursor( NULL, DC_ARROW ) );
  ::SetSystemCursor( ::LoadCursor( NULL, IDC_WAIT ), 32512 );
}

編集    削除
dairygoods  2006-12-28 01:16:35  No: 64105  IP: [192.*.*.*]

> m_hCursorOld = CopyCursor( ::LoadCursor( NULL, DC_ARROW ) );

こっちはCopyしているのに、

> ::SetSystemCursor( ::LoadCursor( NULL, IDC_WAIT ), 32512 );

こっちはCopyしていない点が気になります。

編集    削除
ai  2006-12-28 02:32:53  No: 64106  IP: [192.*.*.*]

dairygoodsさんありがとうございます。
無事に戻すことができました。

編集    削除