100 DECLARE EXTERNAL SUB SetColor 110 FOR x=1 TO 10 120 CALL SetColor(255,0,0) 130 PRINT x, 140 CALL SetColor(0,0,255) 150 PRINT SQR(x) 160 NEXT x 170 END 180 190 EXTERNAL SUB SetColor(R,G,B) 200 OPTION CHARACTER Byte 210 SUB SendMessage(hwnd,msg,wparam,lparam$) 220 ASSIGN "USER32.DLL","SendMessageA" 230 END SUB 240 LET EM_SETCHARFORMAT=BVAL("0444",16) 250 LET CHARFORMAT$=CHR$(60) & REPEAT$(CHR$(0),59) 260 LET CHARFORMAT$(8:8)=CHR$(64) 270 LET CHARFORMAT$(21:24)=CHR$(R) & CHR$(G) & CHR$(B) & CHR$(0) 280 CALL SendMessage(WinHandle("RICHEDIT"),EM_SETCHARFORMAT,1, CHARFORMAT$) 290 END sub
外部副プログラムSetColorの引数R,G,Bには0以上255以下の整数を与えてください。
同様の手法で,斜体,下線,太字などの装飾も可能です。詳細は,WindowsメッセージのEM_SETCHARFORMATの使い方を調べてください。