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

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

?? sugarmemotools.c

?? 最好用的背單詞軟件, palm 平臺(tái), 如果能移植到別的平臺(tái)
?? C
字號(hào):
#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);
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区二区三区中文字幕| 五月天欧美精品| 欧美高清激情brazzers| 激情五月婷婷综合网| 亚洲精品国产a久久久久久| 久久青草欧美一区二区三区| 91黄色免费观看| 粉嫩欧美一区二区三区高清影视| 一区二区三区中文字幕电影| 国产亚洲精品超碰| 日韩一区二区影院| 欧美中文字幕不卡| 99riav久久精品riav| 国产精品99久久久久久宅男| 日本不卡在线视频| 亚洲在线视频网站| 国产精品久久久久久久久搜平片| 日韩三级精品电影久久久| 日本久久一区二区| 99久久精品免费看国产免费软件| 国产在线视视频有精品| 麻豆精品一区二区av白丝在线| 伊人色综合久久天天| 亚洲国产精品精华液2区45| 26uuu精品一区二区在线观看| 欧美日韩在线电影| 色哟哟精品一区| 成人黄色综合网站| 成人精品在线视频观看| 国产伦理精品不卡| 久久99精品国产麻豆婷婷| 天天色天天操综合| 日日夜夜精品免费视频| 午夜视频久久久久久| 一区二区三区四区精品在线视频| 成人欧美一区二区三区白人| 日本一区二区综合亚洲| 久久精品网站免费观看| 国产偷v国产偷v亚洲高清| 久久美女艺术照精彩视频福利播放 | 伊人婷婷欧美激情| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 久久久亚洲高清| 久久久久久免费毛片精品| 精品国产三级a在线观看| 日韩视频国产视频| 久久综合九色综合欧美就去吻| 精品日韩欧美在线| 国产三级久久久| 国产精品妹子av| 亚洲人成精品久久久久| 亚洲伦理在线免费看| 亚洲视频一区二区在线观看| 亚洲激情男女视频| 亚洲午夜在线视频| 日韩高清在线观看| 久久99久久精品欧美| 国产激情一区二区三区桃花岛亚洲 | 亚洲国产视频一区二区| 亚洲一二三区视频在线观看| 首页国产丝袜综合| 麻豆一区二区在线| 成人午夜av电影| 91免费观看国产| 69av一区二区三区| 精品国产亚洲在线| 国产精品福利影院| 一区二区三区四区亚洲| 蜜臀av一区二区| 国产69精品久久99不卡| 色婷婷综合视频在线观看| 在线播放91灌醉迷j高跟美女| 欧美mv和日韩mv的网站| 国产精品毛片大码女人| 亚洲永久免费av| 国内精品视频一区二区三区八戒| www.在线欧美| 日韩一区二区不卡| 国产精品久久久久久久久搜平片 | 欧美成人性战久久| 18成人在线观看| 日本亚洲三级在线| 国产99久久久久| 欧美性色综合网| 2022国产精品视频| 夜夜操天天操亚洲| 国产剧情在线观看一区二区| 在线免费观看成人短视频| 日韩免费高清电影| 亚洲女与黑人做爰| 国产综合成人久久大片91| 在线观看国产日韩| 欧美韩国日本综合| 丝袜亚洲另类丝袜在线| 粉嫩高潮美女一区二区三区| 欧美日韩精品电影| 国产人伦精品一区二区| 五月综合激情日本mⅴ| 粉嫩一区二区三区性色av| 91精品国产综合久久久久久久久久| 中文字幕巨乱亚洲| 免费黄网站欧美| 91传媒视频在线播放| 国产亚洲制服色| 日韩国产欧美三级| 99久久国产综合色|国产精品| 日韩亚洲电影在线| 亚洲成人动漫一区| 91在线你懂得| 久久久精品中文字幕麻豆发布| 亚洲成av人片| 在线免费不卡视频| 亚洲欧洲日韩av| 国产精品系列在线观看| 日韩欧美一级特黄在线播放| 亚洲一区二区美女| 91麻豆免费视频| 中文字幕av不卡| 国产精品2024| 精品久久国产97色综合| 日韩电影免费在线看| 欧美人动与zoxxxx乱| 亚洲一区二区三区三| 一本到三区不卡视频| 国产精品剧情在线亚洲| 国产乱码精品一区二区三区av | 久久精品视频免费观看| 精品一区二区三区免费观看| 欧美电影一区二区| 亚洲大片一区二区三区| 欧美三级视频在线观看| 亚洲综合色视频| 色综合一区二区三区| 日韩毛片在线免费观看| av中文一区二区三区| 国产精品久久二区二区| jiyouzz国产精品久久| 国产精品网站一区| 不卡一区二区中文字幕| 综合电影一区二区三区| 91网站视频在线观看| 亚洲视频免费观看| 色婷婷av一区二区三区大白胸| 中文字幕亚洲一区二区av在线| 99热这里都是精品| 亚洲人成人一区二区在线观看| 色婷婷综合久久久久中文| 亚洲综合在线电影| 欧美三级在线视频| 蜜臀久久99精品久久久久宅男 | 日本亚洲电影天堂| 日韩欧美综合一区| 韩国av一区二区三区四区| 国产亚洲成av人在线观看导航| 国产成人亚洲精品狼色在线 | 国产精品久久久久天堂| 99re66热这里只有精品3直播| 亚洲免费观看高清完整 | 国产精品免费视频一区| va亚洲va日韩不卡在线观看| 自拍av一区二区三区| 欧美日韩视频在线第一区| 免费高清在线一区| 国产日韩欧美一区二区三区乱码| 国产成人在线看| 亚洲综合色视频| 欧美videofree性高清杂交| 国产成人一级电影| 一区二区在线观看免费| 3d动漫精品啪啪1区2区免费| 国内精品免费**视频| 亚洲人成精品久久久久久| 欧美日本乱大交xxxxx| 国产精品亚洲一区二区三区在线| 国产精品高潮久久久久无| 欧美久久久久久蜜桃| 国产精选一区二区三区| 亚洲自拍都市欧美小说| 久久久综合精品| 欧美视频一二三区| 国产99精品视频| 亚洲国产cao| 国产人成一区二区三区影院| 欧美日韩国产一区| 国内不卡的二区三区中文字幕| 亚洲婷婷国产精品电影人久久| 91精品在线观看入口| 不卡av免费在线观看| 日本美女一区二区三区| 亚洲三级在线免费观看| 日韩女同互慰一区二区| 色噜噜狠狠色综合中国| 国产精品99久久久久久久女警| 一区二区三区在线视频免费| 欧美精品一区二区蜜臀亚洲| 欧美亚洲国产一区在线观看网站| 国产精品99久久久久久有的能看| 午夜精品成人在线| 国产精品不卡视频| 精品国产污网站|