0

ユーザーコントロールでVB6PictureBoxを使用しています。PictureBoxの画像を設定し、BorderStyleを0に設定し、BackColorをユーザーコントロールのBackColorに設定します。アイデアは、「フローティング」アイコンが欲しいということです。ただし、マウスをアイコンの上に置いたときに、そのアイコンをクリック可能に表示したいと思います。

2つの質問:

  1. どのイベントを使用しますか?MouseMoveは、「MouseOver」イベントに最も近いようです。よりクリーンな代替品はありますか?

  2. スタイルを変更するにはどうすればよいですか?私はいくつかのことを試しましたが、どれも正しく見えません。

4

1 に答える 1

2
  1. MouseMove は VB6 の正しいイベントです。マウスがクライアント領域から完全に離れたことを手動で検出するには、いくつかの作業を行う必要があります。(この世界での私の実験、何年も前の実験では、この動作の実装は常にトリッキーであることがわかりました。)

  2. スタイルを変更するには、GDI を使用して次のことを行うことをお勧めします。(a) 画像を 1 ピクセル上および左にシフトします。(b) 上端と左端に沿って ButtonHighlightColor に単一のピクセル線を描画します。(c) 下端と右端に沿って ButtonShadowColor に 1 つのピクセル ラインを描画します。これは、特にVB6では、思ったよりも難しいので、最終的にはお勧めします...

vbAccelerator のツールバー コントロールをご覧ください。それらは無料で、おそらくあなたが行きたい場所のほとんどを手に入れることができます. (そして、はい、それらは「クラシック」な VB、つまり VB6 です。)

于 2008-11-11T05:01:42.890 に答える