Object userObject;
オブジェクト。
GWLP_USERDATA代わりの共用体。
void* userData;
何か。
GWLP_USERDATA代わりの共用体。
protected HWND MakeNeGui(ref const NEGUIINFO NeGuiInfo
);
GUI部分生成。
やっとこさthisと分離。
- Throws:
- ウィンドウハンドルが無効なときにNeGuiException。
- History:
- 1.032
- bugエラーコードが無視されてたっぽい。
- source識別子合わせ。
- 1.00β15
- program拡張コンボボックスのリストサイズが変になるっぽいので適当に初期値設定。
- 新規作成。
protected HANDLE hWnd;
this(HWND hWnd
);
this(ref const NEGUIINFO NeGuiInfo
);
NeGui生成。
- Params:
- NEGUIINFO NeGuiInfo
- 生成に必要な情報。
- Throws:
- 生成失敗時にNeGuiException。
final const HWND opCall();
final bool opEquals(Object obj
);
final const bool opEquals(HANDLE Handle
);
INT NONE;
const final LRESULT send(UINT Message
, WPARAM wParam
, LPARAM lParam
);
const final LRESULT post(UINT Message
, WPARAM wParam
, LPARAM lParam
);
enum GWL;
アイテム情報取得フラグ。
EXSTYLE
STYLE
WNDPROC
ウィンドウプロシージャへのポインタ、またはウィンドウプロシージャへのポインタを表すハンドルを取得します。ウィンドウプロシージャを呼び出すには、CallWindowProc 関数を使わなければなりません。
HINSTANCE
アプリケーションインスタンスのハンドルを取得します。
HWNDPARENT
親ウィンドウがある場合、そのハンドルを取得します。
ID
USERDATA
ウィンドウに関連付けられた 32 ビット値を取得します。この 32 ビット値は、ウィンドウを作成したアプリケーションで使用する目的で各ウィンドウが持っているものです。この値の初期値は 0 です。
protected final LONG_PTR GetItemInfo(GWL Index
);
protected final LONG_PTR SetItemInfo(GWL Index
, LONG_PTR NewInfo
);
const final LONG_PTR getItemInfo(int Index
);
final LONG_PTR setItemInfo(int Index
, LONG_PTR NewInfo
);
const final LONG_PTR exStyle();
final LONG_PTR exStyle(LONG_PTR NewInfo
);
const final LONG_PTR style();
final LONG_PTR style(LONG_PTR NewInfo
);
const final WNDPROC proc();
final WNDPROC proc(WNDPROC NewProc
);
const final Text className(size_t ClassNameBuffer
= (BUFFER).TEXT);
ウィンドウクラス名取得。
Windowsのウィンドウクラス名であってNeGuiのクラス名でないことに注意。
- Params:
- size_t ClassNameBuffer
- 取得するクラス名のサイズ。
- Throws:
- 何らかの失敗時にNeGuiException。
const final NeGui guiObject();
final NeGui guiObject(NeGui NewGuiData
);
LayoutManager layoutManager;
static NeGui getGuiObject(HWND hWnd
);
ウィンドウハンドルからそのNeGuiを取得/設定。
- BUGS:
- 取れなかった場合にnullを返すようにせねば。
enum CLASSFLAG;
アイテムクラス情報取得フラグ。
ATOM
ウィンドウクラスを一意的に識別するアトム値を取得します。これは、RegisterClassEx 関数が返すアトムと同じです。
CBCLSEXTRA
クラスに関連付けられた拡張クラスメモリのサイズをバイト単位で取得します。
CBWNDEXTRA
ウィンドウに関連付けられた拡張ウィンドウメモリのサイズをバイト単位で取得します。このメモリへのアクセス方法については、GetWindowLongPtr 関数の説明を参照してください。
HBRBACKGROUND
クラスに関連付けられた背景ブラシのハンドルを取得します。
HCURSOR
クラスに関連付けられたカーソルのハンドルを取得します。
HICON
クラスに関連付けられたアイコンのハンドルを取得します。
HICONSM
クラスに関連付けられた小さいアイコンのハンドルを取得します。
HMODULE
クラスを登録したモジュールのハンドルを取得します。
MENUNAME
クラスに関連付けられたメニューリソースを識別するメニュー名文字列へのポインタを取得します。
STYLE
WNDPROC
ウィンドウプロシージャのアドレス、またはウィンドウプロシージャのアドレスを表すハンドルを取得します。ウィンドウプロシージャを呼び出すには、CallWindowProc 関数を使わなければなりません。
DWORD getClassInfo(CLASSFLAG Index
);
DWORD getClassInfo(int Index
);
ULONG_PTR setClassInfo(CLASSFLAG Index
, LONG NewInfo
);
ULONG_PTR setClassInfo(int Index
, LONG NewInfo
);
const Text text();
void text(in Text text);
bool number(T : int)(T Number
);
const size_t textLength();
bool destroy();
const bool isAlive();
bool enable(bool Enable
);
const bool enable();
bool update();
- History:
- 1.100
- source名前変更(upDate -> update)。
void reDraw(bool ReDraw
);
bool invaliDateRect(ref const(RECT) Rect
, bool BackErase
);
bool invaliDateRect(bool BackErase
);
const bool isChild(in NeGui gui
);
指定アイテムは子供か。
- Params:
- NeGui gui
- 調べたい子供。
- Returns:
- 子ならtrue、違えばfalse。
- History:
- 1.101
- sourceドキュメントのReturnsに関する記述がコピペ。
const NeGui child(ITEM_ID Id
);
子アイテムの取得。
- Params:
- ITEM_ID Id
- 取得したいアイテムのID。
- Returns:
- 指定アイテムが有効ならそのアイテム。
const NeGui child(ref const(POINT) Point
);
クライアント座標から子アイテムの取得。
- Params:
- const(POINT) Point
- クライアント座標。
- Returns:
- 子アイテム。
指定座標に子アイテムが存在しなければ自身を返す。
- Throws:
- 座標が変だった場合にはNeGuiExceptionを投げる。
alias EnumChildDelegate;
const bool enumChild(EnumChildDelegate dg
);
const NeGui[] children();
- History:
- 1.090
- programEnumChildWindowsをdelegateに移行。
const NeGui parent();
const NeGui root();
static NeGui pointToGui(ref const POINT Point
);
const bool pointToClient(ref POINT Point
);
const bool pointToScreen(ref POINT Point
);
enum RELATION;
- History:
- 1.00β16
- source名前をGWからRELATIONに変更。
CHILD
FIRST
指定したウィンドウと同じタイプのウィンドウで、Z 順位が一番上のウィンドウを取得します。
LAST
指定したウィンドウと同じタイプのウィンドウで、Z 順位が一番下のウィンドウを取得します。
NEXT
Z 順位が、指定したウィンドウの次にあるウィンドウを取得します。
PREV
Z 順位が、指定したウィンドウの前にあるウィンドウを取得します。
OWNER
const NeGui relation(RELATION Relation
);
bool toTop();
ウィンドウをZ順位の一番手前に持ってきて、アクティブにします
子ウィンドウの場合は、その子ウィンドウを所有する親ウィンドウがアクティブになります。
- Returns:
- 成功すればtrue、失敗すればfalseを返す。
- History:
- 1.090
- source名前変更(topMost -> toTop)。
bool setShow(SHOW Show
);
const bool isVisible();
bool foreGround();
フォアグラウンドへ設定。
- Returns:
- 成功すればtrue、失敗すればfalse。
bool move(int x
, int y
, int Width
, int Height
, bool RePaint
= true);
bool move(ref const RECT Rect
, bool RePaint
= true);
enum AFTER;
NONE
BOTTOM
ウィンドウを Z 順位の一番下に設定します。最前面ウィンドウは同時に WS_EX_TOPMOST の指定が解除されます。
NOTOPMOST
最前面ウィンドウ(WS_EX_TOPMOST)指定を解除します。
TOP
TOPMOST
ウィンドウを最前面ウィンドウに設定します。最前面ウィンドウとは、常に最前面に表示されるウィンドウのことです。
enum SWP;
DRAWFRAME
再描画時に、ウィンドウの枠も再描画の対象とします。
FRAMECHANGED
ウィンドウ サイズが変更されない場合でも、WM_NCCALCSIZE メッセージを送ります。
HIDEWINDOW
NOACTIVATE
NOCOPYBITS
ウィンドウ再配置時に、クライアント領域の内容を破棄します。
NOMOVE
ウィンドウの現在の位置を維持します。X パラメータ、Y パラメータは無視されます。
NOOWNERZORDER
NOREPOSITION
オーナーウィンドウの Z 順位を変更しないようにします。
NOREDRAW
NOSENDCHANGING
ウィンドウに WM_WINDOWPOSCHANGING メッセージを送らないようにします。
NOSIZE
ウィンドウの現在のサイズを維持します。cx パラメータ、cy パラメータは無視されます。
NOZORDER
現在の Z 順位を維持します。hWndInsertAfter パラメータは無視されます。
SHOWWINDOW
bool pos(AFTER After
, int x
, int y
, int Width
, int Height
, SWP Flags
);
bool reLoad();
bool topMost(bool TopMpst
);
bool position(in int x
, in int y
);
bool position(ref const(POINT) Point
);
bool size(in int Width
, in int Height
);
bool size(ref const(SIZE) Size
);
const SIZE clientSize();
const RECT itemRect();
const SIZE itemSize();
const POINT itemPosition();
static NeGui getFocus();
bool setFocus();
bool lockUpDate(bool Lock
);
const HDC getDC();
bool releaseDC(HDC hDC
);
デバイスコンテキストの解放。
auto gui=new NeGui(HANDLE);
auto hdc=gui.getDC();
scope(exit) gui.releaseDC(hdc);
Canvas canvas();
Canvas beguinPaint(ref PAINTSTRUCT PaintStruct
);
void endPaint(ref PAINTSTRUCT PaintStruct
);
const Icon getIcon(Icon.FIXED IconFixed
);
Icon setIcon(Icon.FIXED IconFixed
, in Icon icon
);
const Font font();
void font(in Font font);
bool startHotKey(HOTKEY_ID Id
, MOD Mod
, KEY Key
);
bool stopHotKey(HOTKEY_ID Id
);
bool startTimer(TIMER_ID Id
, DWORD ms
, TIMERPROC TimerProc
= null);
bool stopTimer(TIMER_ID Id
);
void dropFile(bool Accept
);