「Web出版サイト」ベータ公開

Q&A集[?]

当サイトでのご質問の受付は終了しました

すべてのコンテンツを読み込み専用としたため、回答欄からも投稿できません

Apache OpenOffice/LibreOfficeのご質問はそれぞれのフォーラムへご投稿ください

質問コーナー

サイト内検索

分類メニュー

関連サイト


本日:1
昨日:0
総数:2104
現在:3


basic プログラムでマウスポインターを移動させたい

ページOpenOffice.org FAQの登録ページ
投稿者Mt.Fuji
分類
edit/refer
優先順位
edit/refer
状態
edit/refer
カテゴリー
edit/refer
投稿日2009-08-21 15:56:06 (金)
OSWindows XP
依存するページ
バージョン
edit/refer

メッセージ

回答ページでは行末に「~」を付加する必要はありません

コマンドボタンをクリックして
イベント処理中はマウスポインターを
砂時計に変えて、処理終了時に矢印に戻すようにしたいのですが
マウスポインターがコマンドボタン上にある時は矢印のままで
マウスポインターをコマンドボタンから外すと砂時計になります。
そこで解決策として、マウスポインターをプログラムから移動さ
せることを思いつきましたが、方法がわかりません。
できるのかできないのかさえわかりませんので、
ご教授お願いいたします。

Sub cursorWait() (イベント処理開始前)
Dim oWindow As Object
Dim oPointer As Object
Dim oDoc As Object
oWindow = oDialog.getPeer()
oPointer = createUnoService("com.sun.star.awt.Pointer")
oPointer.SetType(2)
oWindow.setPointer(oPointer)
oDialog.execute()
End Sub

Sub cursorGo() (イベント処理終了後)
Dim oWindow As Object
Dim oPointer As Object
Dim oDoc As Object
oWindow = oDialog.getPeer()
oPointer = createUnoService("com.sun.star.awt.Pointer")
oPointer.SetType(0)
oWindow.setPointer(oPointer)
oDialog.execute()
End Sub


無題

ike@九州 (2009-08-21 17:57:21 (金))

Windowsの場合のみ、以下でコマンドボタン外に移動できます

Declare Function SetCursorPos Lib "user32" (_
ByVal x As Long, ByVal y As Long) As Long

Sub XXXX
Dim nX As Long
Dim nY As Long
 〜
 oComp = Stardesktop.CurrentComponent
 oConWindow = oComp.getCurrentController().getFrame().getContainerWindow()
 aPosWindow = oConWindow.getPosSize()
 aPosDialog = oDialog.getPosSize()
 aPosCtr = oDialog.getControl("CommandButton1").getPosSize()
 nX =  aPosCtr.X + aPosDialog.X + aPosWindow.X
 nY =  aPosCtr.Y + aPosDialog.Y + aPosWindow.Y
 Call SetCursorPos(nX,nY - 適等な数値))
〜
End Sub


追記 以下の使用がもしかすると向いてるかもしれませんね
http://hermione.s41.xrea.com/pukiwiki/index.php?OOoBasic%2FDialog%2FExample13

完璧に動きました。

Mt.Fuji (2009-08-24 08:06:34 (月))

ike@九州様
ご教授いただいたコードで完璧に動きました。
ありがとうございました。

完了にします

M.Kamataki (2009-08-24 11:11:25 (月))

たぶん誤操作だと思いますが、Mt.Fujiさんのコメントが消えましたので、復活させておきました。

コメントありがとうございます。

Now Processingダイアログを使いたい

Mt.Fuji (2009-08-27 11:26:53 (木))

Calcのマクロでプロセス処理中に『Now processingダイアログ』を表示する
方法を教えてください、お願いします。

お名前:
題名: