create a new page, using OOobbs/81 as a template.
Front page
Search
掲示板
Reload
Help
Browse Log
掲示板の使い方
OOo 掲示板3
OOo 掲示板2
OOo 掲示板
掲示板
雑談掲示板
New
List of pages
Recent changes
Backup
簡単ヘルプ
整形ルール
Start:
** [[OOobbs/81]] [#ef3591c5]
-''サマリ'': プログレスバーを使いたい
-''環境'': Calc
-''状態'': 解決
-''投稿者'': [[hota]]
-''投稿日'': 2005-11-07 (月) 23:45:42
*** 質問 [#j3d963b8]
処理中の進行状況をprogressbarで表示しようと考えています.
以下のように作ってみましたが,閉じるボタンを押さないと
先に進まない状態です.
またprogressbarの処理について探していますがよくわかりませ...
progressbarを更新する方法はないでしょうか.
(CommandButton1はキャンセルボタンの予定.)
よろしくお願いします.
REM ***** BASIC *****
Sub test
Dim i As Long
Dim CountNo As Single
CountNo = 0
For i = 1 To 4
CountNo = i / 4 * 100
UpdateProgressBar1 CountNo
Next
End sub
Sub UpdateProgressBar1(CountNo As Single)
DialogLibraries.LoadLibrary( "Standard" )
oDialog1 = CreateUnoDialog( DialogLibraries.Standard.Dia...
oDialog1Model = oDialog1.Model
oCMD1Model = oDialog1Model.CommandButton1
oCMD1 = oDialog1.GetControl("CommandButton1")
oCMD2Model = oDialog1Model.ProgressBar1
oCMD2 = oDialog1.GetControl("ProgressBar1")
oCMD2Model.ProgressValueMax = 100
oCMD2Model.ProgressValueMin = 0
oCMD2Model.ProgressValue = CountNo
oDialog1.Execute()
End Sub
*** 回答 [#bd169cf2]
-ちょっと修正してます。眠い中投稿してしまった。。 -- [[ho...
-starsuite8のsdkをみたが,どうもlibraryga -- [[hota]] &ne...
-libraryが”standard”以外loadできないような... -- [[hot...
-河井です。久しくさわっておりませんでした。&br;御質問は、...
REM ***** BASIC *****
Public oDialog1 as Object
Public oCMD2 as Object
Public oCMD2Model as Object
Public oEventHandle as Object
Public bTaskCancel as Boolean
Sub test
DialogLibraries.LoadLibrary( "Standard" )
oDialog1 = CreateUnoDialog( DialogLibraries.GetByName...
'
' Dialog1にイベントの作成(XTopWindowListener)
oEventHandle = CreateUnoListener("OnDialog1_", "com.s...
' Dialog1に作成したイベントを割り当て
oDialog1.addTopWindowListener(oEventHandle)
'
oDialog1Model = oDialog1.Model
oCMD1Model = oDialog1Model.CommandButton1
oCMD1 = oDialog1.GetControl("CommandButton1")
oCMD2Model = oDialog1Model.ProgressBar1
oCMD2 = oDialog1.GetControl("ProgressBar1")
oCMD2Model.ProgressValueMax = 100
oCMD2Model.ProgressValueMin = 0
oCMD2Model.ProgressValue = 0
oDialog1.Execute()
'
' Dialog1のイベント割り当て解除
oDialog1.removeTopWindowListener(oEventHandle)
End Sub
Sub AnyTask()
Dim i As Long
Dim CountNo As Single
CountNo = 0
' 何らかの処理ループ
bTaskCancel = False
For i = 1 To 100
CountNo = i / 4 * 100
oCMD2Model.ProgressValue = CountNo
' ダイヤログが閉じたら処理を中断
if bTaskCancel then
msgbox "処理はキャンセルされました。"
Exit For
end if
Next
End Sub
'------ ここからイベントハンドラ ------
' Dialog1が開かれた時の処理
Private Sub OnDialog1_windowOpened(oEvent)
AnyTask()
oDialog1.endExecute()
End Sub
' Dialog1が閉じようとしている時の処理
Private Sub OnDialog1_windowClosing(oEvent)
End Sub
' Dialog1が閉じたときの処理
Private Sub OnDialog1_windowClosed(oEvent)
' 何らかの処理を中断させる
bTaskCancel = True
End Sub
' Dialog1が最小化されたときの処理
Private Sub OnDialog1_windowMinimized(oEvent)
End Sub
' Dialog1が元のサイズに戻されたときの処理
Private Sub OnDialog1_windowNormalized(oEvent)
End Sub
' Dialog1がアクティブになったときの処理
Private Sub OnDialog1_windowActivated(oEvent)
End Sub
' Dialog1が非アクティブになったときの処理
Private Sub OnDialog1_windowDeactivated(oEvent)
End Sub
' Dialog1が廃棄されるときの処理
Sub OnDialog1_disposing()
End Sub
>ダイヤログは独自のライブラリ名やダイヤログ名からロード出...
元のソースでダイヤログが閉じるまで処理が動かないのは、ダ...
ダイヤログを作成した時点でイベントを割り当てることで、ダ...
<
-河井です。昨日の上記の処理をOpenOffice.org2.0で実行した...
~>(CommandButton1はキャンセルボタンの予定.)&br;
''BasicIDE''上で''CommandButton1プロパティ''の''ボタンの...
REM ***** BASIC *****
Public oDialog1 as Object
Public oDialog1Model as Object 'hota追加
Public oCMD1Model as Object 'hota追加
Public oCMD1 as Object 'hota追加
Public oCMD2 as Object
Public oCMD2Model as Object
Public oEventHandle as Object
Public bTaskCancel as Boolean
Sub test
DialogLibraries.LoadLibrary( "Standard" )
oDialog1 = CreateUnoDialog( DialogLibraries.GetByNam...
oDialog1Model = oDialog1.Model
oCMD1Model = oDialog1Model.CommandButton1
oCMD1 = oDialog1.GetControl("CommandButton1")
'
' CommandButton1用イベントの作成(XActionListener)
oEventHandle = CreateUnoListener("OnBtn1_", "com.sun...
' CommandButton1に作成したイベントを割り当て
oCMD1.addActionListener(oEventHandle)
'
oCMD2Model = oDialog1Model.ProgressBar1
oCMD2 = oDialog1.GetControl("ProgressBar1")
oCMD2Model.ProgressValueMax = 10000
oCMD2Model.ProgressValueMin = 0
oCMD2Model.ProgressValue = 0
AnyTask()
'
' CommandButton1のイベント割り当て解除
oCMD1.removeActionListener(oEventHandle)
End Sub
Sub AnyTask()
Dim i As Long
Dim CountNo As Single
CountNo = 0
' 何らかの処理ループ
bTaskCancel = False
oDialog1.setVisible(True)
For i = 1 To 10000
' CountNo = i / 4 * 100
CountNo = i
oCMD2Model.ProgressValue = CountNo
' ダイヤログが閉じたら処理中断
if bTaskCancel then
msgbox "処理が中断!"
Exit For
end if
Next
oDialog1.setVisible(False)
End Sub
' ------ ここからイベントハンドラ -------
' キャンセルボタンが押された時の処理
Private Sub OnBtn1_actionPerformed(oEvent)
oDialog1.setVisible(False) ' ダイヤログを閉じる
bTaskCancel = True
End Sub
Sub OnBtn1_disposing()
End Sub
-''CommandButton1''にボタンが押された時のイベントを割り当...
-''Dialog1''は、''.execute()''を止めて''.setVisible()''で...
-何かのループ処理を確認しやすい様に多めに変更しておきまし...
1.1.xから2.xへの移行中はまだまだ色々と工夫が必要かもしれ...
-細かい部分まで解説付きでありがとうございます. -- [[hota...
-progressbar動作が見れて感動です. -- [[hota]] &new{2005-...
-実際に組み込んだ際にエラーになったので,Public宣言部分を...
*** 補足 [#t1014bf4]
-最初の解答で「''XTopWindowListenerをダイヤログに割り当て...
' Dialog1が開かれた時の処理
Private Sub OnDialog1_windowOpened(oEvent)
AnyTask()
' oDialog1.endExecute()
End Sub
どうやら、''XTopWindowListener''の''windowOpened''イベン...
|OpenOffice.orgのバージョン|''windowOpened''イベントの発...
|1.1.x|(ウィンドウ描画)-->(windowOpened)-->(windowActivat...
|2.x|(windowOpened)-->(windowActivated)-->(ウィンドウ描画...
|注記:|windowOpenedとwindowActivatedは同時発生なのかこの...
ダイヤログの''Visible''プロパティを使用して表示した場合も...
#comment
End:
** [[OOobbs/81]] [#ef3591c5]
-''サマリ'': プログレスバーを使いたい
-''環境'': Calc
-''状態'': 解決
-''投稿者'': [[hota]]
-''投稿日'': 2005-11-07 (月) 23:45:42
*** 質問 [#j3d963b8]
処理中の進行状況をprogressbarで表示しようと考えています.
以下のように作ってみましたが,閉じるボタンを押さないと
先に進まない状態です.
またprogressbarの処理について探していますがよくわかりませ...
progressbarを更新する方法はないでしょうか.
(CommandButton1はキャンセルボタンの予定.)
よろしくお願いします.
REM ***** BASIC *****
Sub test
Dim i As Long
Dim CountNo As Single
CountNo = 0
For i = 1 To 4
CountNo = i / 4 * 100
UpdateProgressBar1 CountNo
Next
End sub
Sub UpdateProgressBar1(CountNo As Single)
DialogLibraries.LoadLibrary( "Standard" )
oDialog1 = CreateUnoDialog( DialogLibraries.Standard.Dia...
oDialog1Model = oDialog1.Model
oCMD1Model = oDialog1Model.CommandButton1
oCMD1 = oDialog1.GetControl("CommandButton1")
oCMD2Model = oDialog1Model.ProgressBar1
oCMD2 = oDialog1.GetControl("ProgressBar1")
oCMD2Model.ProgressValueMax = 100
oCMD2Model.ProgressValueMin = 0
oCMD2Model.ProgressValue = CountNo
oDialog1.Execute()
End Sub
*** 回答 [#bd169cf2]
-ちょっと修正してます。眠い中投稿してしまった。。 -- [[ho...
-starsuite8のsdkをみたが,どうもlibraryga -- [[hota]] &ne...
-libraryが”standard”以外loadできないような... -- [[hot...
-河井です。久しくさわっておりませんでした。&br;御質問は、...
REM ***** BASIC *****
Public oDialog1 as Object
Public oCMD2 as Object
Public oCMD2Model as Object
Public oEventHandle as Object
Public bTaskCancel as Boolean
Sub test
DialogLibraries.LoadLibrary( "Standard" )
oDialog1 = CreateUnoDialog( DialogLibraries.GetByName...
'
' Dialog1にイベントの作成(XTopWindowListener)
oEventHandle = CreateUnoListener("OnDialog1_", "com.s...
' Dialog1に作成したイベントを割り当て
oDialog1.addTopWindowListener(oEventHandle)
'
oDialog1Model = oDialog1.Model
oCMD1Model = oDialog1Model.CommandButton1
oCMD1 = oDialog1.GetControl("CommandButton1")
oCMD2Model = oDialog1Model.ProgressBar1
oCMD2 = oDialog1.GetControl("ProgressBar1")
oCMD2Model.ProgressValueMax = 100
oCMD2Model.ProgressValueMin = 0
oCMD2Model.ProgressValue = 0
oDialog1.Execute()
'
' Dialog1のイベント割り当て解除
oDialog1.removeTopWindowListener(oEventHandle)
End Sub
Sub AnyTask()
Dim i As Long
Dim CountNo As Single
CountNo = 0
' 何らかの処理ループ
bTaskCancel = False
For i = 1 To 100
CountNo = i / 4 * 100
oCMD2Model.ProgressValue = CountNo
' ダイヤログが閉じたら処理を中断
if bTaskCancel then
msgbox "処理はキャンセルされました。"
Exit For
end if
Next
End Sub
'------ ここからイベントハンドラ ------
' Dialog1が開かれた時の処理
Private Sub OnDialog1_windowOpened(oEvent)
AnyTask()
oDialog1.endExecute()
End Sub
' Dialog1が閉じようとしている時の処理
Private Sub OnDialog1_windowClosing(oEvent)
End Sub
' Dialog1が閉じたときの処理
Private Sub OnDialog1_windowClosed(oEvent)
' 何らかの処理を中断させる
bTaskCancel = True
End Sub
' Dialog1が最小化されたときの処理
Private Sub OnDialog1_windowMinimized(oEvent)
End Sub
' Dialog1が元のサイズに戻されたときの処理
Private Sub OnDialog1_windowNormalized(oEvent)
End Sub
' Dialog1がアクティブになったときの処理
Private Sub OnDialog1_windowActivated(oEvent)
End Sub
' Dialog1が非アクティブになったときの処理
Private Sub OnDialog1_windowDeactivated(oEvent)
End Sub
' Dialog1が廃棄されるときの処理
Sub OnDialog1_disposing()
End Sub
>ダイヤログは独自のライブラリ名やダイヤログ名からロード出...
元のソースでダイヤログが閉じるまで処理が動かないのは、ダ...
ダイヤログを作成した時点でイベントを割り当てることで、ダ...
<
-河井です。昨日の上記の処理をOpenOffice.org2.0で実行した...
~>(CommandButton1はキャンセルボタンの予定.)&br;
''BasicIDE''上で''CommandButton1プロパティ''の''ボタンの...
REM ***** BASIC *****
Public oDialog1 as Object
Public oDialog1Model as Object 'hota追加
Public oCMD1Model as Object 'hota追加
Public oCMD1 as Object 'hota追加
Public oCMD2 as Object
Public oCMD2Model as Object
Public oEventHandle as Object
Public bTaskCancel as Boolean
Sub test
DialogLibraries.LoadLibrary( "Standard" )
oDialog1 = CreateUnoDialog( DialogLibraries.GetByNam...
oDialog1Model = oDialog1.Model
oCMD1Model = oDialog1Model.CommandButton1
oCMD1 = oDialog1.GetControl("CommandButton1")
'
' CommandButton1用イベントの作成(XActionListener)
oEventHandle = CreateUnoListener("OnBtn1_", "com.sun...
' CommandButton1に作成したイベントを割り当て
oCMD1.addActionListener(oEventHandle)
'
oCMD2Model = oDialog1Model.ProgressBar1
oCMD2 = oDialog1.GetControl("ProgressBar1")
oCMD2Model.ProgressValueMax = 10000
oCMD2Model.ProgressValueMin = 0
oCMD2Model.ProgressValue = 0
AnyTask()
'
' CommandButton1のイベント割り当て解除
oCMD1.removeActionListener(oEventHandle)
End Sub
Sub AnyTask()
Dim i As Long
Dim CountNo As Single
CountNo = 0
' 何らかの処理ループ
bTaskCancel = False
oDialog1.setVisible(True)
For i = 1 To 10000
' CountNo = i / 4 * 100
CountNo = i
oCMD2Model.ProgressValue = CountNo
' ダイヤログが閉じたら処理中断
if bTaskCancel then
msgbox "処理が中断!"
Exit For
end if
Next
oDialog1.setVisible(False)
End Sub
' ------ ここからイベントハンドラ -------
' キャンセルボタンが押された時の処理
Private Sub OnBtn1_actionPerformed(oEvent)
oDialog1.setVisible(False) ' ダイヤログを閉じる
bTaskCancel = True
End Sub
Sub OnBtn1_disposing()
End Sub
-''CommandButton1''にボタンが押された時のイベントを割り当...
-''Dialog1''は、''.execute()''を止めて''.setVisible()''で...
-何かのループ処理を確認しやすい様に多めに変更しておきまし...
1.1.xから2.xへの移行中はまだまだ色々と工夫が必要かもしれ...
-細かい部分まで解説付きでありがとうございます. -- [[hota...
-progressbar動作が見れて感動です. -- [[hota]] &new{2005-...
-実際に組み込んだ際にエラーになったので,Public宣言部分を...
*** 補足 [#t1014bf4]
-最初の解答で「''XTopWindowListenerをダイヤログに割り当て...
' Dialog1が開かれた時の処理
Private Sub OnDialog1_windowOpened(oEvent)
AnyTask()
' oDialog1.endExecute()
End Sub
どうやら、''XTopWindowListener''の''windowOpened''イベン...
|OpenOffice.orgのバージョン|''windowOpened''イベントの発...
|1.1.x|(ウィンドウ描画)-->(windowOpened)-->(windowActivat...
|2.x|(windowOpened)-->(windowActivated)-->(ウィンドウ描画...
|注記:|windowOpenedとwindowActivatedは同時発生なのかこの...
ダイヤログの''Visible''プロパティを使用して表示した場合も...
#comment
Page: