Window ›› OpenWindow
OpenWindow
構文
OpenWindow ( name, x, y, Width, height, [ style=WS_OVERLAPPEDWINDOW or WS_VISIBLE],[style2=0] )
Function OpenWindow(ByRef sName As String, ByVal x As Integer, ByVal y As Integer, ByVal w As Integer, ByVal h As Integer, ByVal Style As Integer=WS_OVERLAPPEDWINDOW or WS_VISIBLE, ByVal ExStyle As Integer=0, ByVal User_data_Sub as any ptr = 0) As HWND
内容
ウィンドウを作成するために使います。
ウィンドウを画面の中央に開きたいときは CenterWindow を使います。
Linux でスタイル WS_HSCROLL、WS_VSCROLL を指定すると、自動スクロールが発生します(追加のコードは必要ありません)。
Windows では、スタイ ルWS_HSCROLL、WS_VSCROLL はスクロールバーのみを作成しますが、イベント処理はプログラマーが行う必要があります。
Windowsでスクロールバーを操作する方法の例は、ScrollBarGadget を参照下さい(例4)。
ウィンドウを閉じるときには、OpenWindow の戻り値 HWND を指定して Close_Window を使います。
オプション
sName - タイトルバーに表示する文字列
x,y,w,h - 位置と寸法
Style - 下記のスタイルを指定できます。
プラットホーム
Windows , Linux
例:
#Include "window9.bi"
Var hwnd=OpenWindow("Hello",10,10,100,100)
Var event=0
Do
event=WaitEvent()
If Event=EventClose Then End
Loop
スタイルのパラメーター(デフォルトは、WS_OVERLAPPEDWINDOW または WS_VISIBLE)
オプションは次のとおりです:
Linux と Windows:
- WS_MAXIMIZE - 最初に最大化されているウィンドウを作成します。
- WS_MINIMIZE - 最初に最小化されているウィンドウを作成します。 WS_ICONICと同じスタイル。
- WS_OVERLAPPEDWINDOW - スタイル WS_OVERLAPPED、WS_CAPTION、WS_SYSMENU、WS_THICKFRAME、WS_MINIMIZEBOX と WS_MAXIMIZEBOX のオーバーラップウィンドウを作成します。
スタイル WS_TILEDWINDOW と同じ。
- WS_POPUP - ポップアップウィンドウを作成します。
このスタイルは、WS_CHILDスタイルと一緒に使用することはできません。
- WS_VISIBLE - 最初に表示されるウィンドウを作成します。
- WS_HSCROLL - 水平スクロールバーを持つウィンドウを作成します。
- WS_VSCROLL - 垂直スクロールバーを持つウィンドウを作成します。
- WS_TABSTOPENABLE -
ガジェットTab、Shift + Tab、Ctrl+Tabキー のフォーカスを切り替えます 。
Linux では、このオプションは常に有効です。
Windows では、window9.bi ファイルで、TabStop の切り替え動作を変更できます。
行 '#define w9TabStopSortByGadget のコメントを外すと、ガジェット番号でフォーカスが切り替えられます。
この行がコメントアウトされている場合、上 -> 右 -> 下 の座標で切り替わります。
w9TabStopSortByGadget マクロを使う場合は、ライブラリをソースファイルから再構築する必要があります。
Windows のみ:
- WS_BORDER - 細い枠線を持つウィンドウを作成します。
- WS_CAPTION - タイトルバーを持つウィンドウ(WS_BORDERスタイルを含む)を作成します。
- WS_CHILD - 子ウィンドウを作成します。 このスタイルは、WS_POPUP スタイルで使うことはできません。
- WS_CHILDWINDOW - スタイル WS_CHILD と同じ。
- WS_CLIPCHILDREN - 描画が親ウィンドウ内で発生したときに、子ウィンドウが占める領域を除外します。
親ウィンドウを作成するときには、このスタイルが使用されます。
- WS_CLIPSIBLINGS - 単一の子ウィンドウが、WM_PAINT メッセージを受信したときに、スタイル WS_CLIPSIBLINGS は、変更したい子ウィンドウの他のすべての重複する子ウィンドウを修正しています。つまり、互いと比較して子ウィンドウを確保します。
WS_CLIPSIBLINGS スタイルが定められないならば、そして、子ウィンドウは重なって定義されていない場合、子ウィンドウの作業領域内に描画するときには、作業領域の隣接する子ウィンドウの内側に表示される可能性があります。
- WS_DISABLED - 最初は無効になっているウィンドウを作成します。
非表示のウィンドウは、ユーザーが入力した情報を受け取ることができません。
- WS_DLGFRAME - 通常はダイアログボックスで使用される境界線スタイルを持つウィンドウを作成します。
このスタイルを持つウィンドウは、タイトルバーを持つことができません。
- WS_GROUP - コントロールグループの最初のコントロールを指定します。
グループには、最大WS_GROUPスタイルを持つ次のコントロールには、この最初のコントロールと、後に定義されたすべてのコントロールで構成されています。
各グループの最初のコントロールは、通常、WS_TABSTOPスタイルを持つ、ユーザがグループからグループへ移動することができます。
その後、ユーザーは矢印キーを使用して、コントロールの次のグループへのコントロールのいずれかのセットからキーボードフォーカスを移すことができます。
- WS_ICONIC - 最初は最小化されているウィンドウを作成します。 WS_MINIMIZEと同じスタイル。
- WS_MAXIMIZEBOX - 最大化ボタンを持つウィンドウを作成します。
WS_EX_CONTEXTHELPスタイルと組み合わせることはできません。
また、スタイル WS_SYSMENU を定義することができます。
- WS_MINIMIZEBOX - 最小化ボタンを持つウィンドウを作成します。
WS_EX_CONTEXTHELPスタイルと組み合わせることはできません。
また、スタイルWS_SYSMENU を定義することができます。
- WS_OVERLAPPED - オーバーラップウィンドウを作成します。
オーバーラップウィンドウはタイトルバーと境界を接しています。
WS_TILED と同じスタイル。
- WS_POPUPWINDOW - スタイルWS_BORDER、WS_POPUP と WS_SYSMENU を使用して、ポップアップウィンドウを作成します。
WS_CAPTION や WS_POPUPWINDOW スタイルは、メニュー画面(ウィンドウ)が表示されるように組み合わせる必要があります。
- WS_SIZEBOX - ウィンドウ枠のサイズが設定されたウィンドウを作成します。
スタイル WS_THICKFRAME と同じもの。
- WS_SYSMENU - タイトルバーにメニュー画面(ウィンドウメニュー)を持つウィンドウを作成します。
また、スタイル WS_CAPTION を定義することができます。
- WS_TABSTOP - ユーザーが、Tabキーを押したときに、キーボードフォーカスを受け取ることができるコントロールを定義します。
[Tab]キーを押すと、WS_TABSTOP スタイルを持つ次のコントロールにキーボードにフォーカスを移動します。
- WS_THICKFRAME - ウィンドウ枠のサイズが設定されたウィンドウを作成します。
スタイル WS_SIZEBOX と同じ。
- WS_TILED - オーバーラップウィンドウを作成します。
オーバーラップウィンドウはタイトルバーと境界を接しています。
WS_OVERLAPPED スタイルと同じ。
- WS_TILEDWINDOW - スタイル WS_OVERLAPPED、WS_CAPTION、WS_SYSMENU、WS_THICKFRAME、WS_MINIMIZEBOX、WS_MAXIMIZEBOX のオーバーラップウィンドウを作成します。
スタイル WS_OVERLAPPEDWINDOW と同じ。
パラメータ Style2:
参考:拡張ウィンドウ スタイル(Windowsのみ)
http://msdn.microsoft.com/ja-jp/library/61fe4bte(v=VS.80).aspx
- WS_EX_ACCEPTFILES - このスタイルで作成されたウィンドウは、"ドラッグ・アンド・ペースト"情報技術を使ってファイルを受け入れるように指定しますします。
- WS_EX_APPWINDOW - ウィンドウが最小化されタスクバーにトップレベルのウィンドウをアクティブにします。
- WS_EX_CLIENTEDGE - ウィンドウは、深い縁の境界を持つことを、指定します。
- WS_EX_CONTEXTHELP - タイトルバーに疑問符が含まれています。
ユーザーがクエスチョンマークをクリックすると、カーソルのポインタが、疑問符に変化します。
ユーザーが子ウィンドウをクリックした場合、子ウインドウはメッセージWM_HELPを受信します。
子ウィンドウは、コマンドHELP_WM_HELPを使用し、WinHelpを呼び出す必要があり、親のウィンドウプロシージャにメッセージを渡す必要があります。
アプリケーションは、通常、子ウィンドウのヘルプが含まれているヘルプのポップアップウィンドウを表示します。
WS_EX_CONTEXTHELPは、スタイル WS_MAXIMIZEBOX または WS_MINIMIZEBOX で使用することはできません。
- WS_EX_CONTROLPARENT - ユーザーが[Tab]キーを使用して、メインウィンドウの子ウィンドウ間を移動することができます。
- WS_EX_DLGMODALFRAME - 二重枠を持つウィンドウを作成します。
ウィンドウは、オプションで、パラメータ WS_CAPTION の dwStyle スタイルを定義したタイトルを作成することができます。
- WS_EX_LEFT - ウィンドウは、一般的な、 "左揃え"のプロパティを使用します。 これは、デフォルトです。
- WS_EX_LEFTSCROLLBAR - シェルの言語が、ヘブライ語、アラビア語や、他の読み上げ順序をサポートする言語の場合、垂直スクロールバーは、もしあれば、作業領域の左側に表示されます。
他の言語については、スタイルは無視され、エラーとして扱われません。
- WS_EX_LTRREADING - ウィンドウのテキストは、左-右への読み取り順序のプロパティを使用して表示されます。これは、デフォルトです。
- WS_EX_MDICHILD - MDI子ウィンドウを作成します。
- WS_EX_NOPARENTNOTIFY - このスタイルで作成された子ウィンドウが、作成または破棄されるときに、WM_PARENTNOTIFY の親ウィンドウにメッセージを送信しないことを指定します。
- WS_EX_OVERLAPPEDWINDOW - スタイル WS_EX_CLIENTEDGE と WS_EX_WINDOWEDGE をマージします。
- WS_EX_PALETTEWINDOW - スタイル WS_EX_WINDOWEDGE、WS_EX_TOOLWINDOW と WS_EX_TOPMOST をマージします。
- WS_EX_RIGHT - ウィンドウは、一般の "右揃え" プロパティを使用します。
これは、ウィンドウクラスに依存します。
このスタイルは、シェルの言語が、ヘブライ語、アラビア語や、他の読書のための手順のアライメントをサポートする言語の場合にのみ、有効です。
それ以外の場合、スタイルは無視され、エラーとして扱われません。
- WS_EX_RIGHTSCROLLBAR - 垂直スクロールバーは、もしあれば、ワークスペースの右側に表示されます。これは、デフォルトです。
- WS_EX_RTLREADING - シェルの言語が、ヘブライ語、アラビア語や、他の読むための別の順序をサポートする言語の場合に、右-左読みの順序のプロパティを使って、ディスプレイにテキストを配置します。
他の言語については、スタイルは無視され、エラーとして扱われません。
- WS_EX_STATICEDGE - 3次元スタイルボックスを持つウィンドウを作成します。
ユーザーが入力した情報を取得しない項目に使います。
- WS_EX_TOOLWINDOW - ウィンドウをフローティングツールバーとして使用されているツールボックスを作成します。
ツールウィンドウは通常のタイトルバーより短いタイトルバーを持っており、ウィンドウタイトルは小さいフォントを使用して表示されます。
ツールウィンドウは、タスクバーに現れません。ユーザが、Alt + Tabキーを押すと、ダイアログボックスが表示されます。
- WS_EX_TOPMOST - このスタイルで作成されたウィンドウは、ウィンドウが非アクティブになったときでも、すべての非最上位ウィンドウの上に配置されていて、それらの上に滞在することを指定します。
このスタイルを追加または削除するには、SetWindowPos を使います。
- WS_EX_TRANSPARENT - このスタイルで作成されたウィンドウは、透明であることを指定します。
つまり、窓の外に任意のウィンドウは、それに影を落としません。
このスタイルで作成されたウィンドウは、そのウィンドウの下にある兄弟ウィンドウがすべて更新された後にだけ、WM_PAINT メッセージを受け取ります。
- WS_EX_WINDOWEDGE - ウィンドウが、隆起した端の境界を持つことを指定します。
http://mneniya.ucoz.ru/
ロシア語オリジナル:https://users.freebasic-portal.de/freebasicru/window9lib/window9.html