SAK 図書館

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

VB テクニック編17 - プリンタ一覧取得、プログレスバー、リストビュー

■SAK 関数利用規程

  ・テクニック編で紹介する関数は、私こと Y.SAK の開発関数である。
  ・著作権明示部分の改編は認めない。
  ・個人、企業がこれらの関数を使用したり、一部を使用して新たなシステムや
    プログラムを開発することは自由です。
  ・但し、これらの関数を一部でも使用しているソフトウェアをシェアウェア、
    その他有償プロダクトとして配布・販売するには、私の許可が必要です。
    (無償のフリーソフトウェアなら、自由に配布しても良い。)
  ・これらの関数を使用して発生した、いかなる形での損害も私こと Y.SAK は
    賠償しません。

■プリンタ一覧取得

  ・プリンタの一覧を得るには、次のようにする。
    DeviceName で「EPSON PM-2000C」のようなプリンタ名が、
    DriverName で「EPIJNL10」のようなドライバ名が参照できる。

  dim p as variant

  for each p in printers
    print p.DeviceName & " " & p.DriverName
  next

■プログレスバーコントロール

  ・プログレスバーコントロールは、次のように制御する。
    ProgressBar1.Min は最小値、ProgressBar1.Max は最大値である。
    ProgressBar1.Value で、現在の進捗状況をセットする。
    (処理状況、進行状況、インジケータ、プロセスバー)

  Dim i As Long
  Dim tmsv As Double

  ProgressBar1.Min = 0
  ProgressBar1.Max = 100

  For i = ProgressBar1.Min To ProgressBar1.Max
    ProgressBar1.Value = i
    Do Until Timer > tmsv
      DoEvents
    Loop
    tmsv = Timer
  Next

■リストビューコントロール

  ・リストビューコントロールへのデータ追加は、次のようにする。
    複数選択を可能にするには、ListView1.MultiSelect = True にする。
    ListView の ListItems の添字は 1 から始まるので注意する。

  ListView1.ListItems.Add , , "abc"
  ListView1.ListItems.Add , , "def"
  ListView1.ListItems.Add , , "ghi"
  ListView1.ListItems.Add , , "jkl"

  ・全データを選択するには、次のようにする。

  dim l as variant

  For Each l In ListView1.ListItems
    l.Selected = true
  Next
  ListView1.SetFocus

  ・全データを未選択するには、次のようにする。

  dim l as variant

  For Each l In ListView1.ListItems
    l.Selected = false
  Next
  ListView1.SetFocus

  ・先頭から連続で指定個数データをコードによって選択するには、次のように
    する。この例では、先頭から 2 個のデータが選択される。
    但し、既に選択されているデータはそのままである。

  dim i as long
  dim j as long

  j = 2
  if j > ListView1.ListItems.count then msgbox "添字オーバー"
  For i = 1 to j
    ListView1.ListItems(i).Selected = true
  Next
  ListView1.SetFocus

  ・先頭から連続で指定個数データだけをコードによって選択するには、次のよ
    うにする。この例では、先頭から 2 個のデータが選択される。
    既に選択されているデータは一旦未選択になる。

  dim l as variant
  dim i as long
  dim j as long

  For Each l In ListView1.ListItems
    l.Selected = false
  Next
  ListView1.SetFocus

  j = 2
  if j > ListView1.ListItems.count then msgbox "添字オーバー"
  For i = 1 to j
    ListView1.ListItems(i).Selected = true
  Next
  ListView1.SetFocus

  ・任意の複数データだけをコードによって選択するには、次のようにする。
    この例では、2 個と 4 個目のデータが選択される。
    既に選択されているデータは一旦未選択になる。

  dim l as variant
  dim i as long

  For Each l In ListView1.ListItems
    l.Selected = false
  Next
  ListView1.SetFocus

  i = 2
  if i > ListView1.ListItems.count then msgbox "添字オーバー"
  ListView1.ListItems(i).Selected = true
  i = 4
  if i > ListView1.ListItems.count then msgbox "添字オーバー"
  ListView1.ListItems(i).Selected = true
  ListView1.SetFocus

  ・選択データを処理するには、次のようにする。
    ListItems.index は、先頭を 1 とした添字である。
    ListItems.text は、データテキストである。

  dim l as variant

  cls
  For Each l In ListView1.ListItems
    if l.Selected then
      print l.index & " " & l.text & " 選択"
    else
      print l.index & " " & l.text & " 未選択"
    end if
  Next
  ListView1.SetFocus

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

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



Copyright (C) 1999-2024 Y.SAK