忍者ブログ

kurAmAのアストラルフロウ

WILLCOM製W-ZERO3のこととか FF11のこととか MortScriptのこととか ガンプラのこととか いつもつかっているリンクのメモ用とか。 大した内容ないけどリンクフリー、トラックバックフリー(´∀`)
03 2024/04 1 2 3 4 5 67 8 9 10 11 12 1314 15 16 17 18 19 2021 22 23 24 25 26 2728 29 30 05

04.28.08:37

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

03.20.09:51

テキストフィールドに文字列をセットする


Boolean SetFieldText(FormPtr pForm, Int16 resourceNo, Char *s, Boolean redraw )
{
SetFieldTextFromStr(getObjectPtr(pForm,resourceNo),s,redraw);
}

Boolean SetFieldTextFromStr(FieldPtr field, Char *s, Boolean redraw)
{
MemHandle h;
h=FldGetTextHandle( field );
if(h){
Err err;
FldSetTextHandle(field, NULL);
err=MemHandleResize(h, StrLen(s)+1);
if(err!=errNone){
FldSetTextHandle(field, h);
/*return err;*/
return false;
}
}else{
h=MemHandleNew(StrLen(s)+1);
if(!h)
/*return memErrNotEnoughSpace;*/
return false;
}
StrCopy((Char *)MemHandleLock(h), s);
MemHandleUnlock(h);
FldSetTextHandle(field, h);
if(redraw)
FldDrawField(field);
/*return errNone;*/
return true;
}

void *getObjectPtr (FormPtr pForm, Int16 resourceNo)
{
UInt16 objIndex=FrmGetObjectIndex(pForm,resourceNo);
return FrmGetObjectPtr(pForm,objIndex);
}

void ClearFieldText(FieldPtr field, Boolean redraw)
{
SetFieldTextFromStr(getObjectPtr(pForm,resourceNo), NULL, redraw);
}

拍手[0回]

PR

03.20.09:50

描画する色を設定する


void color(UInt8 r, UInt8 g, UInt8 b)
{
IndexedColorType col;
RGBColorType rgb;
rgb.r=r;
rgb.g=g;
rgb.b=b;
col=WinRGBToIndex(&rgb);
WinSetForeColor(col);
}

拍手[0回]

03.20.09:49

線を描画する


void drawLine(Int32 x0, Int32 y0, Int32 x1, Int32 y1)
{
WinDrawLine(x0,y0,x1,y1);
}

拍手[0回]

03.20.09:48

オブジェクトの表示・非表示


static void HideObject(UInt16 objectID)
{
FormPtr frmP=FrmGetActiveForm();
FrmHideObject(frmP,FrmGetObjectIndex(frmP,objectID));
}

static void ShowObject(UInt16 objectID)
{
FormPtr frmP=FrmGetActiveForm();
FrmShowObject(frmP,FrmGetObjectIndex(frmP,objectID));
}

拍手[0回]

03.20.09:44

メモ帳にテキストデータを保存する


static void SaveToMemopad(void)
{
DmOpenRef memoDB;
MemHandle MemoRecordHandle;
void *MemoRecordPtr;
UInt16 MemoIndex=0;
char MemoString[256]; //保存する文字列を入れるところ

memoDB=DmOpenDatabaseByTypeCreator('DATA','memo',dmModeReadWrite);
MemoRecordHandle=DmNewRecord(memoDB,&MemoIndex,StrLen(MemoString)+1);
MemoRecordPtr=MemHandleLock(MemoRecordHandle);
DmSet(MemoRecordPtr,0,StrLen(MemoString)+1,0);
DmWrite(MemoRecordPtr,0,MemoString,StrLen(MemoString));
MemHandleUnlock(MemoRecordHandle);
DmReleaseRecord(memoDB,MemoIndex,true);
DmCloseDatabase(memoDB);
}

拍手[0回]