Gadget ›› ListBoxGadget
ListBoxGadget
構文
Windows の場合:
ListBoxGadget( gadget , x , y , Width , Height ,[Parametr=LBS_SORT Or WS_VSCROLL Or WS_HSCROLL Or LBS_WANTKEYBOARDINPUT Or LBS_NOTIFY],[Parametr2=0] )
Function ListBoxGadget(ByVal gadget As long, ByVal x As Long, ByVal y As Long, ByVal w As Long, ByVal h As Long, ByVal iStyle As Long=LBS_SORT Or WS_VSCROLL Or WS_HSCROLL Or LBS_WANTKEYBOARDINPUT Or LBS_NOTIFY, ByVal iStyle2 As Long=0) As HWND
Linux の場合:
Function ListBoxGadget( iGadget as Long , x as Long, y as long, w as Long, h as long , iStyle as Long = 0 , iStyle2 as long = 0 ) as Hwnd
説明
ガジェットには、選択する項目のリストが含まれています。
ガジェットの色を設定する関数 SetGadgetColor
ガジェットの色を取得する関数 GetGadgetColor
ガジェットのフォントを設定ずる関数 SetGadgetFont
オプション
gadget - ガジェット番号(ゼロより大きい任意の自然数、1、2、3、4など)
x , y , Width , Height - ガジェットの位置と寸法
Parametr - パラメータ(Windowsの場合は下記参照)
Linux LBS_SORTの場合、LBS_EXTENDEDSEL
Parametr2 - パラメータ(Windowsの場合は下記参照)
Linuxの場合パラメータは使用されません
プラットホーム
Windows , Linux
例:
#Include "window9.bi"
Var hwnd=OpenWindow("",10,10,200,200)
ListBoxGadget(1,10,10,100,100)
AddListBoxItem(1,"1 String")
AddListBoxItem(1,"2 String")
Do
Var event=WaitEvent
Select Case event
Case EventClose
End
End Select
Loop
Parametr(iStyle):
- 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を持っているので、ユーザーはグループからグループに移動することができます。
その後、ユーザーは矢印キーを使用して、コントロールの次のグループの、コントロールの1つのグループから、キーボードフォーカスに移すことができます。
- WS_HSCROLL - 水平スクロールバーを持つウィンドウを作成します。
- WS_ICONIC - 最初に最小化されているウィンドウを作成します。 WS_MINIMIZEと同じスタイル。
- WS_MAXIMIZE - 最初に展開されているウィンドウを作成します。
- WS_MAXIMIZEBOX - 最大化ボタンを持つウィンドウを作成します。
スタイル WS_EX_CONTEXTHELP と組み合わせることはできません。
さらに、スタイルが WS_SYSMENU を定義する必要があります。
- WS_MINIMIZE - 最初に最小化されているウィンドウを作成します。 WS_ICONICと同じスタイル。
- WS_MINIMIZEBOX - 最小化ボタンを持つウィンドウを作成します。
スタイル WS_EX_CONTEXTHELP と組み合わせることはできません。
さらに、スタイルが WS_SYSMENU を定義する必要があります。
- WS_OVERLAPPED - オーバーラップウィンドウを作成します。
オーバーラップウィンドウはタイトルバーや境界線を持っています。
WS_TILEDと同じスタイル。
- WS_OVERLAPPEDWINDOW - スタイル WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX および WS_MAXIMIZEBOX とともに、オーバーラップウィンドウを作成します。
スタイル WS_TILEDWINDOW と同じです。
- WS_POPUP - ポップアップウィンドウを作成します。
このスタイルは、WS_CHILDスタイルを使用することはできません。
- 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 と同じです。
- WS_VISIBLE - 初期状態で表示されるウィンドウを作成します。
- WS_VSCROLL - 垂直スクロールバーを持つウィンドウを作成します。
- LBS_DISABLENOSCROLL - フィールドがスクロールするほど項目を持っていないときに、リストボックスを持つウィンドウに、ロックされた垂直スクロールバーを示します。
このスタイルを指定しない場合は、リストのウィンドウに十分な項目が含まれていない場合、スクロールバーは表示されません。
- LBS_EXTENDEDSEL - 複数の項目を、Shiftキーとマウス、または特殊なキーの組み合わせを使用して、選択できます。
- LBS_HASSTRINGS - ウィンドウが、文字列で構成される項目のリストを含むことを、指定します。
ウインドウが、メモリアドレス行のリストを持つので、アプリケーションが別の要素にテキストを復元するのに、メッセージLB_GETTEXTを使用できます。
デフォルトでは、所有者によって提供されたリストを持つコンボボックスを除いて、すべてのウィンドウは、このスタイルを持っています。
スタイルの有無にかかわらず、リストの所有者によって提供されたウィンドウを作成することができます。
- LBS_MULTICOLUMN - 水平方向にスクロールする複数列のコンボボックスを定義します。
LB_SETCOLUMNWIDTH は、列の幅を設定します。
- LBS_MULTIPLESEL - リストウィンドウ内の文字列をアクティブにするために、ユーザーが、シングルまたはダブルクリックするたびに、文字の順序の選択を、有効または無効にします。
ユーザーは、任意の行数を選択することができます。
- LBS_NODATA - コンボボックスで、"データ無し" を定義しています。
このスタイルは、コンボボックス内のアイテム数が千を超えることができたときに定義されています。
"失われたデータ"のリストを含むウィンドウは、LBS_OWNERDRAWFIXED スタイルでなければなりません。しかし、これは、シートまたは LBS_SORT の LBS_HASSTRINGS を持つべきではありません。
"失われたデータ"のリストを含むウィンドウは、アイテムの文字列やビットマップデータが含まれていないことを除いて、所有者によって提供されたリストを含むウィンドウに似ています。
コマンド "挿入"、"削除"、"追加" 項目は、常に送信されるデータの任意の要素を無視して、ウィンドウ内で文字列を検索するための要求は、常に失敗します。
項目を描画する必要があるときに、Windowsは、所有者 WM_DRAWITEM ウィンドウにメッセージを送信します。
メッセージ WM_DRAWITEM で渡された ElementID(itemID)構造体のメンバ DRAWITEMSTRUCT は、描画する要素の行番号を指定します。
"失われたデータ"のリストボックスは、メッセージ WM_DELETEITEM を送信しません。
- LBS_NOINTEGRALHEIGHT - リストを持つウィンドウのサイズは、コンボボックスを作成したときに、アプリケーションプログラムで指定されたサイズに相当することを、指定します。
通常、Windowsでは、リストを含むウィンドウの値を設定します。部分的な項目を表示しないようにするためです。
- LBS_NOREDRAW - リストを持つウィンドウの種類が、変更が行われても変わらないように指定します。
メッセージ WM_SETREDRAW を送信することにより、このスタイルをいつでも変更できます。
- LBS_NOSEL - ウィンドウが、アイテムのリストを含んでいて、表示されているが選択されていないことができることを、指定します。
- LBS_NOTIFY - ユーザーが、リストボックスのエントリを、クリックするか、ダブルクリックするときは、いつでも、親ウィンドウに入って来るメッセージを通知します。
- LBS_OWNERDRAWFIXED - リストボックスの所有者が、リストボックスの内容を描画し、リストボックスの項目を同じ高さに表示する責任があることを、指定します。
ウィンドウがリストで作成されると、オーナーウィンドウは、メッセージ WM_MEASUREITEM を受け取ります。ウィンドウの外観が変更されると、メッセージ WM_DRAWITEM を提示します。
- LBS_OWNERDRAWVARIABLE - リストボックスの所有者が、リストボックスの内容を描画し、高さに現れる変数のリストを含むウィンドウの要素の責任があることを、指定します。
オーナーウィンドウは、リストボックスが作成されたときに、リストボックス内の各項目のメッセージ WM_MEASUREITEM を、ウィンドウの外観が変更されたとき、メッセージ WM_DRAWITEM を受け取ります。
- LBS_SORT - リストを含むウィンドウ内の行を、アルファベット順にソートします。
- LBS_STANDARD - リストを含むウィンドウ内の行を、アルファベット順にソートします。
ユーザーが、ラインをクリックまたはダブルクリックするたびに、親ウィンドウが入力メッセージを受信します。
リストを持つウィンドウは、すべての側面に、フレームを持っています。
- LBS_USETABSTOPS - 文字列を描画するときに、テーブルの形で文字を認識し、開発するためのリストボックスを有効にします。
デフォルトでは、テーブルは、ダイアログボックスに32ユニットです。
ダイアログボックスの測定単位は、水平または垂直方向の距離です。
水平ダイアログ単位は、現在のダイアログボックスのユニット・サイズの四分の一です。
Windowsは、現在のシステムフォントの高さと幅に基づいて、これらの単位を計算します。
この関数は、ピクセル単位で、現在の GetDialogBaseUnits 基本単位ダイアログボックスを返します。
- LBS_WANTKEYBOARDINPUT - リストボックスの所有者は、ユーザーが、リストウィンドウが入力フォーカスを持っているキーを押すと、いつでもメッセージ WM_VKEYTOITEM を受け取ることを指定します。
これは、キーボードから入力したときに、アプリケーションが特別な処理を実行できるようにします。
Parametr2(iStyle2):
参考:拡張ウィンドウ スタイル
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 - ユーザーが入力した情報を取得しない項目に使用されるフレームとして、三次元スタイルでウィンドウを作成します。
- 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