SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

VB ビジュアル編 (その八) その他関数 sendkeys、setfocus、IMEStatus

■MousePointer

  オブジェクトのマウスポインタを砂時計などに変更する。

'** マウスポインタ定数宣言
  Public Const CUR_WAIT = 11
  Public Const CUR_RESET = 0

'** マウスポインタ砂時計セット
  form1.MousePointer = CUR_WAIT

'** マウスポインタリセット
  form1.MousePointer = CUR_RESET

■Me

  現在のオブジェクトを示します。
  unload form1 とする代わりに unload Me とするとこができます。

■プリンタ設定ダイアログ(プリンタ制御、印刷ダイアログ)

'** メソッド
  CommonDialog1.ShowPrinter     'ダイアログ表示

'** プロパティ
  CommonDialog1.Orientation     '用紙方向
  CommonDialog1.Copies          '印刷部数
  CommonDialog1.FromPage        '印刷開始ページ
  CommonDialog1.ToPage          '印刷終了ページ
  CommonDialog1.PrinterDefault  'TRUE は、システム既定プリンタを変更

'** プリンタオブジェクトプロパティ
  printer.PaperSize = 9         'A4
  printer.Orientation = 2       'VbPRORLandscape
  printer.Copies = 2            '印刷部数
  printer.DeviceName = "EPSON PM-2000C"  'プリンタ名
  printer.DriverName = "EPIJNL10"        'プリンタドライバ名

'** その他プリンタ関係プロパティ
  object.PrintQuality = -3
                        |_ -1 VbPRPQDraft  簡易印刷 
                           -2 VbPRPQLow    低品位 
                           -3 VbPRPQMedium 中品位 
                           -4 VbPRPQHigh   高品位 

■コントロール配列

  テキストボックスなどは、コントロール配列にすると、フォーカス移動などの
  コードを添字で処理できる。
  コントロール配列の作成は、クリップボードのコピー & ペーストでやると簡
  単で良い。text1.index の index プロパティ に配列の添字がセットされる。
  イベントプロシジャには、Index As Integer の引数が追加される。
  この Index で、どのコントロールなのか判断してコードする。
  コントロールへのアクセスは、Text1(添字).text のようになる。

■ubound

  i = text1.ubound
      |_ 配列コントロール

  配列コントロールの最大添字を返します。
  次の例は、コントロール配列を関数内で制御します。

  CtlArrayTest Text1

Sub CtlArrayTest(ctl As Variant)

  Dim i As Integer
  Dim n As Integer

  n = ctl.UBound
  For i = 0 To n
    MsgBox ctl(i).Text
    ctl(i).Text = i
  Next

End Sub

■with

  オブジェクトに対する複数操作ができます。

  with label1
    .forecolor = &H000000FF&
    .caption = "処理エラーです。"
  end with

■appactivate

  指定メインウィンドウをアクティブ(最前面) にします。

  appactivate "電卓"

■doevents

  溜まっているイベントを処理します。

■sendkeys

  キーボードから入力されたかのように、現在の入力フォーカスのあるウィンド
  ウにデータを送ります。
  特殊キーを送る場合は、次のとおり。

  {ENTER}                    Enter キー
  {ESCAPE}, {ESC}            Esc キー
  {TAB}                      Tab キー
  {INSERT}                   Insert キー
  {DELETE}, {DEL}            Delete キー
  {BACKSPACE}, {BS}, {BKSP}  Back space キー
  {LEFT}                     ← キー
  {RIGHT}                    → キー
  {UP}                       ↑ キー
  {DOWN}                     ↓ キー
  {PGUP}                     Page Up キー
  {PGDN}                     Page Down キー
  {HOME}                     Home キー
  {END}                      End キー
  {PRTSC}                    Print Screen キー
  {SCROLLLOCK}               Scroll Lock キー
  {BREAK}                    Pause キー
  {NUMLOCK}                  Num Lock キー
  {CAPSLOCK}                 Caps Lock キー
  {F1} 〜 {F12}              F1 〜 F12 キー (ファンクションキー)

  +                          Shift キー
  ^                          Ctrl キー
  %                          Alt キー

  ** +, ^, % で、複数のキーを対象にする場合は、() でキーを囲む。
     +(AB) は、シフトキーを押しながらの AB になります。
  ** 画面コピーとしての {PRTSC} を sendkeys することはできない。
     Windows API などを使用して対処するしかない。
  ** 同じキーをリピートするには、{RIGHT 6} とすると → が 6 度押された
     動作になる。

■isnull

  データコントロールなどで、NULL 値がセットされているか調べます。
  NULL と "" は違いますので注意して下さい。
  (また、C の NULL とも意味が違います。)

■isnumeric

  こんなんあったんですね。数値かどうか調べられるらしいです。(^◇^;)

■printform

  フォームをハードコピーします。

■setfocus

  入力フォーカスを特定コントロールに移動します。
  テキストボックスに入力フォーカスを位置付けたり、
  コマンドボタンにフォーカスを位置付けできます。
  (指定フォーカスへの移動)

  text1.setfocus
  command1.setfocus

■ActiveControl

  フォーカスのあるコントロールを返す。

  form1.ActiveControl

■IMEStatus

  IME を設定、または、状態を取得する。

  0 vbIMEModeNoControl     制御しない(既定値)
  1 vbIMEModeOn            オン
  2 vbIMEModeOff           オフ
  3 vbIMEModeDisable       利用禁止
  4 vbIMEModeHiragana      全角ひらがな
  5 vbIMEModeKatakana      全角カタカナ
  6 vbIMEModeKatakanaHalf  半角カタカナ
  7 vbIMEModeAlphaFull     全角英数
  8 vbIMEModeAlpha         半角英数

■AutoRedraw、Redraw

  AutoRedraw = true は、フォームやピクチャボックスのイメージをメモリに
  保存して高速に描画復元します。但し、メモリを大量に消費します。
  既定値(デフォルト)の AutoRedraw = false は、C 言語などの WM_PAINT と
  同じように描画復元します。
  特別な事がない限り、既定値のまま使用するのが良いです。

  Redraw = true は、階層フレキシブルグリッドコントロール(MSHFlexGrid) の
  既定値(デフォルト)で、変更のある度、再描画します。
  Redraw = false にすると、MSHFlexGrid は変更があっても再描画されません。

■VB ビジュアル編資料
■VB 入門編資料
■VB 基礎編資料
■VB テクニック編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2017 Y.SAK