LIBURANIA
GUI library (a wrapper of Win32 API) in C++
|
HWND管理用基底クラス [詳解]
#include <wbase.h>
公開メンバ関数 | |
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) |
スクロールバーの無效化 | |
静的公開メンバ関数 | |
static HWND | getHWND (const urania::WndBase *wb) |
HWNDの取得 | |
限定公開メンバ関数 | |
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 |
メッセージ處理系初期化解除 | |
virtual void | destroyWindow_ ()=0 |
ウィンドウ破棄の實處理 | |
void | deleting_ () |
オブジェクト側からHWNDを破棄 | |
void | destroyed_ () |
HWNDが破棄された時の後處理 | |
静的限定公開メンバ関数 | |
static HINSTANCE | getHI_ () |
派生クラスがHINSTANCEを取得するための"カプセル破り" | |
限定公開変数類 | |
HWND | hw_ |
管理對象のHWND | |
HWND管理用基底クラス
WindowとDialogの基底となり、HWNDの管理や操作を行ふ。
|
inlinenoexcept |
|
virtualdefault |
|
inline |
コンボボックスへの項目の追加
id | コントロールID |
txt | 插入する項目の文字列 |
|
inline |
リストボックスへの項目の追加
id | コントロールID |
txt | 插入する項目の文字列 |
|
inlineprotected |
HWNDの連結
WndBaseオブジェクトとHWNDを結び附ける。 オブジェクト破棄時にHWNDを破棄しない。
|
inline |
直前動作の取り消しの可否の確認
id | コントロールID |
|
inline |
コンボボックスの内容の消去
id | コントロールID |
|
inline |
エディットボックスの内容の消去
id | コントロールID |
|
inline |
リストボックスの内容の消去
id | コントロールID |
|
inline |
ウィンドウの閉止
|
inline |
クリップボードへの選擇文字列のコピー
id | コントロールID |
|
inline |
コンボボックスの項目數の取得
id | コントロールID |
|
inline |
リストボックスの項目數の取得
id | コントロールID |
|
inline |
複數行エディットボックスの行數の取得
id | コントロールID |
|
inline |
チェックボックス生成
id | コントロールID |
str | チェックボックスに表示する文字列 |
re | コントロールの位置、幅、高さの指定 |
|
inline |
コンボボックス生成
id | コントロールID |
re | コントロールの位置、幅、高さの指定 |
|
inline |
エディットボックス生成
id | コントロールID |
re | コントロールの位置、幅、高さの指定 |
|
inline |
ラベル生成
id | コントロールID |
str | ラベルに表示する文字列 |
re | コントロールの位置、幅、高さの指定 |
|
inline |
リストボックス生成
id | コントロールID |
re | コントロールの位置、幅、高さの指定 |
|
inline |
複數行エディットボックスの生成
id | コントロールID |
re | コントロールの位置、幅、高さの指定 |
|
inline |
ボタン生成
id | コントロールID |
str | ボタンに表示する文字列 |
re | コントロールの位置、幅、高さの指定 |
|
inline |
選擇文字列のクリップボードへのコピー及び削除
id | コントロールID |
|
inline |
コンボボックスの項目の削除
id | コントロールID |
no | 削除位置 |
|
inline |
リストボックスの項目の削除
id | コントロールID |
no | 削除位置 |
|
inlineprotected |
オブジェクト側からHWNDを破棄
(オブジェクト解體時に)連結してゐるHWNDを破棄する。 インスタンス生成可能な派生クラスの解體子は、 先祖クラスの解體子がdeleting_()を呼び出す場合を除き、 deleting_()を呼び出すべし。
|
inline |
ウィンドウの破棄
|
inlineprotected |
HWNDが破棄された時の後處理
HWNDが破棄されたときに呼び出される。 オブジェクトとHWNDの間の結合を切斷する。
|
protectedpure virtual |
ウィンドウ破棄の實處理
destroy()から呼び出される。 ウィンドウを破棄するための處理を、派生クラスで實裝する。
urania::BasicWindow, urania::Dialogで実装されています。
|
inlineprotected |
HWNDの切り離し
WndBaseオブジェクトとHWNDを切り離すが、HWNDを破棄しない。
void urania::WndBase::dirCB | ( | int | id, |
const std::wstring & | path, | ||
int | flag ) |
コンボボックスへの指定ディレクトリの内容の反映
id | コントロールID |
path | ディレクトリのパス |
flag | 列擧するファイルの屬性の指定 |
flagに指定するのは(Win32APIの定義する)以下の値の組み合はせ。
void urania::WndBase::dirLB | ( | int | id, |
const std::wstring & | path, | ||
int | flag ) |
リストボックスへの指定ディレクトリの内容の反映
id | コントロールID |
path | ディレクトリのパス |
flag | 列擧するファイルの屬性の指定 |
flagに指定するのは(Win32APIの定義する)以下の値の組み合はせ。
|
inline |
コントロールの無效化
id | コントロールID |
|
inline |
水平スクロールバーの無效化
|
inline |
スクロールバーの無效化
id | コントロールID |
|
inline |
垂直スクロールバーの無效化
|
inline |
コントロールの有效化
id | コントロールID |
|
inline |
水平スクロールバーの有效化
|
inline |
スクロールバーの有效化
id | コントロールID |
|
inline |
垂直スクロールバーの有效化
|
inline |
コンボボックスの選擇中の項目の番號の取得
id | コントロールID |
|
inline |
選擇中のリストボックスの項目番號の取得
id | コントロールID |
|
inline |
ウィンドウの高さを取得
|
inlinestaticprotected |
派生クラスがHINSTANCEを取得するための"カプセル破り"
|
inlinestatic |
HWNDの取得
WndBaseオブジェクトに結び附いたHWNDを取得する。
wb | 對象のWndBaseオブジェクトへのポインタ |
std::wstring urania::WndBase::getItemCB | ( | int | id, |
int | no ) |
コンボボックスの項目の取得
id | コントロールID |
no | 項目番號(0-based) |
std::wstring urania::WndBase::getItemLB | ( | int | id, |
int | no ) |
リストボックスの項目の取得
id | コントロールID |
no | 項目番號(0-based) |
std::wstring urania::WndBase::getLineTextEB | ( | int | id, |
int | li ) |
複數行エディットボックスからの一行の取得
id | コントロールID |
li | 取得する行の番號(0-based) |
|
inline |
水平スクロールバーの位置の取得
int urania::WndBase::getPosSB | ( | int | id | ) |
スクロールバーの位置の取得
id | コントロールID |
|
inline |
垂直スクロールバーの位置の取得
|
inline |
水平スクロールバーの範圍の取得
[out] | min | 最小値 |
[out] | max | 最大値 |
[out] | page | ページサイズ |
void urania::WndBase::getRangeSB | ( | int | id, |
int & | min, | ||
int & | max, | ||
int & | page ) |
スクロールバーの範圍の取得
[in] | id | コントロールID |
[out] | min | 最小値 |
[out] | max | 最大値 |
[out] | page | ページサイズ |
|
inline |
垂直スクロールバーの範圍の取得
[out] | min | 最小値 |
[out] | max | 最大値 |
[out] | page | ページサイズ |
std::wstring urania::WndBase::getTextEB | ( | int | id | ) |
エディットボックスの内容の取得
id | コントロールID |
|
inline |
ウィンドウ幅を取得
|
inline |
ウィンドウの幅と高さの取得
[out] | w | 幅 |
[out] | h | 高さ |
|
inline |
ウィンドウの高さの取得
|
inline |
ウィンドウの隱蔽
|
protectedpure virtual |
メッセージ處理系初期化
ウィンドウが作成されたときに呼び出される。 オブジェクトとHWNDを結合し、及びその他の處理を行ふ。 派生クラスで實裝する。
urania::Dialog, urania::Windowで実装されています。
|
inline |
コンボボックスへの項目の插入
id | コントロールID |
no | 插入位置 |
txt | 插入する項目の文字列 |
|
inline |
リストボックスへの項目の插入
id | コントロールID |
no | 插入位置 |
txt | 插入する項目の文字列 |
|
inline |
チェックボックスなどのチェックの有無の取得
id | コントロールID |
|
inlineprotected |
HWNDの切り離しと破棄
WndBaseオブジェクトとHWNDを切り離す。 もしもlink_()されてゐるならHWNDを破棄する。
|
inlineprotected |
HWNDの強固な連結
WndBaseオブジェクトとHWNDを強固に結び附け、 オブジェクト破棄時にHWNDを同時に破棄する。
h | 連結するHWND |
|
inline |
ウィンドウの最大化
|
inline |
ウィンドウの最小化
|
inline |
ウィンドウの移動
ウィンドウを移動する。移動先はウィンドウの左上の位置(x, y)で指定する。
x | 移動先のx座標 |
y | 移動先のy座標 |
|
inline |
ウィンドウの復原
|
inline |
クリップボードからの文字列のペースト
id | コントロールID |
|
inline |
メッセージ送出
ウィンドウにメッセージを投げる。
msg | メッセージ |
wp | メッセージのパラメタ(WPARAM) |
lp | メッセージのパラメタ(LPARAM) |
|
inline |
ウィンドウタイトルの變更
ttl | 新しいタイトル |
|
inline |
コンボボックスの選擇項目の設定
id | コントロールID |
no | 選擇する項目の番號(0-based) |
|
inline |
リストボックスの選擇項目の設定
id | コントロールID |
no | 選擇する項目の番號(0-based) |
|
inline |
エディットボックスの内容の設定
id | コントロールID |
txt | 設定する内容 |
|
inline |
水平スクロールバーの位置の設定
void urania::WndBase::setPosSB | ( | int | id, |
int | pos ) |
スクロールバーの位置の設定
id | コントロールID |
pos | 位置 |
|
inline |
垂直スクロールバーの位置の設定
|
inline |
水平スクロールバーの範圍の設定
min | 最小値 |
max | 最大値 |
page | ページサイズ |
void urania::WndBase::setRangeSB | ( | int | id, |
int | min, | ||
int | max, | ||
int | page ) |
スクロールバーの範圍の設定
id | コントロールID |
min | 最小値 |
max | 最大値 |
page | ページサイズ |
|
inline |
垂直スクロールバーの範圍の設定
min | 最小値 |
max | 最大値 |
page | ページサイズ |
|
inline |
ウィンドウの表示
|
inline |
直前動作の取り消し
id | コントロールID |
|
protectedpure virtual |
メッセージ處理系初期化解除
ウィンドウが破棄される/たときに呼び出される。 HWNDからオブジェクトへの結合を切斷し、及びその他の處理を行ふ。 派生クラスで實裝する。
urania::Dialog, urania::Windowで実装されています。
|
inline |
ウィンドウ幅の取得
|
protected |
管理對象のHWND