//
//
//
//
//
//
//
//
//
//
软件Tags:
易语言日志打印源码系统结构:创建日志框,写日志,CreateFontA,GetDC,GetClientRect,SelectObject,SetTextColor,DrawText,DeleteObject,ReleaseDC,DefWindowProc,RedrawWindow,Data_wsprintf1,SetWindowLongA, ======日志 || ||------_启动子程序 || ||------创建日志框 || ||------写日志 || ||------_NewLong || ||------_取日期 || ||------_取时间 || || ======测试 || ||------_时钟1_周期事件 || ||------_窗口1_首次激活 || || ======调用的Dll || ||---[dll]------CreateFontA || ||---[dll]------GetDC || ||---[dll]------GetClientRect || ||---[dll]------SelectObject || ||---[dll]------SetTextColor || ||---[dll]------DrawText || ||---[dll]------DeleteObject || ||---[dll]------ReleaseDC || ||---[dll]------DefWindowProc || ||---[dll]------RedrawWindow || ||---[dll]------Data_wsprintf1 || ||---[dll]------SetWindowLongA 调用的DLL命令: .DLL命令CreateFontA,整数型,"gdi32.dll","CreateFontA",,用指定的属性创建一种逻辑字体,返回值:如果函数调用成功,返回值是一种逻辑字体句柄;如果函数调用失败,返回值为NULL。备注:当一种字体不再使用时,可用DeleteObject来删除 .参数字符的高度值,整数型,,nHeight:指定字体的字符单元或字符的逻辑单位高度,字符的高度值(也被称为em高度)是指字符单元高度值减去内部标头值。字体映射器以如下方式解释nHeight指定的值,各值含义为: >0:字体映射器转换这个值以设备单位,并和已有字体的单元高度相匹配。 0:字体映射器转换在选择匹配时用一个缺省的高度值。 <0:字体映射器转换这个值到设备单位,并将它的绝对值和已有字体的字符高度相匹配。 比较所有的高度,字体映射器选择不超过要求大小的最大字体。 此映射当字体第一次被使用时发生。 对于MM_TEXT映射方式,可以用下面的公式为一种指定了点大小的字体确定高度: nHeight=-MulDiv(PointSize,GetDeviceCaps(hDC,LOGPIXELSY),72) .参数字符的平均宽度,整数型,,nWidth:指定所要求字体的字符的逻辑单位的平均宽度。如果此值为0,字体映射器选择一个closestmatch值,closestmatch值是由比较当前设备的特征系数与可使用字体的数字化特征系数之差的绝对值而确定的。 .参数指定移位向量和设备X轴之间的一个角度,整数型,,nEscapement:指定移位向量和设备X轴之间的一个角度,以十分之一度为单位。移位向量平行于正文行的基线。 WindowsNT:当图形设备设置为GM_ADVANCED时,可以不依赖字符串的字符的定位角而指定字符串的移位角。 当图形模式被设置为GM_COMPATIBLE时,nEscapement同时指定移位角和定位角,可以设置nEscapement和nOrientation为相同的值。 Windows95:nEscapement同时指定移位角和定位角,可设置nEscapement和nOrientation为相同的值。 .参数指定每个字符的基线和设备X轴之间的角度,整数型,,nOrientation:指定每个字符的基线和设备X轴之间的角度。 .参数字体的权值,整数型,,FnWeight:在0到1000之间指定字体的权值,如400表示标准体,700表示黑(粗)体,如果此值为0,则使用缺省的权值。 为方便定义,可使用如下值: FW_DONTCARE:0;FW_THIN;100;FW_EXTRALIGHT;200;FW_ULTRALIGHT;200;FW_LIGHT;300; FW_NORMAL:400;FW_REGULAR;400;FW_MEDIUM;500;FW_SEMIBOLD;600;FW_DEMIBOLD;600; FW_BOLD:700;FW_EXTRABOLD;800;FW_ULTRABOLD;800;FW_HEAVY;900;FW_BLACK;900。 .参数斜体,整数型,,fdwItalic:如果设置为TRUE则指定斜体。 .参数下划线,整数型,,如果设置为TRUE,则指定加下划线的字全。 .参数删除线,整数型,,如果设置为TRUE,则strikeout指定字体 .参数指定字符集,整数型,,字符集标识0:ANSI字符集,1:系统缺省字符集 .参数指定输出精度,整数型,,指定输出精度,输出精度义输出与要求的字体高度、宽度、字符定位、移位、字符间距和字符类型的匹配程序,它可取下列值之一: OUT_CHARACTER_PRECIS;未用。 OUT_DEFAULT_PRECIS:指定缺省的字体映射器状态。 OUT_DEVICE_PRECIS:指示字体映射器在当系统里有多种字体使用同一个字体使用同一个名字时选择一种设备字体。 OUT_OUTLINE_PRCIS:在WindowsNT中此值指示字体映射器从TrueType和其他基于边框的字体中选择。 OUT_RASTER_PRECIS:指示字体映射器在当系统里有多种字体使用同一个名字时选择一种光栅字体。 OUT_STRING_PRECIS:此值没有被字全映射器使用,但是当扫描字体被列举时作为返回值。 OUT_STROKE_PRECIS:在WindowsNT中此值没有被字体映射器使用,但是当TrueType字体、其他基于边框的字体和向量字体被列举时,作为返回值。 Windows95:此值没有被字体映射器使用,但是当TrueType字体或向量字体被列举时,作为返回值。 OUT_TT_ONLY_PRECIS:指示字体映射器仅从TrueType字体中选择,如果系统中没有安装TrueType字体,则字体映射返回缺省状态。、 OUT_TT_PRECIS:指示字体映射器在当系统里有多种同名的字体时选择一种TrueType字体。 当操作系统含有多种与指定名字同名的字体时,应用程序可以使用OUT_DEVICE_PRECIS,OUT_RASTER_PRECIS和OUT_TT_PRECIS值来控制字体映射器如何选择一种字体,例如,如果操作系统含有名字Symbol的光栅和TrueType两种字体,指定OUT_TT_PRECIS使字体映射器选择TrueType方式。指定OUT_TT_ONLY_PRECIS使字体映射器选择一种TrueType字体,尽管这会给TrueType字体换一个名字。 .参数指定裁剪精度,整数型,,指定裁剪精度,裁剪精度定义如何裁剪部分超出裁剪区的字符,它可取一个或多个下列值: CLIP_DEFAULT_PRECIS:指定缺省裁剪状态。CLIP_CHARACTER_PRECIS:未用。 CLIP_STROKE_PRECIS:未被字体映射器使用,但是当光栅字体、向量字体或TrueType字体被列举时作为返回值。在Windows环境下,为保证兼容性,当列举字体时这个值总被返回。 CLIP_MASK:未用。CLIP_EMBEDDED:要使用嵌入式只读字体必须使用此标志。 CLIP_LH_ANGLES:当此值被使用时,所有字体的旋转依赖于坐标系统的定位是朝左的还是朝右的。 如果未使用此值,设备字体总是逆时针方向旋转,但其他字体的旋转依赖于坐标系统的定向。要得到更多关于坐标系统定向的信息,参见参数orientation。 CLIP_TT_ALWAYS:未用。 .参数输出质量,整数型,,指向输出质量,输出质量定义GDI如何仔细地将逻辑字体属性与实际物理字体属性相匹配。它可取下列值之一: DEFAULT_QUALITY:字体的外观不重要。 DRAFT_QUALITY:字体外观的重要性次于使用PROOF_QUALITY时,对GDI光栅字体,缩放比例是活动的,这意味着多种字体大小可供选择,但质量可能不高,如果有必要,粗体、斜体、下划线、strikeout字体可被综合起来使用。 PROOF_QUALITY:字符质量比精确匹配逻辑字体字体属性更重要。对GDI扫描字体,缩放比例是活动的,并选择最接近的大小。尽管当使用PROOF_QUALITY时,选择字体大小并不完全匹配,但字体的质量很高,并没有外观上的变形。如果有必要,粗体、斜体、下划线、strikeout字体可被综合起来使用。 .参数指定字体间距和字体族,整数型,,指定字体间距和字体族,低端二位指定字体的字符间距,它可取下列值之一: DEFAULT_PITCH;FIXED_PITCH;VARIABLE_PITCH 高端四位指定字体族,可取下列值之一: FF_DECORATIVE:新奇的字体,如老式英语(OldEnglish)。FF_DONTCARE:不关心或不知道。 FF_MDERN:笔划宽度固定的字体,有或者无衬线。如Pica、Elite和CourierNew。 FF_ROMAN:笔划宽度变动的字体,有衬线。如MSSerif。 FF_SCRIPT:设计成看上去象手写体的字体。如Script和Cursive。 FF_SWISS:笔划宽度变动的字体,无斜线。如MSSansSerif。 应用程序可以用运算符OR将字符间距和字体族组合起来给fdwPitchAndFamily赋值。 字体族描述一种字体的普通外观,当所有的精确字样都不能使用时,可用它们来指定字体。 .参数字体的字样名,文本型,传址,指向指定字体的字样名的、以结束的字符串指针,字符串的长度不能超过32个字符(包括字符),函数EnumFontFamilies可用来列举所有当前可用字体的字样名。 如果lpszFace为NULL或指向一个空串,GDI使用能匹配其他属性的第一种字体。 .DLL命令GetDC,整数型,"user32","GetDC",,获取指定窗口的设备场景指定窗口的设备场景句柄,出错则为0 .参数hwnd,整数型,,将获取其设备场景的窗口的句柄。若为0,则要获取整个屏幕的DC; .DLL命令GetClientRect,整数型,"user32","GetClientRect",,返回指定窗口客户区矩形的大小非零表示成功,零表示失败。会设置GetLastError .参数hwnd,整数型,,欲计算大小的目标窗口 .参数lpRect,RECT,,RECT,指定一个矩形,用客户区域的大小载入(以像素为单位); .DLL命令SelectObject,整数型,"gdi32","SelectObject",,每个设备场景都可能有选入其中的图形对象。其中包括位图、刷子、字体、画笔以及区域等等。一次选入设备场景的只能有一个对象。选定的对象会在设备场景的绘图操作中使用。例如,当前选定的画笔决定了在设备场景中描绘的线段颜色及样式与以前选入设备场景的相同hObject类型的一个对象的句柄,零表示出错。如选定的对象是一个区域(Region),结果就是下列常数之一:SIMPLEREGION,;COMPLEXREGION或NULLREGION对区域进行描述,GDI_ERROR表示出错 .参数hdc,整数型,,一个设备场景的句柄 .参数hObject,整数型,,一个画笔、位图、刷子、字体或区域的句柄; .DLL命令SetTextColor,整数型,"gdi32","SetTextColor",,设置当前文本颜色。这种颜色也称为“前景色”文本色的前一个RGB颜色设定。CLR_INVALID表示失败。会设置GetLastError .参数hdc,整数型 .参数crColor,整数型 .DLL命令DrawText,整数型,"user32","DrawTextA",,将文本描绘到指定的矩形中描绘文字的高度 .参数hdc,整数型,,欲在其中显示文字的一个设备场景的句柄 .参数lpStr,文本型,,欲描绘的文本字串 .参数nCount,整数型,,欲描绘的字符数量。如果要描绘整个字串(直到空中止符),则可将这个参数设为-1 .参数lpRect,RECT,,RECT,指定用于绘图的一个格式化矩形(采用逻辑坐标) .参数wFormat,整数型,,一个标志位数组,决定了以何种形式执行绘图。参考下面总结的常数类型列表标志常数说明DT_BOTTOM必须同时指定DT_SINGLE。指示文本对齐格式化矩形的底边DT_CALCRECT象下面这样计算格式化矩形:多行绘图时矩形的底边根据需要进行延展,以便容下所有文字;单行绘图时,延展矩形的右侧。不描绘文字。由lpRect参数指定的矩形会载入计算出来的值DT_CENTER文本垂直居中DT_EXPANDTABS描绘文字的时候,对制表站进行扩展。默认的制表站间距是8个字符。但是,可用DT_TABSTOP标志改变这项设定DT_EXTERNALLEADING计算文本行高度的时候,使用当前字体的外部间距属性(theexternalleadingattribute)DT_LEFT文本左对齐DT_NOCLIP描绘文字时不剪切到指定的矩形DT_NOPREFIX通常,函数认为&字符表示应为下一个字符加上下划线。该标志禁止这种行为DT_RIGHT文本右对齐DT_SINGLELINE只画单行DT_TABSTOP指定新的制表站间距,采用这个整数的高8位DT_TOP必须同时指定DT_SINGLE。指示文本对齐格式化矩形的顶部DT_VCENTER必须同时指定DT_SINGLE。指示文本对齐格式化矩形的中部DT_WORDBREAK进行自动换行。如用SetTextAlign函数设置了TA_UPDATECP标志,这里的设置则无效; .DLL命令DeleteObject,整数型,"gdi32","DeleteObject",,用这个函数删除GDI对象,比如画笔、刷子、字体、位图、区域以及调色板等等。对象使用的所有系统资源都会被释放非零表示成功,零表示失败 .参数hObject,整数型,,一个GDI对象的句柄; .DLL命令ReleaseDC,整数型,"user32","ReleaseDC",,释放由调用GetDC或GetWindowDC函数获取的指定设备场景。它对类或私有设备场景无效(但这样的调用不会造成损害)执行成功为1,否则为0 .参数hwnd,整数型,,要释放的设备场景相关的窗口句柄 .参数hdc,整数型,,要释放的设备场景句柄; .DLL命令DefWindowProc,整数型,"user32","DefWindowProcA",,调用缺省窗口过程 .参数hwnd,整数型 .参数wMsg,整数型 .参数wParam,整数型 .参数lParam,整数型 .DLL命令RedrawWindow,整数型,"user32.dll","RedrawWindow" .参数窗口句柄,整数型 .参数矩形,整数型 .参数区域,整数型 .参数清楚模式,整数型 .DLL命令Data_wsprintf1,整数型,"user32.dll","@wsprintfA" .参数lpOut,文本型 .参数lpFmt,文本型 .参数ect1,整数型,,可以无限 .参数ect2,整数型,,可以无限 .参数ect3,整数型,,可以无限 .DLL命令SetWindowLongA,整数型,"user32","SetWindowLongA",,在窗口结构中为指定的窗口设置信息指定数据的前一个值 .参数hwnd,整数型 .参数nIndex,整数型 .参数dwNewLong,子程序指针
