雑多な機能



wxCONCAT



wxCONCAT( x, y)

二つのトークン x および y を結合して返します.



wxDYNLIB_FUNCTION



wxDYNLIB_FUNCTION( type, name, dynlib)

通常,DLL から関数をロードする際には,返ってきた関数ポインタを void * 型から適切な型に変換せねばなりません.また,さらに わずらわしいことに,関数ポインタの宣言と定義を一行で行いたければ この作業を二度繰り返さねばなりません.

このマクロを使うと,型を第一パラメタに一度だけ指定すれば,パラメタから プレフィクス pfn を取り去った名前の変数を作成し, wxDynamicLibrary dynlib から関数名 name を初期化してくれるので,前述の作業が少しだけ楽になります.

Parameters

type
関数の型です.

name
ロードする関数の名前です.文字列型にしてはなりません (クオートをつけません.マクロが自動的にクオートをつけます).

dynlib
関数をロードするライブラリです.



wxEXPLICIT

wxEXPLICIT はマクロで,コンパイラが C++ のexplicit キーワードを サポートしている場合には explicit に展開されます.それ以外の場合には 何もしません.従って,あるコードを explicit を持たない古いコンパイラ でも利用できるようにしたい一方,explicit を使える場合にはその恩恵を 得たい場合に使えます.



::wxGetKeyState



bool wxGetKeyState(wxKeyCode key)

通常のキーに対しては,現在キーが押下去れている場合に TRUEを返します.

トグル可能なキー (Caps Lock, Num Lock および Scroll Lock) の場合, 該当するキーの LED インジケータが点灯していればTRUEを返します. 現状ではトグル可能なキーが押下されているかどうかを調べる方法は ありません.

現状では,マウスボタンに対して仮想キーコードが指定されていても, そのキーコードでマウスボタンを調べることは出来ません.

Include files

<wx/utils.h>



wxLL



wxLongLong_t wxLL( number)

ネイティブの 64 ビット整数型を持つプラットフォーム用のマクロで, 64 ビットのコンパイル時定数を定義できるようにします:

    #ifdef wxLongLong_t
        wxLongLong_t ll = wxLL(0x1234567890abcdef);
    #endif

Include files

<wx/longlong.h>

See also

wxULL, wxLongLong



wxLongLongFmtSpec

This macro is defined to contain the printf() format specifier using which 64 bit integer numbers (i.e. those of type wxLongLong_t) can be printed. Example of using it:

    #ifdef wxLongLong_t
        wxLongLong_t ll = wxLL(0x1234567890abcdef);
        printf("Long long = %" wxLongLongFmtSpec "x\n", ll);
    #endif

See also

wxLL

Include files

<wx/longlong.h>



::wxNewId



long wxNewId(void)

プログラムの実行を通して一意であるような整数の識別子を生成します.

Include files

<wx/utils.h>



::wxRegisterId



void wxRegisterId(long id)

wxNewId の生成する id が id と衝突しないようにします.

Include files

<wx/utils.h>



::wxDDECleanUp



void wxDDECleanUp(void)

wxWidgets が終了する際に呼び出され, DDE システムの後始末を行います. この関数をアプリケーションから呼び出す必要はもうありません.

wxDDEInitialize も参照してください.

Include files

<wx/dde.h>



::wxDDEInitialize



void wxDDEInitialize(void)

DDE システムを初期化します.複数回呼び出しても支障はありません.

この関数をアプリケーションから呼び出す必要はもうありません: wxWidgets が必要に応じて呼び出すようになっています.

wxDDEServer, wxDDEClient, wxDDEConnection, wxDDECleanUp も参照してください.

Include files

<wx/dde.h>



::wxEnableTopLevelWindows



void wxEnableTopLevelWindow(bool enable = true)

全てのトップレベルウィンドウを有効/無効にします. ::wxSafeYield はこの関数を使っています.

Include files

<wx/utils.h>



::wxFindMenuItemId



int wxFindMenuItemId(wxFrame * frame, const wxString& menuString, const wxString& itemString)

指定したフレームのメニューバーから,該当するメニューアイテムの id を 見つけ出します.

Include files

<wx/utils.h>



::wxFindWindowByLabel



wxWindow * wxFindWindowByLabel(const wxString& label, wxWindow * parent=NULL)

NB: この関数は撤廃されています. wxWindow::FindWindowByLabel を使ってください.

ウィンドウのラベルを使ってウインドウを検索します.ウィンドウのタイプに より,ラベルはウィンドウタイトルやパネル要素のラベルになります. parent が NULL の場合,全てのトップレベルフレームと ダイアログボックスから検索を始めます; NULL でなければ,検索は指定した ウィンドウ階層下に限定されます. どちらの場合も,検索は再帰的に行われます.

Include files

<wx/utils.h>



::wxFindWindowByName



wxWindow * wxFindWindowByName(const wxString& name, wxWindow * parent=NULL)

NB: この関数は撤廃されています. wxWindow::FindWindowByName を使ってください.

(コンストラクタや Create を呼び出す際に指定した) ウィンドウの名前 を使ってウィンドウを検索します. parent が NULL の場合,全てのトップレベルフレームと ダイアログボックスから検索を始めます; NULL でなければ,検索は指定した ウィンドウ階層下に限定されます. どちらの場合も,検索は再帰的に行われます.

該当する名前のウィンドウが見つからなければ wxFindWindowByLabel を呼び出します.

Include files

<wx/utils.h>



::wxFindWindowAtPoint



wxWindow * wxFindWindowAtPoint(const wxPoint& pt)

スクリーン座標系上の指定マウス位置におけるもっとも深い (deep) ウィンドウを 検索して返します.ウィンドウが見つからなければ NULL を返します.



::wxFindWindowAtPointer



wxWindow * wxFindWindowAtPointer(wxPoint& pt)

現在のマウス位置における最も深いウィンドウと,スクリーン座標系で表した マウス位置を返します.



::wxGetActiveWindow



wxWindow * wxGetActiveWindow(void)

現在のアクティブなウィンドウを取得します (Windows のみ).

Include files

<wx/windows.h>



::wxGetDisplayName



wxString wxGetDisplayName(void)

X のみの関数です.現在のディスプレイ名を返します. wxSetDisplayName も参照してください.

Include files

<wx/utils.h>



::wxGetPowerType



wxPowerType wxGetPowerType(void)

電源のタイプをwxPOWER_SOCKET, wxPOWER_BATTERY , wxPOWER_UNKNOWN のいずれかで 返します.この関数が実装されていないプラットフォームでは,デフォルトで wxPOWER_UNKNOWN を返します.

Include files

<wx/utils.h>



::wxGetMousePosition



wxPoint wxGetMousePosition(void)

現在のマウス位置をスクリーン座標で返します.

Include files

<wx/utils.h>



::wxGetResource



bool wxGetResource(const wxString& section, const wxString& entry, const wxString& * value, const wxString& file = NULL)



bool wxGetResource(const wxString& section, const wxString& entry, float * value, const wxString& file = NULL)



bool wxGetResource(const wxString& section, const wxString& entry, long * value, const wxString& file = NULL)



bool wxGetResource(const wxString& section, const wxString& entry, int * value, const wxString& file = NULL)

リソースデータベース (WIN.INI や .Xdefaults など) からリソース値を 取り出します. file が NULL ならば, WIN.INI や .Xdefaults を 使います.それ以外の場合は指定ファイルを使います.

X では,アプリケーションクラス (wxApp::GetClassName) が定義されていた 場合,/usr/lib/X11/app-defaults/ の後ろにクラス名をつけた文字列を 使ってアプリケーションのデフォルト値を探し,リソースデータベースに 統合します.

結果を引数渡しにしているのはデフォルト値を指定しやすくするためです. リソースファイル中に該当する値が存在する場合,渡した引数に上書きします. これにより,特定のリソースが存在するかどうか別に調べる必要が なくなり,さまざまな型のデフォルト値用に関数をオーバロードできるように なります.

wxWriteResource, wxConfigBaseも参照してください.

Include files

<wx/utils.h>



::wxGetStockLabel



wxString wxGetStockLabel(wxWindowID id, bool withCodes = true, wxString accelerator = wxEmptyString)

Returns label that should be used for given id element.

Parameters

id
given id of the wxMenuItem, wxButton, wxToolBar tool, etc.

withCodes
if false then strip accelerator code from the label; usefull for getting labels without accelerator char code like for toolbar tooltip or under platforms without traditional keyboard like smartphones

accelerator
optional accelerator string automatically added to label; useful for building labels for wxMenuItem

Include files

<wx/stockitem.h>



::wxGetTopLevelParent



wxWindow * wxGetTopLevelParent(wxWindow *win)

指定したウィンドウの最初のトップレベルの親ウィンドウ,別の言い方を すれば指定したウィンドウの入っているフレームまたはダイアログを返します. 該当する親ウィンドウがなければ NULL を返します.

Include files

<wx/window.h>



::wxLoadUserResource



wxString wxLoadUserResource(const wxString& resourceName, const wxString& resourceType=``TEXT")

ユーザ定義の Windows リソースを文字列としてロードします. リソースが見つかれば,関数側で新たなキャラクタ型アレイを作成し, そこにデータをコピーして,そのポインタ返します.失敗すると NULL を 返します.

リソースは .rc 形式のファイルで,以下の構文を取らねばなりません:

myResource TEXT file.ext

ここで,file.ext は,リソースコンパイラが見つけることができるような ファイルです.

この関数は Windows でしか利用できません.

Include files

<wx/utils.h>



::wxPostDelete



void wxPostDelete(wxObject * object)

システムに,指定したオブジェクトをすべてのイベントを処理した後に 削除するよう命令します.環境によっては,フレームを delete オペレータ で直接削除すると, GUI システムが削除されたウィンドウにイベントを 送信し続ける場合があるため,この関数を使う必要があります.

撤廃されました: wxWindow::Close を使ってください.

Include files

<wx/utils.h>



::wxPostEvent



void wxPostEvent(wxEvtHandler * dest, wxEvent& event)

GUI アプリケーションでは,この関数は dest に指定した オブジェクトに wxEvtHandler::AddPendingEvent を使ってイベント event をポストします. 祖霊ギアの場合には, wxEvtHandler::ProcessEvent を使ってevent を即座にディスパッチします. 詳細 (や注意書き) は,それぞれの関数のドキュメントを参照してください.

Include files

<wx/app.h>



::wxSetDisplayName



void wxSetDisplayName(const wxString& displayName)

X でのみ利用できます.現在のディスプレイ名を設定します. ディスプレイ名とは, ``colonsay:0.0'' のような, X サーバホストと ディスプレイからなる名前です.この関数は,今後ウィンドウを作成する 際に使うディスプレイを指定します.アプリケーション内でディスプレイの 設定を変更すると,複数のディスプレイを利用できます.

wxGetDisplayName も参照してください.

Include files

<wx/utils.h>



::wxStripMenuCodes



wxString wxStripMenuCodes(const wxString& in)



void wxStripMenuCodes(char * in, char * out)

NB: この関数は撤廃されています. wxMenuItem::GetLabelFromText を使ってください.

in からメニューコードを剥ぎ取り,結果を out に書き込みます (最初の形式では新たな文字列を生成して返します).

メニューコードとは,& (次の文字をアンダーラインつきにして,Windowsや Motif におけるキーボードショートカットキーとしてマークする) や, $\backslash$t (Windows におけるタブ) です.

Include files

<wx/utils.h>



wxULL



wxLongLong_t wxULL( number)

このマクロはネイティブ 64 ビット整数型のプラットフォーム向けに 定義されているマクロで,符号なし 64 ビットコンパイル時定数を 定義できるようにします:

    #ifdef wxLongLong_t
        unsigned wxLongLong_t ll = wxULL(0x1234567890abcdef);
    #endif

Include files

<wx/longlong.h>

See also

wxLL, wxLongLong



wxVaCopy



void wxVaCopy(va_list argptrDst, va_list argptrSrc)

標準 C99 の va_copy をサポートするコンパイラでは va_copy そのものに,サポートしないコンパイラでは va_copy を置き換える内容になるマクロです. va_list オブジェクトの値は,他の関数に渡した後に変更 されてしまう可能性があるため,このマクロを使って保存せねばなりません.

va_start と同様,wxVaCopy には対応する va_end がなければなりません.



::wxWriteResource



bool wxWriteResource(const wxString& section, const wxString& entry, const wxString& value, const wxString& file = NULL)



bool wxWriteResource(const wxString& section, const wxString& entry, float value, const wxString& file = NULL)



bool wxWriteResource(const wxString& section, const wxString& entry, long value, const wxString& file = NULL)



bool wxWriteResource(const wxString& section, const wxString& entry, int value, const wxString& file = NULL)

リソースデータベース (WIN.INI や .Xdefaults など) にリソース値を 書き込みます. file が NULL ならば, WIN.INI や .Xdefaults を 使います.それ以外の場合は指定ファイルを使います.

X ではリソースデータベースはキャッシュされます. アプリケーション終了時に wxFlushResources が自動的に 呼び出され,それまでに更新されたリソースデータベースはファイルに 書き込まれます.

Unix では,.Xdefaults に対する書き込みは行儀の悪い操作とみなされるので 注意してください.一方, Windows における WIN.INI は格好の書き込み先と 考えられています.

wxGetResource, wxConfigBaseも参照してください.

Include files

<wx/utils.h>

ymasuda 平成17年11月19日