亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sugarmemotools.c

?? Palm上著名的背單詞軟件的源碼
?? C
字號:
#include <PalmOS.h>
#include "SugarMemo.h"
#include "SugarMemoTools.h"

#define DynamicUIStart 6000
#define DynamicFormID 5000

#define DynamicMessageFieldID	5000
#define DynamicInputFieldID		5001
#define DynamicOKButtonID 		5002
#define DynamicCancelButtonID 	5003

#define HorizontalSpace	10

UInt16 gIndex;

Char msg[100];

WinHandle winHandle;
UInt32 ProgressFull = 80;

RectangleType ProgressFrame = {{30, 50}, {100, 50}};
RectangleType ProgressTitleBar = {{32, 52}, {96, 20}};
RectangleType ProgressBar = {{40, 80}, {80, 12}};

static void ToolsDrawField(char* p, UInt16* top, Boolean draw);

void * GetObjectPtr(UInt16 objectID)
{
    FormType * frmP;
	UInt16 index;

    frmP = FrmGetActiveForm();
    
    index = FrmGetObjectIndex(frmP, objectID);
    if (index == frmInvalidObjectId){
    
    	StrPrintF(msg, "%s %d", "Invalid object ID found:", objectID);
    	ErrDisplay(msg);
    	return NULL;
    }
    
    return FrmGetObjectPtr(frmP, FrmGetObjectIndex(frmP, objectID));
}

UInt16 GetObjectIndex(UInt16 objectID){
	FormType * frmP;
	
	frmP = FrmGetActiveForm();
	return FrmGetObjectIndex(frmP, objectID);
}

void ShowObject(UInt16 objectID){

	FormType * frmP;
	
	frmP = FrmGetActiveForm();
	FrmShowObject(frmP, FrmGetObjectIndex(frmP, objectID));

}

void HideObject(UInt16 objectID){

	FormType * frmP;
	
	frmP = FrmGetActiveForm();
	FrmHideObject(frmP, FrmGetObjectIndex(frmP, objectID));

}

void ToolsDirtyRecord (UInt16 index)
{
	UInt16      attr;

	DmRecordInfo (CurrentDB, index, &attr, NULL, NULL);
	attr |= dmRecAttrDirty;
	DmSetRecordInfo (CurrentDB, index, &attr, NULL);
}

Boolean ZeroDate(DateType date){
	if (date.year == 0 && date.month == 0 && date.day == 0) return true;
	return false;
}

void ProgressPie(UInt32 progress, Char* message){
	
	Err error;
	RectangleType rct = ProgressBar;
	RectangleType rctFrame;
	FontID currFont;
	
	Int16 strWidth;
	Int16 strLength;
	UInt16 xpos, ypos;
	Boolean fit;
	
	if (progress == 0){
		
		winHandle = WinSaveBits(&ProgressFrame, &error);		
		if (winHandle == 0) ErrAlert(error);
		
		WinPushDrawState();
		
		rctFrame.topLeft.x = ProgressFrame.topLeft.x + 2;
		rctFrame.topLeft.y = ProgressFrame.topLeft.y + 2;
		rctFrame.extent.x = ProgressFrame.extent.x - 4;
		rctFrame.extent.y = ProgressFrame.extent.y - 4;
		
		WinSetForeColor(UIColorGetTableEntryIndex(UIObjectSelectedFill));
		
		WinEraseRectangle(&ProgressFrame, 0);
		
		WinPaintRectangleFrame(dialogFrame, &rctFrame);
		
		currFont = FntSetFont(boldFont);
		
		strWidth = rctFrame.extent.x;
		strLength = StrLen(message);
		FntCharsInWidth(message, &strWidth, &strLength, &fit);
		
		xpos = (rctFrame.extent.x - strWidth) / 2 + rctFrame.topLeft.x;
		ypos = (ProgressBar.topLeft.y - rctFrame.topLeft.y - FntLineHeight()) / 2 + rctFrame.topLeft.y;
		
		WinDrawChars(message, strLength, xpos, ypos);
		
		WinPaintRectangleFrame(simpleFrame, &ProgressBar);
			
		return;
	}
	
	else if (progress == ProgressFull){

		rct.extent.x = progress;
		WinPaintRectangle(&rct, 0);
		
		SysTaskDelay(SysTicksPerSecond()/3);
		
		WinRestoreBits(winHandle, ProgressFrame.topLeft.x, ProgressFrame.topLeft.y);
		WinPopDrawState();

	}
	
	else {
		rct.extent.x = progress;
		WinPaintRectangle(&rct, 0);
	}

}

Boolean DoCustomDialog(char* title, char* message, Boolean showInputField, UInt16 maxChars,  
	char* input, Boolean showCancel){
	
	FormType* formP = NULL;
	FormType** formPP = &formP;
	FieldType* messageField;
	FieldType* inputField;
	ControlType* okButton;
	ControlType* cancelButton;
	FontID currFont;
	UInt16 top = 0;
	UInt16 messageTop, messageHeight, inputTop, inputHeight, buttonTop, buttonHeight;
	UInt16 width = 156 - 2 * HorizontalSpace;
	UInt16 length;
	
	char okString[10] = "OK";
	char cancelString[10] = "Cancel";
	char* p;
	
	Boolean result = false;
	
	//	title height + space
	top += 20;
	messageTop = top;
	
	//	calculate message field height
	currFont = FntSetFont(boldFont);
	messageHeight = FntLineHeight() * FldCalcFieldHeight(message, width);
	
	top += messageHeight;
	top += 5;
	
	//	calculate input field height
	if (showInputField) {
		
		inputTop = top;
		
		FntSetFont(stdFont);
		inputHeight = FntLineHeight();
		top += inputHeight;
		top += 5; 	//space
	
	}
	
	top += 3;
	
	//	calculate button field height
	buttonTop = top;
	buttonHeight = 14;
	top += buttonHeight;
	top += 6; 	//button height + space 
	
	//	create form and set title
	formP = FrmNewForm(DynamicFormID, title, 2, 160 - 2 - top, 156, top, true, NULL, NULL, NULL);
		
	//	create message field
	FntSetFont(boldFont);
	messageField = FldNewField((void **)formPP, DynamicMessageFieldID, HorizontalSpace, messageTop, 
		width, messageHeight, boldFont, StrLen(message) + 1, false, false, false, false, leftAlign, 
		false, false, false);
	
	//	set message text and recalculate height
	FldSetTextPtr(messageField, message);
	FldRecalculateField(messageField, true);
	
	//	create input field
	if (showInputField){
		inputField = FldNewField((void **)formPP, DynamicInputFieldID, HorizontalSpace, inputTop, 
			width, inputHeight, stdFont, maxChars, true, true, true, false, leftAlign, false, false, false);
	}
	
	//	create button
	okButton = CtlNewControl((void **)formPP, DynamicOKButtonID, buttonCtl, okString, 
		HorizontalSpace, buttonTop, 32, 12, stdFont, 0, false);

	if (showCancel){
	
		cancelButton = CtlNewControl((void **)formPP, DynamicCancelButtonID, buttonCtl, cancelString,
		HorizontalSpace + 32 + 8, buttonTop, 32, 12, stdFont, 0, false);  
	
	}
	
	FrmDrawForm(*formPP);
	messageField = FrmGetObjectPtr(*formPP, FrmGetObjectIndex(*formPP, DynamicMessageFieldID));
	FldDrawField(messageField);
	
	//	do dialog
	if (DynamicOKButtonID == FrmDoDialog(*formPP)){
		
		result = true;
		
		if (showInputField) {
			
			inputField = FrmGetObjectPtr(*formPP, FrmGetObjectIndex(*formPP, DynamicInputFieldID));
			length = FldGetTextLength(inputField);
					
			if (length > 0){
				p = FldGetTextPtr(inputField);
				StrPrintF(input, "%s", p);
				result = true;
			}
			else result = false;
		} 
	}
	
	//	delete dialog	
	FrmDeleteForm(*formPP);
	
	//	restore font
	FntSetFont(currFont);
	
	return result;
}

void GetObjectBounds(UInt16 objectID, RectangleType* bounds){
	FormType* frmP = FrmGetActiveForm();
	
	FrmGetObjectBounds(frmP, GetObjectIndex(objectID), bounds);
}

void SetObjectBounds(UInt16 objectID, RectangleType* bounds){
	FormType* frmP = FrmGetActiveForm();
	
	FrmSetObjectBounds(frmP, GetObjectIndex(objectID), bounds);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
黄色日韩网站视频| 亚洲一区二区av在线| 久久激情五月婷婷| 日韩欧美一区二区三区在线| 视频在线观看一区| 制服视频三区第一页精品| 91女神在线视频| 亚洲美女少妇撒尿| 欧美午夜片在线观看| 日韩不卡免费视频| 久久夜色精品一区| 国产一区二区三区在线观看精品 | 国产很黄免费观看久久| 精品国产sm最大网站| 国产一区二区免费看| 国产精品私人影院| 91久久香蕉国产日韩欧美9色| 亚洲国产你懂的| 欧美成va人片在线观看| 东方欧美亚洲色图在线| 亚洲尤物在线视频观看| 欧美日韩精品一区二区天天拍小说 | 成人精品一区二区三区四区| 亚洲免费观看高清完整版在线观看熊 | 精品国产青草久久久久福利| 成人美女视频在线观看| 亚洲成人免费观看| 精品国产髙清在线看国产毛片| 粉嫩av亚洲一区二区图片| 亚洲国产成人av网| 久久免费看少妇高潮| 91黄视频在线| 国产精品乡下勾搭老头1| 亚洲午夜影视影院在线观看| 日韩欧美一级在线播放| 99riav久久精品riav| 日本不卡的三区四区五区| 国产人久久人人人人爽| 欧美日韩一本到| 成人一级黄色片| 午夜视频在线观看一区二区| 国产亚洲欧美日韩在线一区| 欧美亚洲丝袜传媒另类| 国产一区二区三区国产| 午夜电影一区二区| 日韩毛片精品高清免费| 精品国产一区二区三区久久影院 | 香蕉久久夜色精品国产使用方法 | 日韩欧美美女一区二区三区| 91在线porny国产在线看| 老司机精品视频导航| 亚洲国产日韩一区二区| 国产精品不卡在线| 精品对白一区国产伦| 欧美日韩不卡一区| 色狠狠av一区二区三区| 成人va在线观看| 国产一区在线看| 捆绑调教美女网站视频一区| 亚洲电影一区二区| 亚洲精品亚洲人成人网在线播放| 久久精品欧美一区二区三区不卡| 日韩欧美一区二区不卡| 欧美精品三级在线观看| 91黄视频在线| 91啦中文在线观看| av一区二区三区| 成人小视频免费在线观看| 国产成人在线观看免费网站| 韩国v欧美v亚洲v日本v| 狠狠色综合播放一区二区| 毛片基地黄久久久久久天堂| 首页国产丝袜综合| 午夜一区二区三区视频| 亚洲福利一区二区三区| 亚洲国产aⅴ天堂久久| 亚洲一区二区三区小说| 亚洲综合在线视频| 一区二区在线观看不卡| 亚洲欧美日韩国产综合| 亚洲视频免费在线观看| 亚洲三级免费电影| 亚洲欧美激情在线| 亚洲综合小说图片| 日韩黄色一级片| 日韩精品国产欧美| 男女性色大片免费观看一区二区| 日本中文一区二区三区| 蜜桃91丨九色丨蝌蚪91桃色| 精品在线一区二区三区| 精品一二三四在线| 国产成人精品www牛牛影视| 风间由美性色一区二区三区| av男人天堂一区| 色综合视频在线观看| 欧美性videosxxxxx| 91麻豆精品91久久久久久清纯| 欧美一区二区三区四区在线观看| 欧美一级二级三级蜜桃| 久久久久99精品一区| 国产精品三级在线观看| 亚洲激情自拍偷拍| 青青草精品视频| 国产不卡视频在线播放| 日本伦理一区二区| 欧美日韩的一区二区| 日韩视频中午一区| 波多野结衣的一区二区三区| 91首页免费视频| 69堂国产成人免费视频| 久久午夜免费电影| 亚洲精品视频在线看| 丝袜亚洲另类欧美| 国产mv日韩mv欧美| 欧美午夜电影在线播放| 欧美大肚乱孕交hd孕妇| 中文字幕在线一区二区三区| 亚洲国产裸拍裸体视频在线观看乱了| 久久成人久久鬼色| 成人a区在线观看| 欧美一级欧美一级在线播放| 欧美国产日产图区| 日韩和的一区二区| 成人黄色在线看| 日韩午夜中文字幕| 亚洲麻豆国产自偷在线| 精品一二三四区| 欧美系列亚洲系列| 国产日韩v精品一区二区| 三级欧美在线一区| 91美女视频网站| 精品福利二区三区| 亚洲不卡在线观看| 国产成人一级电影| 欧美电视剧在线观看完整版| 亚洲少妇中出一区| 国产一区二区三区免费看| 欧美唯美清纯偷拍| 国产精品久久综合| 精品在线亚洲视频| 91精品一区二区三区在线观看| 国产精品久久夜| 久久99精品国产91久久来源| 欧美日精品一区视频| 中文字幕一区二区三区av| 国产毛片精品国产一区二区三区| 在线不卡一区二区| 艳妇臀荡乳欲伦亚洲一区| 成人性生交大片免费看视频在线| 日韩亚洲欧美在线观看| 亚洲一区二区免费视频| 97se亚洲国产综合在线| 国产欧美日韩在线观看| 国产综合一区二区| 日韩视频免费观看高清在线视频| 一区二区三区四区不卡视频| 成人av在线资源网站| 国产视频在线观看一区二区三区 | 在线不卡免费欧美| 亚洲成国产人片在线观看| 91黄色免费网站| 夜夜精品视频一区二区| 色综合久久88色综合天天6| 国产欧美久久久精品影院| 蜜桃视频在线观看一区| 91精品国产黑色紧身裤美女| 婷婷一区二区三区| 制服.丝袜.亚洲.中文.综合| 亚洲国产日韩在线一区模特| 欧美在线free| 亚洲成人免费av| 4438x亚洲最大成人网| 亚洲国产精品精华液网站| 欧美亚洲国产怡红院影院| 亚洲自拍偷拍九九九| 欧美三级视频在线观看| 日日嗨av一区二区三区四区| 日韩限制级电影在线观看| 激情综合色播五月| 久久久久久免费网| 成人视屏免费看| 综合激情网...| 欧美日韩一级二级| 青青青伊人色综合久久| 精品久久久久一区| 成人中文字幕电影| 一区二区三区四区在线播放| 精品视频在线免费| 免费成人美女在线观看.| 亚洲精品在线免费观看视频| 国产成人在线免费观看| 亚洲人成在线观看一区二区| 精品视频一区二区三区免费| 美洲天堂一区二卡三卡四卡视频| 2021国产精品久久精品| 91丨国产丨九色丨pron| 视频一区在线播放| 久久久国际精品| 色婷婷久久久久swag精品| 日韩中文字幕亚洲一区二区va在线|