| |
|
|
Georg Teles | Anbei kurz ein Beispiel mit der MessageBoxExA & MessageBoxExW
Def MessageBoxExA(5)!"USER32","MessageBoxExA"
Def MessageBoxExW(5)!"USER32","MessageBoxExW"
' Parameter: 1: %hWnd - Eltern-Fenster / Übergeordnetes Fenster
' 2: lpText - Text - ! MessageBoxExA = ANSI
' 3: lpCaption - Überschrift - ! MessageBoxExW = WIDE
' 4: Type - = Art der MessageBox wie bei xProfan (s. Buttons, Icons, ...)
' 5: wLanguageId - wenn = 0 dann wird automatisch Systemsprache benutzt
Declare wert&,message#,caption#
' beachte, dass bei MessageBoxExW = doppelter Speicherplatz benötigt weil WIDE !
' im folgendem Fall würde für ANSI
' Dim message#,16
' Dim caption#,12
' ergeben und bei Wide der doppelte Speicher, also
' Dim message#,32
' Dim caption#,24
'
' es empfielt sich eventuell im Vorfeld die Variablen groß genug zu dimensionieren
'
Dim message#,256
Dim caption#,256
Clear wert&,message#,caption#
CLS
'------------------------------# ! MessageBoxExA = ANSI
String message#,0 = "Eine MessageBox"
String caption#,0 = "Überschrift"
wert& = MessageBoxExA(%HWnd,message#,caption#,2,0)
'------------------------------# ! MessageBoxExW = WIDE
'StringW message#,0 = "Eine MessageBox"
'StringW caption#,0 = "Überschrift"
'wert& = MessageBoxExW(%HWnd,message#,caption#,2,0)
Case wert& = 0:print "-"
Case wert& = 1:print "OK"
Case wert& = 2:print "Abbrechen (Calcel)"
Case wert& = 3:print "Abbrechen (Abort)"
Case wert& = 4:print "Wiederholen"
Case wert& = 5:print "Ignorieren"
Case wert& = 6:print "Ja"
Case wert& = 7:print "Nein"
WaitInput
DisPose message#
DisPose caption#
mit dieser Unit [...] lässt sich auch kyrillischer Text herzaubern
$U lat2cyr.pcu = l2cPCU.
Def MessageBoxExA(5)!"USER32","MessageBoxExA"
Def MessageBoxExW(5)!"USER32","MessageBoxExW"
' Parameter: 1: %hWnd - Eltern-Fenster / Übergeordnetes Fenster
' 2: lpText - Text - ! MessageBoxExA = ANSI
' 3: lpCaption - Überschrift - ! MessageBoxExW = WIDE
' 4: Type - = Art der MessageBox wie bei xProfan (s. Buttons, Icons, ...)
' 5: wLanguageId - wenn = 0 dann wird automatisch Systemsprache benutzt
Declare wert&,message#,caption#
' beachte, dass bei MessageBoxExW = doppelter Speicherplatz benötigt weil WIDE !
' im folgendem Fall würde für ANSI
' Dim message#,16
' Dim caption#,12
' ergeben und bei Wide der doppelte Speicher, also
' Dim message#,32
' Dim caption#,24
'
' es empfielt sich eventuell im Vorfeld die Variablen groß genug zu dimensionieren
'
Dim message#,256
Dim caption#,256
Clear wert&,message#,caption#
CLS
'------------------------------# ! MessageBoxExA = ANSI
'String message#,0 = "Eine MessageBox"
'String caption#,0 = "Überschrift"
'wert& = MessageBoxExA(%HWnd,message#,caption#,2,0)
'------------------------------# ! MessageBoxExW = WIDE
'StringW message#,0 = "Eine MessageBox"
'StringW caption#,0 = "Überschrift"
'wert& = MessageBoxExW(%HWnd,message#,caption#,2,0)
'------------------------------# ! lat2cyr.pcu
' bei Wide ginge es auch mit der CPU >lat2cyr.pcu< kyrillische Zeichen zu erzeugen
' dann aber String message#,0 oder Char message#,0 benutzen nicht StringW !
String message#,0 = l2cPCU.l2l("ein Gemischter Text - ")+l2cPCU.l2c("-Eto nebol-m-soj test <>|\q!§$%&/()=´'?^@")
String caption#,0 = l2cPCU.l2l("Überschrift - ")+l2cPCU.l2c("-Eto test")
wert& = MessageBoxExW(%HWnd,message#,caption#,2,0)
Case wert& = 0:print "-"
Case wert& = 1:print "OK"
Case wert& = 2:print "Abbrechen (Calcel)"
Case wert& = 3:print "Abbrechen (Abort)"
Case wert& = 4:print "Wiederholen"
Case wert& = 5:print "Ignorieren"
Case wert& = 6:print "Ja"
Case wert& = 7:print "Nein"
WaitInput
DisPose message#
DisPose caption#
|
|
|
| |
|
|