日期:2014-05-17  浏览次数:20893 次

学习Windows程序设计第四章(一)

今天看了下《Windows程序设计》的第四章文本输出,现记录下学习心得。

这一章主要讲的是文本输出,今天试了下第一个例子,用到了一个叫SYSMETS.H的头文件。

头文件代码:

/*-----------------------------------------------
SYSMETS.H -- System metrics display structure
-----------------------------------------------*/

#define NUMLINES ((int) (sizeof sysmetrics / sizeof sysmetrics [0]))

struct
{
	int     iIndex ;
	TCHAR *szLabel;
	TCHAR *szDesc;
}
sysmetrics [] =
{
	SM_CXSCREEN,             TEXT ("SM_CXSCREEN"),              
		TEXT ("Screen width in pixels"),
		SM_CYSCREEN,             TEXT ("SM_CYSCREEN"),              
		TEXT ("Screen height in pixels"),
		SM_CXVSCROLL,            TEXT ("SM_CXVSCROLL"),             
		TEXT ("Vertical scroll width"),
		SM_CYHSCROLL,            TEXT ("SM_CYHSCROLL"),             
		TEXT ("Horizontal scroll height"),
		SM_CYCAPTION,            TEXT ("SM_CYCAPTION"),             
		TEXT ("Caption bar height"),
		SM_CXBORDER,             TEXT ("SM_CXBORDER"),              
		TEXT ("Window border width"),
		SM_CYBORDER,             TEXT ("SM_CYBORDER"),              
		TEXT ("Window border height"),
		SM_CXFIXEDFRAME,         TEXT ("SM_CXFIXEDFRAME"),          
		TEXT ("Dialog window frame width"),
		SM_CYFIXEDFRAME,         TEXT ("SM_CYFIXEDFRAME"),          
		TEXT ("Dialog window frame height"),
		SM_CYVTHUMB,             TEXT ("SM_CYVTHUMB"),              
		TEXT ("Vertical scroll thumb height"),
		SM_CXHTHUMB,             TEXT ("SM_CXHTHUMB"),              
		TEXT ("Horizontal scroll thumb width"),
		SM_CXICON,				  TEXT ("SM_CXICON"),                
		TEXT ("Icon width"),
		SM_CYICON,               TEXT ("SM_CYICON"),                
		TEXT ("Icon height"),
		SM_CXCURSOR,             TEXT ("SM_CXCURSOR"),              
		TEXT ("Cursor width"),
		SM_CYCURSOR,             TEXT ("SM_CYCURSOR"),              
		TEXT ("Cursor height"),
		SM_CYMENU,               TEXT ("SM_CYMENU"),                
		TEXT ("Menu bar height"),
		SM_CXFULLSCREEN,         TEXT ("SM_CXFULLSCREEN"),          
		TEXT ("Full screen client area width"),
		SM_CYFULLSCREEN,         TEXT ("SM_CYFULLSCREEN"),          
		TEXT ("Full screen client area height"),
		SM_CYKANJIWINDOW,        TEXT ("SM_CYKANJIWINDOW"),         
		TEXT ("Kanji window height"),
		SM_MOUSEPRESENT,         TEXT ("SM_MOUSEPRESENT"),          
		TEXT ("Mouse present flag"),
		SM_CYVSCROLL,            TEXT ("SM_CYVSCROLL"),             
		TEXT ("Vertical scroll arrow height"),
		SM_CXHSCROLL,            TEXT ("SM_CXHSCROLL"),             
		TEXT ("Horizontal scroll arrow width"),
		SM_DEBUG,                TEXT ("SM_DEBUG"),                 
		TEXT ("Debug version flag"),
		SM_SWAPBUTTON,           TEXT ("SM_SWAPBUTTON"),            
		TEXT ("Mouse buttons swapped flag"),
		SM_CXMIN,                TEXT ("SM_CXMIN"),                 
		TEXT ("Minimum window width"),
		SM_CYMIN,                TEXT ("SM_CYMIN"),                 
		TEXT ("Minimum window height"),
		SM_CXSIZE,               TEXT ("SM_CXSIZE"),                
		TEXT ("Min/Max/Close button width"),
		SM_CYSIZE,               TEXT ("SM_CYSIZE"),                
		TEXT ("Min/Max/Close button height"),
		SM_CXSIZEFRAME,          TEXT ("SM_CXSIZEFRAME"),           
		TEXT ("Window sizing frame width"),
		SM_CYSIZEFRAME,          TEXT ("SM_CYSIZEFRAME"),           
		TEXT ("Window sizing frame height"),
		SM_CXMINTRACK,           TEXT ("SM_CXMINTRACK"),            
		TEXT ("Minimum window tracking width"),
		SM_CYMINTRACK,           TEXT ("SM_CYMINTRACK"),            
		TEXT ("Minimum window tracking height"),
		SM_CXDOUBLECLK,          TEXT ("SM_CXDOUBLECLK"),           
		TEXT ("Double click x tolerance"),
		SM_CYDOUBLECLK,          TEXT ("SM_CYDOUBLECLK"),           
		TEXT ("Double click y tolerance"),
		SM_CXICONSPACING,        TEXT ("SM_CXICONSPACING"),         
		TEXT ("Horizontal icon spacing"),
		SM_CYICONSPACING,        TEXT ("SM_CYICONSPACING"),         
		TEXT ("Vertical icon spacing"),