#include <tanuki_wnd.h>
tanuki::cl_process_wndに対する継承グラフ

Public メソッド | |
| void | EnableReplyPaint (bool is_reply=true) | 
| WM_PAINT メッセージに応答するかどうかを指定する.  | |
Protected 型 | |
| typedef BOOL(* | wm_handler_t )(cl_process_wnd *p_myself, WPARAM wprm, LPARAM lprm, LRESULT &result) | 
| ウィンドウメッセージハンドラ型  | |
| typedef void(* | cmd_handler_t )(cl_process_wnd *p_myself) | 
| コマンドハンドラ型  | |
| enum | { WMSG_HASH_TABLE_SIZE = 1021, CMD_HASH_TABLE_SIZE = 127 } | 
Protected メソッド | |
| cl_process_wnd () | |
| コンストラクタ  | |
| virtual | ~cl_process_wnd () | 
| デストラクタ | |
| void | registerWndMessageHandler (UINT msg_id, wm_handler_t handler) | 
| ウィンドウメッセージハンドラの追加  | |
| bool | registerCommandHandler (WORD cmd_id, cmd_handler_t handler) | 
| コマンドハンドラの追加  | |
| BOOL | callWndMessageHandler (UINT msg_id, WPARAM wprm, LPARAM lprm, LRESULT &result) | 
| ウィンドウメッセージハンドラの呼び出し  | |
| BOOL | callCommandHandler (WORD cmd_id) | 
| コマンドハンドラの呼び出し  | |
| virtual BOOL | onCreate (LPCREATESTRUCT p_create_st, LRESULT &result) | 
| WM_CREATE : ウィンドウ構築メッセージハンドラ.  | |
| virtual int | onDestroy () | 
| WM_DESTROY : ウィンドウ破棄メッセージハンドラ.  | |
| virtual BOOL | onMouseMove (const POINT &pos, DWORD key_indicator) | 
| WM_MOUSEMOVE : マウスカーソル移動メッセージハンドラ.  | |
| virtual BOOL | onMouseLeftButtonDown (const POINT &pos, DWORD key_indicator) | 
| WM_LBUTTONDOWN : マウス左ボタン押下メッセージハンドラ.  | |
| virtual BOOL | onMouseLeftButtonUp (const POINT &pos, DWORD key_indicator) | 
| WM_LBUTTONUP : マウス左ボタン解放メッセージハンドラ.  | |
| virtual void | onPaint (HDC h_dc, BOOL is_erase, const RECT &rect) | 
| WM_PAINT : 再描画メッセージハンドラ.  | |
ウィンドウメッセージを処理するウィンドウ (通常のウィンドウ、およびダイアログボックス) の基底となるクラス。 本クラスの存在意義は以下のとおり。
      
  | 
  
| 
 コマンドハンドラ型 
 
  | 
  
      
  | 
  
| 
 ウィンドウメッセージハンドラ型 
 
 
  | 
  
      
  | 
  
| 
 
  | 
  
      
  | 
  
| 
 コンストラクタ 本クラスのコンストラクタは、ウィンドウメッセージハンドラ関数の ハッシュテーブルへの登録、および主要なコマンドハンドラ関数 (IDOK, IDCANCEL 等に対応する、 onOK() や onCancel() など) のハッシュテーブルへの登録を行う。  | 
  
      
  | 
  
| 
 コマンドハンドラの呼び出し 
 
 
 この関数は、 cl_normal_wnd::window_procedure() 関数および cl_dialog::dialog_procedure() 関数より呼び出されることを 想定しています。従って、本メソッドは使用しないで下さい。 特定のウィンドウメッセージハンドラを実行する必要がある場合は、 SendCommand() メソッドか、もしくは PostCommand() メソッドを 使用してください。  | 
  
      
  | 
  ||||||||||||||||||||
| 
 ウィンドウメッセージハンドラの呼び出し 
 
 
 この関数は、 cl_normal_wnd::window_procedure() 関数および cl_dialog::dialog_procedure() 関数より呼び出されることを 想定しています。従って、本メソッドは使用しないで下さい。 特定のウィンドウメッセージハンドラを実行する必要がある場合は、 SendMessage() メソッドか、もしくは PostMessage() メソッドを 使用してください。  | 
  
      
  | 
  
| 
 WM_PAINT メッセージに応答するかどうかを指定する. 
 
  | 
  
      
  | 
  ||||||||||||
| 
 WM_CREATE : ウィンドウ構築メッセージハンドラ. 
 
 
 result に 0 を設定し、 TRUE を返して終了するべきです。      | 
  
      
  | 
  
| 
 WM_DESTROY : ウィンドウ破棄メッセージハンドラ. 
 
  | 
  
      
  | 
  ||||||||||||
| 
 WM_LBUTTONDOWN : マウス左ボタン押下メッセージハンドラ. 
 
 
  | 
  
      
  | 
  ||||||||||||
| 
 WM_LBUTTONUP : マウス左ボタン解放メッセージハンドラ. 
 
 
  | 
  
      
  | 
  ||||||||||||
| 
 WM_MOUSEMOVE : マウスカーソル移動メッセージハンドラ. 
 
 
  | 
  
      
  | 
  ||||||||||||||||
| 
 WM_PAINT : 再描画メッセージハンドラ. 
 
 h_dc に対して適切な描画処理を記述してください。rect が指し示す領域は、 InvalidateRect() メソッドによって 指定した矩形となります。なお、事前に EnableReplyPaint() メソッドを引数 false として呼んでいる場合、 このメッセージハンドラは呼び出されなくなります。  | 
  
      
  | 
  ||||||||||||
| 
 コマンドハンドラの追加 
 
 
 class cl_my_wnd : public cl_normal_wnd { public: // コンストラクタ cl_my_wnd(HINSTANCE h_instance) : cl_normal_wnd(h_instance) { // IDC_XXXX コマンドハンドラを登録する registerCommandHandler(IDC_XXXX, on_xxxx_reg); // ウィンドウの生成 prepareWindow(); } // デストラクタ ~cl_my_wnd() {} private: // IDC_XXXX コマンドハンドラ (登録用) static void on_xxxx_reg(cl_process_wnd * p_myself) { p_myself->on_xxxx(); } // IDC_XXXX コマンドハンドラ (本体) void on_xxxx() { // 処理内容をここに記述します。 } };  | 
  
      
  | 
  ||||||||||||
| 
 ウィンドウメッセージハンドラの追加 
 
  | 
  
1.2.17