Das Deutsche Casio-Taschenrechner Forum wurde zum 31.12.2013 geschlossen und kann weiterhin als Nachschlagewerk verwendet werden.
Wer mehr erfahren möchte: Ein sehr guter Beitrag von Elias

in die Statusleiste schreiben

Hilfe beim Programmieren mit dem Prizm SDK.

in die Statusleiste schreiben

Beitragvon Paul94 » So 3. Apr 2011, 16:50

Hi!

Ich habe versucht mit PrintXY in die Statusleiste zu schreiben. Der Text wurde allerdings nicht angezeigt. Gibt es da i-welche anderen Funktionen?

Paul
Paul94
 
Beiträge: 219
Registriert: Do 14. Mai 2009, 06:50
Taschenrechner: FX-9860G (OS 2.00.0200)
FX-CG 20

Re: in die Statusleiste schreiben

Beitragvon SimonLothar » So 3. Apr 2011, 17:10

Paul94 hat geschrieben:Ich habe versucht mit PrintXY in die Statusleiste zu schreiben. Der Text wurde allerdings nicht angezeigt. Gibt es da i-welche anderen Funktionen?
Mit Sicherheit gibt es da welche. Hatte in der letzten Zeit mit dem GUI des miniSDK zutun. Jetzt mache ich wieder weiter mit der Analyse und hoffe, die Statuszeilenfunktionen einkreisen zu können.

EDIT: sieht so aus, als würde in die Statuszeile nur hineingezeichnet!
SimonLothar
 
Beiträge: 228
Registriert: Mi 27. Mai 2009, 10:51
Taschenrechner: fx-9860G, fx-9860G slim, fx-9860G SD, fx-9860GII SD, fx-9750GII, fx-7400GII, fx-CG20, fx-9860GII-2 SD, fx-9750GII-2, fx-7400GII-2, fx-CP330+, fx-CP400

Re: in die Statusleiste schreiben

Beitragvon cfxm » So 3. Apr 2011, 18:41

EDIT: sieht so aus, als würde in die Statuszeile nur hineingezeichnet!

Im Programmmenü wird dort der Programmname angezeigt - denke nicht, dass der als Bitmap vorliegt.
cfxm
 
Beiträge: 739
Registriert: Mi 1. Apr 2009, 19:39

Re: in die Statusleiste schreiben

Beitragvon SimonLothar » So 17. Apr 2011, 10:46

cfxm hat geschrieben:
EDIT: sieht so aus, als würde in die Statuszeile nur hineingezeichnet!

Im Programmmenü wird dort der Programmname angezeigt - denke nicht, dass der als Bitmap vorliegt.
Da hast Du recht!

Der entsprechende Call ist:

syscall 0x023C : void PrintMini( int*x, int*y, unsigned char*MB_string, int mode_flags, P5 int, P6 int, int color, int back_color, P9 int, P10 int );
Draws a MB-string using mini-glyphs.
x: pointer to x-position in pixel
y: pointer to y-position in pixel (modified by mode_flags, see below)
MB_string: string to draw, supports multi-bytes
mode_flags:
0x40: allows to draw into the status-area; if this bit is not set, the y-position is automatically incremented by 24.
0x04: inverts color and back_color (if mode_flag 0x02 is set).
0x02: do not use back_color.
color: color used to draw the mini-glyph
back_color: color used to draw the string's background (depends on mode_flags, see above)
The remaining arguments are not unravelled, yet. Though, P5, P6 and P10 should be set to 0. P9 has to be set to 1!
SimonLothar
 
Beiträge: 228
Registriert: Mi 27. Mai 2009, 10:51
Taschenrechner: fx-9860G, fx-9860G slim, fx-9860G SD, fx-9860GII SD, fx-9750GII, fx-7400GII, fx-CG20, fx-9860GII-2 SD, fx-9750GII-2, fx-7400GII-2, fx-CP330+, fx-CP400

Re: in die Statusleiste schreiben

Beitragvon cfxm » Mo 13. Jun 2011, 14:06

Gibt es auch eine Möglichkeit in den Displayrand zu schreiben?
Siehe: Testmenü / [2] / [A]
cfxm
 
Beiträge: 739
Registriert: Mi 1. Apr 2009, 19:39

Re: in die Statusleiste schreiben

Beitragvon SimonLothar » Mi 15. Jun 2011, 17:44

cfxm hat geschrieben:Gibt es auch eine Möglichkeit in den Displayrand zu schreiben?
Siehe: Testmenü / [2] / [A]

Wenn man "Frame" auswählt, wird folgendes gemacht:

Code: Alles auswählen
i = Syscall1816( Syscall02A7(), 0x4000 );
if ( i != -1 ){
  Syscall02A4( 1, i );
  Syscall02A9( i );
}

"unsigned char Syscall02A7( void );" gibt den aktuellen Farbindex des Rahmens zurück.
"unsigned char Syscall1816( int, int );" ist der Farbauswahldialog und gibt einen der 8-Farb-Indizes zurück (0=schwarz; 1=blau usw.) oder -1 bei EXIT. Der erste Parameter ist der Farbindex, der bei Dialogstart selektiert wird.
"void Syscall02A4( int, int );" merkt sich den aktuellen Farbindex des Rahmens im Byte 0xFD8014A5 (im IL-Memory).
"void Syscall02A9( int );" setzt dann endlich die Rahmenfarbe.

Die FKey-Icons werden von dann ab aber blau dargestellt.
SimonLothar
 
Beiträge: 228
Registriert: Mi 27. Mai 2009, 10:51
Taschenrechner: fx-9860G, fx-9860G slim, fx-9860G SD, fx-9860GII SD, fx-9750GII, fx-7400GII, fx-CG20, fx-9860GII-2 SD, fx-9750GII-2, fx-7400GII-2, fx-CP330+, fx-CP400

Re: in die Statusleiste schreiben

Beitragvon SimonLothar » Mi 15. Jun 2011, 18:59

Mit "Syscall02A8( unsigned short color )" kann man den Rahmen direkt mit einer 16-bit-Farbe malen.
"Syscall02AA( int x1, int y1, int x2, int y2, unsigned short color );" kann überall direkt ein farbiges Rechteck zeichnen.
x: 0..398
y: 0..224
SimonLothar
 
Beiträge: 228
Registriert: Mi 27. Mai 2009, 10:51
Taschenrechner: fx-9860G, fx-9860G slim, fx-9860G SD, fx-9860GII SD, fx-9750GII, fx-7400GII, fx-CG20, fx-9860GII-2 SD, fx-9750GII-2, fx-7400GII-2, fx-CP330+, fx-CP400

Re: in die Statusleiste schreiben

Beitragvon cfxm » Do 16. Jun 2011, 09:43

Nur die Farbe ändern ist aber auch nicht so prickelnd.
Ich dachte eher an eine Art Vollbildmodus - also ohne Rand und ohne Statuszeile.
cfxm
 
Beiträge: 739
Registriert: Mi 1. Apr 2009, 19:39


Zurück zu Prizm SDK (Alle fx-CG Modelle)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast