2

カスタムの win32 コントロール/ウィジェットを構築しており、コントロールの特定の垂直線にカーソルを合わせたときに、カーソルを水平の「スプリッター」記号に変更したいと考えています。IE: この垂直線 (スプリッター バー) を左右 (WEST と EAST) にドラッグしたい。

システム カーソル (OCR_*) のうち、意味のある唯一のカーソルは OCR_SIZEWE です。残念ながら、これはシステムがウィンドウのサイズを変更するときに使用する大きくて扱いにくいカーソルです。代わりに、高さ約 20 ピクセル、幅約 3 または 4 ピクセルで、左右に 2 つの小さな矢印があるカーソルを探しています。

これを簡単に描画してアプリケーションのリソースとして含めることができますが、カーソル自体が非常に普及しているため、何かが欠けていないことを確認したかったのです。

たとえば、COM のドラッグ アンド ドロップ メカニズム (CLSID_DragDropHelper、IDropTarget など) を使用すると、"ドラッグ" アイコン (ポインターの下の小さなボックス) に暗黙的にアクセスできます。この男の明示的な OCR_* 定数は見当たりませんでした...同様に、このスプリッターカーソルが完全に見つからない場合は、それが COM オブジェクトの一部なのか、それとも win32 lib の他の何かなのか疑問に思っています。

4

2 に答える 2

4

Windows UI 全体で使用されているあらゆる種類のアイコン、カーソル、および画像があり、これらはサードパーティ ソフトウェアでは公開されていません。もちろん、それらが存在するモジュールをロードして使用することはできますが、システムの更新/アップグレード後にプログラムが動作し続けるという保証はありません.

独自のものを含めます。あなたが望む最後のことは、小さな小さなカーソルに余分な依存関係を追加することです.

于 2008-09-06T15:22:46.127 に答える
0

私はこの正確な問題を抱えていました。簡単な答えがあると思って垂直スプリッターの古いコードを振り返ると、自分のリソースをビルドしてロードしたことがわかりました。

SetCursor(LoadCursor(ghInstance、 "IDC_SPLITVERT"));

私は漠然とそれを行うシステムの方法を見つけるためにかなりの時間と労力を費やしたことを覚えています、それで(私の推測では)仕事をするのにすぐに利用できるシステムICONがないので、あなたはあなた自身を転がしたほうがいいです。

この仕事のシステムアイコンがあればよかったので、これは私が間違っていたいと思ったときの1つです。

于 2008-09-07T06:13:19.123 に答える