LIBURANIA
GUI library (a wrapper of Win32 API) in C++
読み取り中…
検索中…
一致する文字列を見つけられません
公開型 | 公開メンバ関数 | 限定公開メンバ関数 | 静的限定公開メンバ関数 | 限定公開変数類 | フレンド | 全メンバ一覧
urania::Window クラス

ウィンドウ [詳解]

#include <window.h>

urania::Window の継承関係図
urania::Window 連携図

公開型

typedef LRESULT(* H_) (urania::Window *pw, UINT msg, WPARAM wp, LPARAM lp)
 

公開メンバ関数

 ~Window ()
 
std::shared_ptr< urania::MenugetMenu () const
 
void setMenu (const std::shared_ptr< urania::Menu > &m)
 
void setMenu (std::shared_ptr< urania::Menu > &&m)
 
- 基底クラス urania::BasicWindow に属する継承公開メンバ関数
 ~BasicWindow ()=default
 
void update ()
 ウィンドウ更新(再描畫要求)
 
void invalidate ()
 ウィンドウの再描畫領域の設定
 
void invalidate (const eunomia::Rect &rect)
 ウィンドウの再描畫領域の設定
 
std::unique_ptr< PaintDevicegetPaintDevice ()
 ウィンドウ描畫用のPaintDeviceを取得
 
template<class PT_ >
LRESULT onPaint (PT_ &&proc, WPARAM wp, LPARAM lp)
 ウィンドウ再描畫
 
int getClientWidth ()
 クライアント領域の幅を取得
 
int getClientHeight ()
 クライアント領域の高さを取得
 
bool getClientWidthAndHeight (int &w, int &h)
 クライアント領域の幅と高さの取得
 
void resize (int w, int h)
 ウィンドウの大きさを變更
 
void resizeClientArea (int w, int h)
 ウィンドウの大きさを變更
 
void setTimer (int id, int elapse)
 タイマーを設定
 
void killTimer (int id)
 タイマーを破棄
 
virtual LRESULT defHandler (UINT msg, WPARAM wp, LPARAM lp)
 デフォルトのメッセージ處理
 
- 基底クラス urania::WndBase に属する継承公開メンバ関数
 WndBase () noexcept
 
virtual ~WndBase ()=default
 
void destroy ()
 ウィンドウの破棄
 
void resetTitle (const std::wstring &ttl)
 ウィンドウタイトルの變更
 
void close ()
 ウィンドウの閉止
 
void show ()
 ウィンドウの表示
 
void hide ()
 ウィンドウの隱蔽
 
void maximize ()
 ウィンドウの最大化
 
void minimize ()
 ウィンドウの最小化
 
void normalize ()
 ウィンドウの復原
 
void move (int x, int y)
 ウィンドウの移動
 
void postMessage (UINT msg, WPARAM wp, LPARAM lp)
 メッセージ送出
 
int getWidth ()
 ウィンドウ幅を取得
 
int width ()
 ウィンドウ幅の取得
 
int getHeight ()
 ウィンドウの高さを取得
 
int height ()
 ウィンドウの高さの取得
 
bool getWidthAndHeight (int &w, int &h)
 ウィンドウの幅と高さの取得
 
void enableCtrl (int id)
 コントロールの有效化
 
void disableCtrl (int id)
 コントロールの無效化
 
void createEditBox (int id, const eunomia::AnotherRect &re)
 エディットボックス生成
 
void createMultiLineEditBox (int id, const eunomia::AnotherRect &re)
 複數行エディットボックスの生成
 
void createListBox (int id, const eunomia::AnotherRect &re)
 リストボックス生成
 
void createComboBox (int id, const eunomia::AnotherRect &re)
 コンボボックス生成
 
void createPushButton (int id, const std::wstring &str, const eunomia::AnotherRect &re)
 ボタン生成
 
void createLabel (int id, const std::wstring &str, const eunomia::AnotherRect &re)
 ラベル生成
 
void createCheckBox (int id, const std::wstring &str, const eunomia::AnotherRect &re)
 チェックボックス生成
 
std::wstring getTextEB (int id)
 エディットボックスの内容の取得
 
void setEBText (int id, const std::wstring &txt)
 エディットボックスの内容の設定
 
void clearEB (int id)
 エディットボックスの内容の消去
 
void copyEB (int id)
 クリップボードへの選擇文字列のコピー
 
void cutEB (int id)
 選擇文字列のクリップボードへのコピー及び削除
 
void pasteEB (int id)
 クリップボードからの文字列のペースト
 
bool canUndoEB (int id)
 直前動作の取り消しの可否の確認
 
void undoEB (int id)
 直前動作の取り消し
 
std::wstring getLineTextEB (int id, int li)
 複數行エディットボックスからの一行の取得
 
int countLineEB (int id)
 複數行エディットボックスの行數の取得
 
std::wstring getItemLB (int id, int no)
 リストボックスの項目の取得
 
void addItemLB (int id, const std::wstring &txt)
 リストボックスへの項目の追加
 
void insertItemLB (int id, int no, const std::wstring &txt)
 リストボックスへの項目の插入
 
void deleteItemLB (int id, int no)
 リストボックスの項目の削除
 
int countItemLB (int id)
 リストボックスの項目數の取得
 
int getCurrentLB (int id)
 選擇中のリストボックスの項目番號の取得
 
void setCurrentLB (int id, int no)
 リストボックスの選擇項目の設定
 
void clearLB (int id)
 リストボックスの内容の消去
 
void dirLB (int id, const std::wstring &path, int flag)
 リストボックスへの指定ディレクトリの内容の反映
 
std::wstring getItemCB (int id, int no)
 コンボボックスの項目の取得
 
void addItemCB (int id, const std::wstring &txt)
 コンボボックスへの項目の追加
 
void insertItemCB (int id, int no, const std::wstring &txt)
 コンボボックスへの項目の插入
 
void deleteItemCB (int id, int no)
 コンボボックスの項目の削除
 
int countItemCB (int id)
 コンボボックスの項目數の取得
 
int getCurrentCB (int id)
 コンボボックスの選擇中の項目の番號の取得
 
void setCurrentCB (int id, int no)
 コンボボックスの選擇項目の設定
 
void clearCB (int id)
 コンボボックスの内容の消去
 
void dirCB (int id, const std::wstring &path, int flag)
 コンボボックスへの指定ディレクトリの内容の反映
 
bool isChecked (int id)
 チェックボックスなどのチェックの有無の取得
 
int getPosHSB ()
 水平スクロールバーの位置の取得
 
void setPosHSB (int pos)
 水平スクロールバーの位置の設定
 
void getRangeHSB (int &min, int &max, int &page)
 水平スクロールバーの範圍の取得
 
void setRangeHSB (int min, int max, int page)
 水平スクロールバーの範圍の設定
 
void enableHSB ()
 水平スクロールバーの有效化
 
void disableHSB ()
 水平スクロールバーの無效化
 
int getPosVSB ()
 垂直スクロールバーの位置の取得
 
void setPosVSB (int pos)
 垂直スクロールバーの位置の設定
 
void getRangeVSB (int &min, int &max, int &page)
 垂直スクロールバーの範圍の取得
 
void setRangeVSB (int min, int max, int page)
 垂直スクロールバーの範圍の設定
 
void enableVSB ()
 垂直スクロールバーの有效化
 
void disableVSB ()
 垂直スクロールバーの無效化
 
int getPosSB (int id)
 スクロールバーの位置の取得
 
void setPosSB (int id, int pos)
 スクロールバーの位置の設定
 
void getRangeSB (int id, int &min, int &max, int &page)
 スクロールバーの範圍の取得
 
void setRangeSB (int id, int min, int max, int page)
 スクロールバーの範圍の設定
 
void enableSB (int id)
 スクロールバーの有效化
 
void disableSB (int id)
 スクロールバーの無效化
 

限定公開メンバ関数

 Window () noexcept
 
void init_ (HWND hw) override
 メッセージ處理系初期化
 
void uninit_ () override
 メッセージ處理系初期化解除
 
virtual LRESULT wproc_ (UINT msg, WPARAM wp, LPARAM lp) override
 各Windowのメッセージ処理プロシージャ
 
HMENU linkMenu_ (const std::shared_ptr< urania::Menu > &mn)
 
HMENU linkMenu_ (std::shared_ptr< urania::Menu > &&mn)
 
- 基底クラス urania::BasicWindow に属する継承限定公開メンバ関数
 BasicWindow ()=default
 
void createWindow0_ (const D0_ &de)
 
void bindHWND_ (HWND hw)
 BasicWindowオブジェクトとHWNDの二重結合を形成
 
void unbindHWND_ ()
 HWNDからBasicWindowオブジェクトへの結合を切斷
 
void destroyWindow_ () override
 ウィンドウ破棄の實處理を實裝
 
- 基底クラス urania::WndBase に属する継承限定公開メンバ関数
void link_ (HWND h)
 HWNDの強固な連結
 
void kill_ ()
 HWNDの切り離しと破棄
 
void attach_ (HWND h)
 HWNDの連結
 
void detach_ ()
 HWNDの切り離し
 
void deleting_ ()
 オブジェクト側からHWNDを破棄
 
void destroyed_ ()
 HWNDが破棄された時の後處理
 

静的限定公開メンバ関数

static HMENU getHM_ (const std::shared_ptr< urania::Menu > &mn)
 
- 基底クラス urania::BasicWindow に属する継承静的限定公開メンバ関数
static LRESULT CALLBACK winproc_ (HWND hw, UINT msg, WPARAM wp, LPARAM lp)
 ウィンドウプロシージャ
 
static std::wstring registerWC_ (const WC_ &wc)
 
- 基底クラス urania::WndBase に属する継承静的限定公開メンバ関数
static HINSTANCE getHI_ ()
 派生クラスがHINSTANCEを取得するための"カプセル破り"
 

限定公開変数類

std::unique_ptr< urania::WMHandlermsgHandler_
 メッセージハンドラ
 
std::shared_ptr< urania::Menumenu_
 関連づけられたメニュー
 
bool dad_
 trueならDrag&Dropを受け附ける
 
- 基底クラス urania::WndBase に属する継承限定公開変数類
HWND hw_
 管理對象のHWND
 

フレンド

class urania::WindowFactory
 

その他の継承メンバ

- 基底クラス urania::WndBase に属する継承静的公開メンバ関数
static HWND getHWND (const urania::WndBase *wb)
 HWNDの取得
 

詳解

ウィンドウ

型定義メンバ詳解

◆ H_

typedef LRESULT(* urania::Window::H_) (urania::Window *pw, UINT msg, WPARAM wp, LPARAM lp)

構築子と解体子

◆ Window()

urania::Window::Window ( )
inlineprotectednoexcept

◆ ~Window()

urania::Window::~Window ( )
inline
呼び出し関係図:

関数詳解

◆ getHM_()

static HMENU urania::Window::getHM_ ( const std::shared_ptr< urania::Menu > & mn)
inlinestaticprotected

◆ getMenu()

std::shared_ptr< urania::Menu > urania::Window::getMenu ( ) const
inline

◆ init_()

void urania::Window::init_ ( HWND )
overrideprotectedvirtual

メッセージ處理系初期化

ウィンドウが作成されたときに呼び出される。 オブジェクトとHWNDを結合し、及びその他の處理を行ふ。 派生クラスで實裝する。

urania::WndBaseを実装しています。

◆ linkMenu_() [1/2]

HMENU urania::Window::linkMenu_ ( const std::shared_ptr< urania::Menu > & mn)
inlineprotected
被呼び出し関係図:

◆ linkMenu_() [2/2]

HMENU urania::Window::linkMenu_ ( std::shared_ptr< urania::Menu > && mn)
inlineprotected

◆ setMenu() [1/2]

void urania::Window::setMenu ( const std::shared_ptr< urania::Menu > & m)
inline
呼び出し関係図:

◆ setMenu() [2/2]

void urania::Window::setMenu ( std::shared_ptr< urania::Menu > && m)
inline
呼び出し関係図:

◆ uninit_()

void urania::Window::uninit_ ( )
overrideprotectedvirtual

メッセージ處理系初期化解除

ウィンドウが破棄される/たときに呼び出される。 HWNDからオブジェクトへの結合を切斷し、及びその他の處理を行ふ。 派生クラスで實裝する。

urania::WndBaseを実装しています。

◆ wproc_()

LRESULT urania::Window::wproc_ ( UINT msg,
WPARAM wp,
LPARAM lp )
overrideprotectedvirtual

各Windowのメッセージ処理プロシージャ

urania::BasicWindowを実装しています。

フレンドと関連関数の詳解

◆ urania::WindowFactory

friend class urania::WindowFactory
friend

メンバ詳解

◆ dad_

bool urania::Window::dad_
protected

trueならDrag&Dropを受け附ける

◆ menu_

std::shared_ptr<urania::Menu> urania::Window::menu_
protected

関連づけられたメニュー

◆ msgHandler_

std::unique_ptr<urania::WMHandler> urania::Window::msgHandler_
protected

メッセージハンドラ


このクラス詳解は次のファイルから抽出されました: