VisualBasicサンプル
下記のコードをはじめとしたVisualBasicのサンプルプログラムも付属していますので、それらを参考にすることで、スムーズに開発に取りかかっていただけます。例1)VoiCeコアモジュールの起動、各種設定、ファイルの読み込み
Private Sub Form_Load() Dim bRet As Boolean If gVoiCeObj Is Nothing = False Then Exit Sub End If On Error Resume Next Set gVoiCeObj = GetObject("", "VoiCeAPI.Document") If Err <> 0 Then Set gVoiCeObj = CreateObject("VoiCeAPI.Document") End If On Error GoTo 0 'VoiCeコアモジュール起動 Call gVoiCeObj.OGPAppShow 'VoiCeウィンドウの位置とサイズを設定 Call gVoiCeObj.OGPMoveWindow(0, 0, 800, 600) ' 最大化 bRet = gOGPObject.OGPShowWindow(SW_MAXIMIZE) 'ウィンドウタイトルセット Call gVoiCeObj.OGPSetTitle("サンプル") '背景色設定 Call gVoiCeObj.OGPSetBackColor(RGB(255, 255, 255)) '画面表示(カラー/モノクロ/原図のみモノクロ)設定 Call gVoiCeObj.OGPViewMono(1) 'DXFファイルの読み込み bRet = gVoiCeObj.OGPOpenDocument(App.Path & "¥sample.dxf") If bRet = True Then 'ビューのフィット Call gVoiCeObj.OGPViewFit() End If End Sub
例2)マークアップ、朱書き要素の作成
Private Sub btnCreateControl_Click() Dim bRet As Boolean If gVoiCeObj Is Nothing Then Exit Sub End If 'マークアップ/朱入れ作成モードへの切り替え bRet = gVoiCeObj.OGPChangeViewMode(VIEW_MODE_CONTROL) 'マークアップの種類設定 Call gVoiCeObj.OGPSetControlKind(CONTROL_MUCIRCLE) 'マークアップの色設定 Call gVoiCeObj.OGPSetControlColor(RGB(0, 0, 255)) 'マークアップの文字列設定 Call gVoiCeObj.OGPSetControlString("文字列") End Sub ↓ ---------------------------- 画面上でマークアップを作成 ---------------------------- ↓ ' 作成後に起こるイベントに対する処理 Private Sub VOICEEVENT_OGPCtrlCreate() '-------------------------- ' マークアップ作成後の処理 '-------------------------- End Sub
例3)要素の認識、要素属性の変更
Private Sub btnGroupSelect_Click() Dim bRet As Boolean If gVoiCeObj Is Nothing Then Exit Sub End If 'グループ選択モードへの切り替え bRet = gVoiCeObj.OGPChangeViewMode(VIEW_MODE_CLICK_GROUP) End Sub ↓ -------------------------------- 画面上でマークアップをクリック -------------------------------- ↓ 'クリック後に起こるイベントに対する処理 Private Sub VOICEEVENT_OGPSelectGroup() Dim bRet As Boolean If gVoiCeObj Is Nothing Then Exit Sub End If '選択されたオブジェクトを検索 bRet = gVoiCeObj.OGPBeginSelectObjectSearch '選択されたオブジェクトの文字列を変更 bRet = gVoiCeObj.OGPSetSelectCtrlString("文字列") '選択されたオブジェクトの色設定 bRet = gVoiCeObj.OGPSetSelectColor(RGB(0, 0, 255)) End Sub
例4)印刷設定、印刷の実行
Private Sub btnPrintDirect_Click() If gVoiCeObj Is Nothing Then Exit Sub End If '用紙方向の設定 Call gVoiCeObj.OGPSetPrintDirection(DMORIENT_LANDSCAPE) '用紙サイズの設定 Call gVoiCeObj.OGPSetPaperSize(DMPAPER_A4) '印刷マージンの設定 Call gVoiCeObj.OGPSetPrintMargin(10, 10, 10, 10) '印刷範囲の設定 Call gVoiCeObj.OGPSetPrintRange(1) '直接印刷の実行 Call gVoiCeObj.OGPPrint(1) End Sub Private Sub btnPrintSetting_Click() Dim intRet As Integer If gVoiCeObj Is Nothing Then Exit Sub End If '印刷設定ダイアログの表示 intRet = OGPPrintSetupW(CLng(Me.hwnd)) End Sub Private Sub btnPrint_Click() If gVoiCeObj Is Nothing Then Exit Sub End If '印刷ダイアログの表示 Call OGPPrintW(CLng(Me.hwnd)) End Sub