Gadget ›› StringGadget
StringGadget
構文
ID= StringGadget(Number, x , y , Width , Height , [String=""] , [Style=0] , [Style2=0])
Function StringGadget(ByVal gadget As long, ByVal x As Long, ByVal y As Long, ByVal w As Long, ByVal h As Long, ByRef text As String="", ByVal Style As Long=0, ByVal ExStyle As Long=0) As HWND
説明
テキストガジェットで、ユーザーが変更することができる文字列
ガジェット内のテキストを設定する関数 SetGadgetText
ガジェットからテキストを取得する関数 GetGadgetText
ガジェットの色を設定する関数 SetGadgetColor
ガジェットの色を取得する関数 GetGadgetColor
ガジェットのフォントを設定する関数 SetGadgetFont
オプション
ID - ガジェット・ハンドル
Number- 識別子 (正の整数 1,2,3,4 など)
x,y,Width,Height- 位置とサイズ
string - ガジェット内の任意の文字列
Style - スタイルを選択します(下記参照)
Style2 - スタイルを選択します(下記参照)
プラットホーム
Windows , Linux
例:
#Include "window9.bi"
Dim As integer hwnd,event
hwnd=OpenWindow("1",300,10,500,500)
StringGadget(1,10,10,200,20,"ブーバーブー")
StringGadget(2,10,50,200,20,"96754",ES_RIGHT Or ES_NUMBER)
StringGadget(3,10,90,200,20,"ブーバーブー",ES_PASSWORD,WS_EX_CLIENTEDGE)
StringGadget(4,10,130,200,20,"ブーバーブー",ES_CENTER,WS_EX_DLGMODALFRAME )
Do
event=WaitEvent()
If event=EventClose Then End
Loop
Style:
Windows と Linux:
- ES_PASSWORD - 編集画面に入力した各文字に、アスタリスク(*)を表示します。
表示されている文字を置き換えるために、メッセージ EM_SETPASSWORDCHAR を使うことができます。
- ES_READONLY - 編集画面で、ユーザーはテキストを入力したり、編集することはできません。
- ES_LEFT - テキストを左揃えします。
- ES_RIGHT - 複数行のエディットボックス内のテキストを右揃えします。
- ES_CENTER - 複数行のテキストを編集するとき、テキストを中央に配置します。
Windows のみ:
- ES_AUTOHSCROLL - ユーザーが、行の末尾に文字を入力すると、自動的にテキストを、右へ10文字スクロールします。
ユーザーが Enter キーを押すと、コントロールはすべてのテキストをスクロールして、ゼロに設定します。
- ES_AUTOVSCROLL - ユーザが、最後の行で Enter キーを入力すると、自動的に、1ページ上に、テキストを移動します。
- ES_LOWERCASE - 編集項目で表示するとき、すべての文字を小文字に変換して表示します。
- ES_MULTILINE - 複数行のテキストの編集ウィンドウを表示します。
テキスト編集ボックスのデフォルト値は、一行表示です。
ダイアログ・ボックスで、複数行を編集するときは、既定のボタンをアクティブにするために、Enterキーを押してデフォルトの応答を得ます。
行で Enter キーを使うために、スタイル、ES_WANTRETURN を使います。
複数行のエディットボックスは、ダイアログボックスではなく、スタイルES_AUTOVSCROLLを定義するときは、編集ボックスが可能であり、ユーザーが Enter キーを押しただけ、多くの行を垂直方向にスクロールして表示します。
ES_AUTOVSCROLL を指定しないと、ユーザーが Enter キーを押すと、編集画面は、できるだけ多くの行を表示しようとして、ビープ音を発します。しかし、ウィンドウに複数の行を表示することはできません。
スタイル ES_AUTOHSCROLL を設定した場合、カーソルが、コントロールの右端上にくると、複数行のエディットボックスは、自動的に水平方向にスクロールします。
新しい行を開始するには、ユーザーが Enter キーを押す必要があります。
ES_AUTOHSCROLL、コントロールを指定しないと、必要なときに、単語を壊すことなく次の行に自動的に移動します。
ユーザーが Enter キーを押すと、新しい行は、その後形成されます。
ウィンドウ・サイズは、話が新しい行に改行する位置を、決定します。
ウィンドウ・サイズが変更されると、新しい行への改行位置を変更し、テキストが復元されます。
複数行のテキストの編集ウィンドウは、スクロールバーを持つことができます。
スクロールバーを持つ編集画面は、スクロールバーで、自分のメッセージを処理します。
前の段落で説明したように、編集ウィンドウは、スクロールバー無しで、テキストをスクロールして、親ウィンドウから送信されたスクロールメッセージを処理することに、注意して下さい。
- ES_NOHIDESEL - テキスト編集のデフォルトの動作を、無効にします。
コントロールが入力フォーカスを失うと、デフォルト振る舞いは、選択を隠します。コントロール・パネルが入力フォーカスを受け取ると、選択を逆にします。
ES_NOHIDESEL を指定すると、コントロールパネルにフォーカスを持っていない場合でも、選択されたテキストは、反転されます。
- ES_NUMBER - テキスト・ボックスに、数字のみ入力することができます。
- ES_OEMCONVERT - 編集画面に入力した文字列を形式変換します。
テキストは、Windows 文字セットから、OEM 文字セットに、その後再び、Windows 文字セットに変換されます。
これは、アプリケーション・プログラムが、Windows のボックスを OEMの中で文字に変換するために、CharToOem 関数を呼んだとき、文字変換が適切に行われることを保証します。
このスタイルは、ファイルの名前を含むテキストボックスを編集するときに、最も便利です。
- ES_UPPERCASE - 編集ウィンドウに入力されたすべての文字を、大文字に変換します。
- ES_WANTRETURN - ダイアログで複数行のテキスト編集フィールドに入力するときに、ユーザーが Enter キーを押したときに、サービスコード「キャリッジリターン」が挿入されたことを指定します。
このスタイルを指定しないと、Enter キーを押すと、ダイアログ・ボックスで、デフォルトのコマンドボタンをクリックしたのと同じ効果を得ます。
このスタイルは、単一行のエディットボックスでは、効果がありません。
Style2(Windowsのみ):
参考:拡張ウィンドウ スタイル
https://msdn.microsoft.com/ja-jp/library/61fe4bte.aspx
http://chokuto.ifdef.jp/urawaza/prm/extended_window_style.html
- 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