Palm OS/C/字型程式設計
外觀
< Palm OS 程式設計 | C
使用以下方法使您的應用程式可以使用字型
FontPtr font = MemHandleLock( DmGetResource('NFNT', TinyFont));
FntDefineFont( 0x80, font);
..其中TinyFont是字型資源 ID,可使其可用。
要設定當前字型(由顯式繪圖函式遵守,但不會自動由所有控制元件使用,這些控制元件儲存對它們應使用的字型的獨立引用)
FntSetFont( 0x80);
- FntCharsWidth計算傳遞給它的文字的畫素寬度
- FntCharHeight提供字型的 高度,它是 *升高* 和 *下降* 的總和,不包括您可能希望在文字行之間留出的任何空格
- FntAverageCharWidth儘管它的名字,但它提供了最寬字元的畫素寬度。
此程式碼段依賴於 字型資源 。
#include <PalmOS.h>
#include "Fonts.h"
UInt32 PilotMain( UInt16 cmd, void *cmdPBP, UInt16 launchFlags)
{
EventType event;
FontPtr font;
char *msg;
UInt16 msgLen;
Coord y;
Coord x;
if ( sysAppLaunchCmdNormalLaunch == cmd)
{
font = MemHandleLock( DmGetResource('NFNT', TinyFont));
FntDefineFont( 0x80, font);
FntSetFont( 0x80);
// locate the text in the middle of the screen
msg = "Hello, world!";
msgLen = StrLen( msg);
x = (160 - FntCharsWidth(msg, msgLen)) / 2;
y = (160 - FntCharHeight()) / 2;
WinDrawChars( msg, msgLen, x, y);
do {
EvtGetEvent( &event, evtWaitForever);
SysHandleEvent( &event);
} while (event.eType != appStopEvent);
}
return 0;
}
有關可能對 Palm 程式設計師有用的字型的詳細資訊,請參見 Palm OS/小型字型 。