通知領域のアイコンをクリックしてウィンドウを表示

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
M.S.
記事: 212
登録日時: 2005年6月01日(水) 21:51
お住まい: 奈良県北西部

通知領域のアイコンをクリックしてウィンドウを表示

#1 投稿記事 by M.S. »

プログラム起動時にアイコンを通知領域に表示させ、
最小化ボタンをクリックしたときに、
ウィンドウを隠すところまではうまくいきました。
しかし、通知領域のアイコンをダブルクリックして
ウィンドウを表示させようとしてもうまくいきません。
どうすればよいのでしょうか?
AB Ver.: 5.00.00 (CP3)
あひる

#2 投稿記事 by あひる »

多分、SW_MINIMIZEが違うのではないかと思います。。
最小化ボタンが押されたよっていうのはWM_SYSCOMMANDに乗ってきます。

コード: 全て選択

Case SW_MINIMIZE 
            ' ここでウィンドウを隠す 
            ShowWindow(hWnd,SW_HIDE)
        ↓

コード: 全て選択

Case WM_SYSCOMMAND
	If wParam = SC_MINIMIZE Then ShowWindow(hWnd,SW_HIDE)

みたいな感じで多分うまくいくと思います。
M.S.
記事: 212
登録日時: 2005年6月01日(水) 21:51
お住まい: 奈良県北西部

#3 投稿記事 by M.S. »

> 多分、SW_MINIMIZEが違うのではないかと思います。。
> 最小化ボタンが押されたよっていうのはWM_SYSCOMMANDに乗ってきます。
>
>

コード: 全て選択

Case SW_MINIMIZE 
>             ' ここでウィンドウを隠す 
>             ShowWindow(hWnd,SW_HIDE)
>         ↓
>

コード: 全て選択

Case WM_SYSCOMMAND
> 	If wParam = SC_MINIMIZE Then ShowWindow(hWnd,SW_HIDE)
>
>
> みたいな感じで多分うまくいくと思います。


確かにアイコンをダブルクリックしたとき、
ウィンドウを表示することはできました。
しかし、ウィンドウは一瞬隠れているみたいでるが、
隠れた後に最小化したものが、
タスクバーに出現してしまいます。
最小化している間は隠しておきたいのです。
どうすれば解決できるのでしょうか?
あひる

#4 投稿記事 by あひる »

コード: 全て選択

Case WM_SYSCOMMAND 
      If wParam = SC_MINIMIZE Then
            ShowWindow(hWnd, SW_HIDE)
            return 0
      EndIf

こんな感じで防いでみたら上手くいきました。
なので実際は最小化ボタンを押されたら最小化をさせずに
ウィンドウを隠してるだけです。。
M.S.
記事: 212
登録日時: 2005年6月01日(水) 21:51
お住まい: 奈良県北西部

#5 投稿記事 by M.S. »

>

コード: 全て選択

Case WM_SYSCOMMAND 
>       If wParam = SC_MINIMIZE Then
>             ShowWindow(hWnd, SW_HIDE)
>             return 0
>       EndIf
これでやってみたらできました。
こんな方法があったんですね。
ありがとうございました!
返信する