トップページ
ひらく | たたむ | ページトップ
↓マウスで反転選択した文字を検索
Win32API
   
ページ内検索 ページ外検索
検索したい文字を入力して
ENTERを押すと移動します。
\n
[ トップページ ]
[ ____CommandPrompt ] [ ____JScript ] [ ____MySQL ] [ ____Cygwin ] [ ____Java ] [ ____Emacs ] [ ____Make ] [ ____Perl ] [ ____Python ] [ ____OpenGL ] [ ____C# ] [ ____StyleSheet ] [ ____C++ ] [ ____Winsock ] [ ____Thread ] [ ____VisualStudio ] [ ____C ] [ ____Win32API ] [ ____Lua ] [ ____PhotoShop ]
ヘッダ検索
___

■ タスクトレイ(TaskTray)


  SAMPLE
     右クリックでタスクトレイに格納  
    
    

  SYNTAX
    BOOL Shell_NotifyIcon(
                        DWORD dwMessage,
                        PNOTIFYICONDATA lpdata
                        );

  DESC
    タスクバーのステータスエリアにメッセージを送る。
    必要事項は NOTIFYICONDATA にセットする



  DESC
    16, 32, 64 のサイズは確認すみ
    ( bmp 形式はだめかも )

  #pragma comment(lib,"Shell32.lib")

    case WM_RBUTTONDOWN:
    {
       NOTIFYICONDATA ni;
       memset( &ni, 0, sizeof(NOTIFYICONDATA) );

       ni.cbSize = sizeof( NOTIFYICONDATA );
       ni.hWnd = hWnd;

       ni.uID = 1001;

       ni.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;

       // icon ファイルを読み込む
       ni.hIcon = (HICON)LoadImage( 0, "test.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE  );

       // タスクトレイのアイコンにマウスイベントが発生したときにくるアプリケーション定義のメッセージ
       // WARNING
       //   WM_APP 以上の数値でないと message が通知されない
       ni.uCallbackMessage = WM_APP + 1;

       // タスクトレイにアイコンを追加したら自分のウィンドウを隠す。
       Shell_NotifyIcon( NIM_ADD, &ni );
       ShowWindow( hWnd, SW_HIDE );

       return 0;
    }
タスクトレイのアイコンがクリックされたら、ウィンドウを表示する。

  // Application 定義のメッセージをうける
  case WM_APP + 1:
  {
    // lp にマウスイベントの情報がはいっている
    if ( lp == WM_LBUTTONDOWN ) {
      MessageBox( NULL, "left mouse button", "left mouse button", MB_OK );

      // タスクトレイからアイコンを消す。
      // 消す対象を特定するため NIM_ADD で指定した ID と同じ番号をつける。
      NOTIFYICONDATA ni;
      memset( &ni, 0, sizeof(NOTIFYICONDATA) );
      ni.uID = 1001;      
      Shell_NotifyIcon( NIM_DELETE, &ni );

      // ウィンドウを表示する。
      ShowWindow( hWnd, SW_SHOW );
    }

  }


___

■ TaskBar にいれる

SYNTAX CloseWindow( HWND ); DESC Window を最小化する

  // マウスをクリックしたら, Window を最小化してタスクバーにいれる
  if ( msg == WM_LBUTTONDOWN ) {
    CloseWindow( hWnd );
    return 0;
  }

___

■ IsIconic


  if ( msg == WM_TIMER ) {

    // タスクバーにあるときは TitleBar を 最小化中 にする
    if ( IsIconic(hWnd) ) {
      SetWindowText( hWnd, "最小化中" );
    }
    else {
      SetWindowText( hWnd, "ふつう" );
    }

  }




NINJAIDX 17