• ベストアンサー

フォームアイコン

始めまして、現在VB6.0SP4で開発を行っています。 フォームアイコンを非表示にする 方法がわからなくて困っています。 ご存知の方がいたら、ご教授お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • dinowave
  • ベストアンサー率48% (20/41)
回答No.2

違っていたら申し訳ないのですが ControlBoxをFalseにした感じですか? それなら '------------------------------ Option Explicit Private Const GWL_STYLE = (-16) Private Const WS_SYSMENU = &H80000 Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Sub Form_Load() Dim style As Long style = GetWindowLong(Form1.hwnd, GWL_STYLE) SetWindowLong Form1.hwnd, GWL_STYLE, style - WS_SYSMENU End Sub '------------------------------ な感じはどうですか?

Osorare
質問者

お礼

ありがとうございます。 この通りでした。

その他の回答 (1)

  • y_an
  • ベストアンサー率57% (24/42)
回答No.1

簡単な方法では、フォームのBorderStyleを  3:固定ダイアログ  4:固定ツールウィンドウ  5:可変ツールウィンドウ のいずれかにすると消えます。 但し、ShowInTaskbarプロパティをTrueにした場合、 タスクバー上にはアイコンは表示される等の制限もあるようです。 タスクバー上にはアイコンは透過色をサポートしているアイコンエディタにて 透過色のみのアイコンをセットすればスペースは開きますが、 ぱっと見では内容に見えます。 (そんな答えを待ってはいないのでしょうけど・・・) ちなみに当方の環境は  OS:XP Home SP2  VS:SP5 です。

Osorare
質問者

補足

回答ありがとうございます。 BorderStyleは2のままやりたいんですよね。 プロパティでControlBoxをFalseにするとそれっぽくなるんですが これをソース上でできないか悩んでいます。