per Code den Mauszeiger verändern??

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

der.milco
***
Beiträge: 51
Registriert: Mo, 07.11.2005 16:44

per Code den Mauszeiger verändern??

Beitrag von der.milco »

Kann man mit einem Basic-Code den Mauszeiger in eine Sanduhr verwandeln und mit einem anderen wieder zurück?

Da mitunter die Ausführung einiger Subs ne Menge Zeit beanspruchen, man das aber nicht sieht, möchte ich für kurze Zeit den Mauszeiger verändern.

Geht das??
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Geht das??
Meiner Kenntnis nach nicht (zumindest in 1.1.x), wobei es sollte glaube ich gehen funktioniert aber praktisch nicht.

Verwende ersatzweise eine Fortschrittsanzeige in einem kleinen Dialog und lass diesen anzeigen.



Gruß
Stephan
der.milco
***
Beiträge: 51
Registriert: Mo, 07.11.2005 16:44

Beitrag von der.milco »

hmmm...

ja gute idee, aber jedes mal wenn ich einen dialog verwende, hält er den weiteren verlauf an, bis ich ihn schließe

Beispiel:

Code: Alles auswählen

 Sub X
...

msgbox "Bitte warten..."
Sub A
Sub B
Sub C
...
End Sub
Wenn ich die Sub X über eine Schaltfläche aufrufe, kommt die MsgBox. Die Subs A, B, C usw. werden aber solange nicht ausgeführt bis ich die MsgBox mit ESC oder OK beendet habe.

Mit welchem Code mache ich das richtig?
Und wie arbeitet man mit Fortschrittsbalken? Hab ich noch nie gemacht.
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

kommt die MsgBox
Ja, Sorry von Dialog war die Rede und nicht von einem Meldungsfenster (MsgBox = Messagebox = Meldungsfenster)
Mit welchem Code mache ich das richtig?
Und wie arbeitet man mit Fortschrittsbalken? Hab ich noch nie gemacht.
Einen Dialog erstellen, ein Fortschrittsteuerelement darauf tun und wenn:

Dialogname = Fortschriitt
Forschrittsteuerelementname = ProgressBar1

Dann solchen Code:

Code: Alles auswählen

...
DialogLibraries.loadLibrary("Standard")
oLib = DialogLibraries.getByName("Standard")
oLibDlg = oLib.getByName("Fortschritt")
oDialog = CreateUnoDialog(oLibDlg)

oDialog.setVisible( True )

oProgressBarModel = oDialog.Model.ProgressBar1
oProgressBarModel.ProgressValue = 0
oProgressBarModel.ProgressValueMax = groesse
oProgressBar = oDialog.getControl("ProgressBar1")
oProgressBar.setVisible( True )
...
'mache hier was mit Deinem Code
...
'aktualisiere periodisch die Fortschrittsanzeige:
oProgressBarModel.ProgressValue = x 'x ist neuer Wert
...
mehr wüßte ich jetzt nicht zu sagen.


Gruß
Stephan
der.milco
***
Beiträge: 51
Registriert: Mo, 07.11.2005 16:44

Beitrag von der.milco »

klasse, das sieht jetzt richtig gut aus

danke...
Antworten