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

Window管理・操作用基底クラス [詳解]

#include <bwin.h>

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

クラス

struct  D0_
 

公開メンバ関数

 ~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)
 スクロールバーの無效化
 

限定公開メンバ関数

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

静的限定公開メンバ関数

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を取得するための"カプセル破り"
 

その他の継承メンバ

- 基底クラス urania::WndBase に属する継承静的公開メンバ関数
static HWND getHWND (const urania::WndBase *wb)
 HWNDの取得
 
- 基底クラス urania::WndBase に属する継承限定公開変数類
HWND hw_
 管理對象のHWND
 

詳解

Window管理・操作用基底クラス

構築子と解体子

◆ BasicWindow()

urania::BasicWindow::BasicWindow ( )
protecteddefault

◆ ~BasicWindow()

urania::BasicWindow::~BasicWindow ( )
default

関数詳解

◆ bindHWND_()

void urania::BasicWindow::bindHWND_ ( HWND hw)
inlineprotected

BasicWindowオブジェクトとHWNDの二重結合を形成

BasicWindowオブジェクトからHWNDへの結合と、 HWNDからオブジェクトへの結合を形成する。

引数
hwオブジェクトと結合するHWND
呼び出し関係図:

◆ createWindow0_()

void urania::BasicWindow::createWindow0_ ( const D0_ & de)
protected

◆ defHandler()

LRESULT urania::BasicWindow::defHandler ( UINT msg,
WPARAM wp,
LPARAM lp )
virtual

デフォルトのメッセージ處理

被呼び出し関係図:

◆ destroyWindow_()

void urania::BasicWindow::destroyWindow_ ( )
inlineoverrideprotectedvirtual

ウィンドウ破棄の實處理を實裝

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

呼び出し関係図:

◆ getClientHeight()

int urania::BasicWindow::getClientHeight ( )
inline

クライアント領域の高さを取得

◆ getClientWidth()

int urania::BasicWindow::getClientWidth ( )
inline

クライアント領域の幅を取得

◆ getClientWidthAndHeight()

bool urania::BasicWindow::getClientWidthAndHeight ( int & w,
int & h )
inline

クライアント領域の幅と高さの取得

引数
[out]w
[out]h高さ
戻り値
成功時はtrue、さもなくばfalse

◆ getPaintDevice()

std::unique_ptr< urania::PaintDevice > urania::BasicWindow::getPaintDevice ( )

ウィンドウ描畫用のPaintDeviceを取得

ウィンドウを(再)描畫するためのPaintDeviceを取得する。

呼び出し関係図:

◆ invalidate() [1/2]

void urania::BasicWindow::invalidate ( )
inline

ウィンドウの再描畫領域の設定

ウィンドウのクライアント領域全體を、 再描畫が必要な領域に設定する。

◆ invalidate() [2/2]

void urania::BasicWindow::invalidate ( const eunomia::Rect & rect)
inline

ウィンドウの再描畫領域の設定

ウィンドウのクライアント領域の指定した範圍を 再描畫が必要な領域に設定する。

引数
[in]rect再描畫領域に設定する長方形

◆ killTimer()

void urania::BasicWindow::killTimer ( int id)
inline

タイマーを破棄

引数
idタイマーのID

◆ onPaint()

template<class PT_ >
LRESULT urania::BasicWindow::onPaint ( PT_ && proc,
WPARAM wp,
LPARAM lp )
inline

ウィンドウ再描畫

ウィンドウ再描畫時に呼び出される。 getPaintDevice()で取得したPaintDeviceを實引數として 描畫處理procを呼び出した後、 PaintDeviceを破棄する。

引数
proc描畫處理を行ふ函數オブジェクト。 プロトタイプは void (proc)(BasicWindow*, PaintDevice*);
wp再描畫要求メッセージのパラメタ(不使用)
lp再描畫要求メッセージのパラメタ(不使用)
呼び出し関係図:
被呼び出し関係図:

◆ registerWC_()

std::wstring urania::BasicWindow::registerWC_ ( const WC_ & wc)
staticprotected
呼び出し関係図:

◆ resize()

void urania::BasicWindow::resize ( int w,
int h )
inline

ウィンドウの大きさを變更

引数
w
h高さ

◆ resizeClientArea()

void urania::BasicWindow::resizeClientArea ( int w,
int h )
inline

ウィンドウの大きさを變更

クライアント領域の幅と高さを指定して ウィンドウの大きさを變更する。

引数
w
h高さ

◆ setTimer()

void urania::BasicWindow::setTimer ( int id,
int elapse )
inline

タイマーを設定

引数
idタイマーのID
elapseタイムアウト値(ミリ秒)

◆ unbindHWND_()

void urania::BasicWindow::unbindHWND_ ( )
inlineprotected

HWNDからBasicWindowオブジェクトへの結合を切斷

◆ update()

void urania::BasicWindow::update ( )
inline

ウィンドウ更新(再描畫要求)

ウィンドウの再描畫を要求する。 ウィンドウの全部あるいは一部が再描畫せらるべき場合には、 再描畫處理が呼び出される。

◆ winproc_()

LRESULT CALLBACK urania::BasicWindow::winproc_ ( HWND hw,
UINT msg,
WPARAM wp,
LPARAM lp )
staticprotected

ウィンドウプロシージャ

BasicWindowオブジェクトと結合してゐるHWND用のウィンドウプロシージャ。 HWNDと結び附いたオブジェクトのwproc_()を呼び出す。

引数
[in]hwメッセージを受けたウィンドウのHWND
[in]msgメッセージ
[in]wpメッセージのパラメータ(WPARAM)
[in]lpメッセージのパラメータ(LPARAM)
呼び出し関係図:

◆ wproc_()

virtual LRESULT urania::BasicWindow::wproc_ ( UINT msg,
WPARAM wp,
LPARAM lp )
protectedpure virtual

ウィンドウプロシージャ(個別)

オブジェクトに結び附いたウィンドウへのメッセージを 處理するプロシージャ。 派生クラスで實裝する。

引数
[in]msgメッセージ
[in]wpメッセージのパラメータ(WPARAM)
[in]lpメッセージのパラメータ(LPARAM)

urania::Windowで実装されています。

被呼び出し関係図:

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