博瑞博客

青春是一个充满活力的季节,即便是我们失去了天使的翅膀,只要我们还有一颗青春的心,那么我们的生活依然能够如阳光般灿烂!......
推荐阅读站长精心推荐阅读
现在位置:首页 >
  • emlog pro 如何去掉首页标题"未注冊的版本”字样

    emlog pro 如何去掉首页标题"未注冊的版本”字样

    PHP  1-23  67浏览  0评论  

    方法一、付费去掉 付费应该可以去掉 方法二、修改代码 文件: include\lib\option.php里,找下面这个函数 static function getAll() { $CACHE = Cache::getInstance(); $options_cache = $CACHE->readCache('options'); $options_cache['site_title'] = $options_cache['site_title'] ?: $options_cache['blogname']; $options_cache['site_description'] = $options_cache['site_description'] ?: $options_cache['bloginfo']; if (empty($options_cache['emkey'])) { $options_cache['site_title'] = '未注册的版本 ' . $options_cache['site_title']; } return $options_cache; } 注释或删除掉修改标题的几号行就可以了,改完如下 static function getAll() { $CACHE = Cache::getInstance(); $options_cache = $CACHE->readCache('options'); $options_cache['site_title'] = $options_cache['site_title'] ?: $options_cache['blogname']; $options_cache['site_description'] = $options_cache['site_description'] ?: $options_cache['bloginfo'];/* if (empty($options_cache['emkey'])) { $options_cache['site_title'] = '未注册的版本 ' . $options_cache['site_title']; }*/ return $options_cache; } emlog pro 如果是免费开源程序,大家可以修改免费来用, 如果是付费程序,想用的话就去花钱够买吧! 转载请注明出处

  • 代码显示测试

    代码显示测试

    其它  1-17  712浏览  54评论  

    /** * 遍历当前文件夹展示所有的文件和目录 */ function dirList($dir_path = '') { if(is_dir($dir_path)) { $dirs = opendir($dir_path); if($dirs) { while(($file = readdir($dirs)) !== false) { if($file !== '.' && $file !== '..') { if(is_dir($file)) { echo $dir_path . '/' . $file . '<br />'; dirList($dir_path . '/' . $file); } else { echo $dir_path . '/' . $file . '<br />'; } } } closedir($dirs); } } else { echo '目录不存在!'; } } dirList('/var/www/html/php-demo'); function dir_list($dir) { if(!is_dir($dir)) return false; $dir_list = array(); $opendir = opendir($dir); if($opendir) { while(($file = readdir($opendir)) !== false) { if($file !== '.' && $file !== '..') { $tem = $dir . '/' . $file; if(is_dir($tem)) { $dir_list[$tem . '/'] = $file . '/'; dir_list($tem); } else { $dir_list[] = $file; } } } closedir($opendir); return $dir_list; } } $dir = dir_list('/var/www/html/php-demo'); var_dump($dir); /** * 遍历当前文件夹展示所有的文件和目录 */ function dirList($dir_path = '') { if(is_dir($dir_path)) { $dirs = opendir($dir_path); if($dirs) { while(($file = readdir($dirs)) !== false) { if($file !== '.' && $file !== '..') { if(is_dir($file)) { echo $dir_path . '/' . $file . '<br />'; dirList($dir_path . '/' . $file); } else { echo $dir_path . '/' . $file . '<br />'; } } } closedir($dirs); } } else { echo '目录不存在!'; } } dirList('/var/www/html/php-demo'); function dir_list($dir) { if(!is_dir($dir)) return false; $dir_list = array(); $opendir = opendir($dir); if($opendir) { while(($file = readdir($opendir)) !== false) { if($file !== '.' && $file !== '..') { $tem = $dir . '/' . $file; if(is_dir($tem)) { $dir_list[$tem . '/'] = $file . '/'; dir_list($tem); } else { $dir_list[] = $file; } } } closedir($opendir); return $dir_list; } } $dir = dir_list('/var/www/html/php-demo'); var_dump($dir); void main(){ int a=0; int a++; } abcdefghijklmnopqrstuvwxyz a aaaaaaa bbbbbbbbbb cdddddd dccccccccccccc eeeeeeee f ffffffffff cdddddd dccccccccccccc eeeeeeee f ffffffffff cdddddd dccccccccccccc eeeeeeee f ffffffffff aaaaaaaaaaabbbbbbbbbbbbbbb aaaaaaaaaaaa bbbbbbbbbbbbb dddddddddddd ffffffffffff dfffffffffffw sfdsdfeqwer

  • vs2015激活码

    vs2015激活码

    其它  1-3  54浏览  0评论  

    专业版:HMGNV-WCYXV-X7G9W-YCX63-B98R2 企业版:HM6NR-QXX7C-DFW2Y-8B82K-WTYJV

  • php遍历文件夹下所有文件

    php遍历文件夹下所有文件

    PHP  1-15  386浏览  0评论  

    /** * 遍历当前文件夹展示所有的文件和目录 */ function dirList($dir_path = '') { if(is_dir($dir_path)) { $dirs = opendir($dir_path); if($dirs) { while(($file = readdir($dirs)) !== false) { if($file !== '.' && $file !== '..') { if(is_dir($file)) { echo $dir_path . '/' . $file . '<br />'; dirList($dir_path . '/' . $file); } else { echo $dir_path . '/' . $file . '<br />'; } } } closedir($dirs); } } else { echo '目录不存在!'; } } dirList('/var/www/html/php-demo'); function dir_list($dir) { if(!is_dir($dir)) return false; $dir_list = array(); $opendir = opendir($dir); if($opendir) { while(($file = readdir($opendir)) !== false) { if($file !== '.' && $file !== '..') { $tem = $dir . '/' . $file; if(is_dir($tem)) { $dir_list[$tem . '/'] = $file . '/'; dir_list($tem); } else { $dir_list[] = $file; } } } closedir($opendir); return $dir_list; } } $dir = dir_list('/var/www/html/php-demo'); var_dump($dir); 运行结果:

  • c/c++ socket函数详解

    c/c++ socket函数详解

    C/C++  10-22  574浏览  0评论  

    注意:  使用socketAPI前,要先将相关链接库(Ws2_32.lib)加入链接,并使用WSAStartUp函数初始化。 在linux中地址结构体sockaddr的结构与windows的不太一样,具体请百度 每个socket函数都可能失败(返回-1),需要判断结果 socket分成两种: 一种专门用来监听新链接(或新活动),这种socket叫做master socket,一般只存在于服务器 一种专门用来收发数据,这种socket叫做connected socket,客户端和服务器都存在 int socket(int af,int type,int protocol); // 建立一个socket用于连接 af:address family,如AF_INET type:连接类型,通常是SOCK_STREAM或SOCK_DGRAM protocol:协议类型,通常是IPPROTO_TCP或IPPROTO_UDP // 返回值:socket的编号,为-1表示失败 int bind(int socket,sockaddr * address,uint addrlen); // 将一个地址和一个端口号绑定到一个socket连接上 // socket:之前创建的socket // sockaddr:一个用来存放Ip地址和端口号的结构体 // addrlen:上述结构体的长度 // 返回值:为-1表示失败,若端口被占用,会从新绑定一个随机端口(仍返回失败) // 地址绑定为0表示绑定本机所有IP int sendto(int socket,char * buf,uint buflen,int flag,sockaddr * address,uint addrlen);【仅UDP】 // 向一个指定的地址发送缓冲区内指定长度的消息 // socket:之前创建的socket // buf:要发送的缓冲区 // buflen:要发送的长度 // flag:一般为0 // sockaddr:目标地址 // addrlen:上述结构体的长度 // 返回值:发送出去的长度 int recvfrom(int socket,char * buf,uint buflen,int flag,sockaddr * fromaddr,int * addrlen);【阻塞】【仅UDP】 // 接收消息,可以获取发送方的地址 // fromaddr:发送方地址(输出参数) // addrlen:发送方地址结构体的长度(输入输出参数) // 返回值:>0表示收到的字节数,=0表示连接被关闭,-1表示出错 int recv(int socket,char * buf,uint buflen,int flag);【阻塞】 // UDP时:接收任何一个发送到该socket的消息(无法获取发送方地址) // TCP时:接收一个已连接的socket (connected socket)发送的信息 // socket:UDP时,为之前创建的socket,TCP时,为connected socket // buf:接收的缓冲区 // buflen:缓冲区的长度 // flag:一般为0 // 返回值:>0表示收到的字节数,=0表示连接被关闭,-1表示出错 // 注意:对于TCP,请确保socket是已连接的,因为只有已连接的socket会阻塞此函数 // 该函数实际上是从缓冲区取指定长度的数据,如果缓冲区没有数据,则会阻塞;如果没有取完,则下次使用此函数的时候不会阻塞 // 应注意:当一次无法获得对方发送的全部数据,在数据不完整的时候,程序可能无法向下执行,可以考虑将数据放在缓冲区中,等数据全部接收完成的时候再使用 int getsockname(int socket,sockaddr * address,int * addrlen); // 获取指定socket上绑定的IP、端口信息(不能获取connected socket上的地址信息) // address:socket上绑定的地址(输出参数) // addrlen:socket上绑定的地址结构体的长度(输入输出参数) int getpeername(int socket,,sockaddr * address,int * addrlen);【仅TCP】 // 获取一个已连接的socket的地址、端口信息 // 参数含义同上 struct sockaddr_in 一个用来指定IP地址和端口号的结构体(不太好用,建议将其封装)   family // 即address family,如AF_INET   port // 端口号(注意要按位倒序,使用htons函数)   sin_addr.S_un.S_addr // 一个为long类型的ip地址 该结构体所有成员的字序为网络字序,低字节在前,高字节在后 int listen(int socket,int maxconn);【仅TCP】【服务器】 // 将一个socket设置为监听状态,专门用来监听的socket叫做master socket // maxconn:最大接收连接数 // 返回值:失败返回-1,成功返回0 int accept(int socket,sockaddr * fromaddr,int * addrlen);【阻塞】【仅TCP】【服务器】 // 接收一个客户机的连接,返回一个socket,来自客户机的socket叫connected socket // socket:用来监听的socket(master socket) // fromaddr:客户机的地址信息 // addrlen:地址结构体的长度(输入输出参数) // 返回值:返回一个新的socket,这个socket专门用来与此客户机通讯(connected socket) int connect(int socket,sockaddr * addr,int addrlen);【仅TCP】【客户端】 // 使用当前socket连接一个地址(与服务器建立正式连接),此函数会触发服务器端的accept、select函数 // 注意:服务端接收的socket值和客户端socket值不一样 // addr:一般是服务器地址 int send(int socket,char * buf,char buflen,int flag);【仅TCP】 // 向一个已连接的socket发送信息,这个socket应该是connected socket(非master socket) int closesocket(int socket); // 关闭一个已存在的socket【正常关闭】 // 失败返回-1,成功返回0 UDP通讯流程 WSAStartup() socket() bind() sendto(connected socket)/recv()/recvfrom() TCP通讯流程(服务器): WSAStartup() socket() bind() listen() accept() send()/recv() TCP通讯流程(客户端): WSAStartup() socket() bind() connect() send()/recv()

  • CreateWindowEx和CreateWindow的区别

    CreateWindowEx和CreateWindow的区别

    C/C++  6-24  625浏览  0评论  

    CreateWindowEx 函数功能:该函数创建一个具有扩展风格的重叠式窗口、弹出式窗口或子窗口,其他与 CreateWindow函数相同。关于创建窗口和其他参数的内容,请参看CreateWindowEx。 函数原型:HWND CreateWindowEx(DWORD dwExStle,LPCTSTR IpClassName,LPCTSTR lpWindowName,DWORD dwStyle,int x,int y,int nWidth,int nHeight,HWND hWndParent,HMENUhMenu,HANDLE hlnstance,LPVOIDlpParam); 参数: dwExStyle:指定窗口的扩展风格。该参数可以是下列值: WS_EX_ACCEPTFILES:指定以该风格创建的窗口接受一个拖拽文件。 WS_EX_APPWINDOW:当窗口可见时,将一个顶层窗口放置到任务条上。 WS_EX_CLIENTEDGE:指定窗口有一个带阴影的边界。 WS_EX_CONTEXTHELP:在窗口的标题条包含一个问号标志。当用户点击了问号时,鼠标光标变为一个问号的指针、如果点击了一个子窗口,则子窗日接收到WM_HELP消息。子窗口应该将这个消息传递给父窗口过程,父窗口再通过HELP_WM_HELP命令调用WinHelp函数。这个Help应用程序显示一个包含子窗口帮助信息的弹出式窗口。 WS_EX_CONTEXTHELP不能与WS_MAXIMIZEBOX和WS_MINIMIZEBOX同时使用。 WS_EX_CONTROLPARENT:允许用户使用Tab键在窗口的子窗口间搜索。 WS_EX_DLGMODALFRAME:创建一个带双边的窗口;该窗口可以在dwStyle中指定WS_CAPTION风格来创建一个标题栏。 WS_EX_LEFT:窗口具有左对齐属性,这是缺省设置的。 WS_EX_LEFTSCROLLBAR:如果外壳语言是如Hebrew,Arabic,或其他支持reading order alignment的语言,则标题条(如果存在)则在客户区的左部分。若是其他语言,在该风格被忽略并且不作为错误处理。 WS_EX_LTRREADING:窗口文本以LEFT到RIGHT(自左向右)属性的顺序显示。这是缺省设置的。 WS_EX_MDICHILD:创建一个MD子窗口。 WS_EX_NOPATARENTNOTIFY:指明以这个风格创建的窗口在被创建和销毁时不向父窗口发送WM_PARENTNOTFY消息。 WS_EX_OVERLAPPED:WS_EX_CLIENTEDGE和WS_EX_WINDOWEDGE的组合。 WS_EX_PALETTEWINDOW:WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW和WS_WX_TOPMOST风格的组合WS_EX_RIGHT:窗口具有普通的右对齐属性,这依赖于窗口类。只有在外壳语言是如Hebrew,Arabic或其他支持读顺序对齐(reading order alignment)的语言时该风格才有效,否则,忽略该标志并且不作为错误处理。 WS_EX_RIGHTSCROLLBAR:垂直滚动条在窗口的右边界。这是缺省设置的。 WS_EX_RTLREADING:如果外壳语言是如Hebrew,Arabic,或其他支持读顺序对齐(reading order alignment)的语言,则窗口文本是一自左向右)RIGHT到LEFT顺序的读出顺序。若是其他语言,在该风格被忽略并且不作为错误处理。 WS_EX_STATICEDGE:为不接受用户输入的项创建一个3一维边界风格 WS_EX_TOOLWIDOW:创建工具窗口,即窗口是一个游动的工具条。工具窗口的标题条比一般窗口的标题条短,并且窗口标题以小字体显示。工具窗口不在任务栏里显示,当用户按下alt+Tab键时工具窗口不在对话框里显示。如果工具窗口有一个系统菜单,它的图标也不会显示在标题栏里,但是,可以通过点击鼠标右键或Alt+Space来显示菜单。 WS_EX_TOPMOST:指明以该风格创建的窗口应放置在所有非最高层窗口的上面并且停留在其L,即使窗口未被激活。使用函数SetWindowPos来设置和移去这个风格。 WS_EX_TRANSPARENT:指定以这个风格创建的窗口在窗口下的同属窗口已重画时,该窗口才可以重画。 由于其下的同属富日已被重画,该窗口是透明的。 IpClassName:指向一个空结束的字符串或整型数atom。如果该参数是一个整型量,它是由此前调用theGlobaIAddAtom函数产生的全局量。这个小于OxCOOO的16位数必须是IpClassName参数字的低16位,该参数的高位必须是O。 如果lpClassName是一个字符串,它指定了窗口的类名。这个类名可以是任何用函数RegisterClassEx注册的类名,或是任何预定义的控制类名。请看说明部分的列表。 lpWindowName:指向一个指定窗口名的空结束的字符串指针。 如果窗口风格指定了标题条,由lpWindowName指向的窗口标题将显示在标题条上。当使用CreateWindow 函数来创建控制例如按钮,选择框和静态控制时,可使用lpWindowName来指定控制文本。 dwStyle:指定创建窗口的风格。该参数可以是下列窗口风格的组合再加上说明部分的控制风格。 x:参见CreateWindow。 y:参见CreateWindow。 nWidth:CreateWindow。 nHeigth:参见CreateWindow。 hWndParent:参见CreateWindow。 hMenu:参见CreateWindow。 hlnstance:参见CreateWindow。 lpParam:参见CreateWindow。 返回值:参见CreateWindow。 备注:参见CreateWindow。 速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本;头文件:winuser.h;库文件:USer32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。 ----------------------------------------------------------------------------------------- CreateWindow 函数功能:该函数创建一个重叠式窗口、弹出式窗口或子窗口。它指定窗口类,窗口标题,窗口风格,以及窗口的初始位置及大小(可选的)。该函数也指定该窗口的父窗口或所属窗口(如果存在的话),及窗口的菜单。若要使用除CreateWindow函数支持的风格外的扩展风格,则使用CreateWindowEx函数代替CreateWindow函数。 函数原型:HWND CreateWindow(LPCTSTR lpClassName,LPCTSTR lpWindowName,DWORD dwStyle,int x,int y,int nWidth,int nHeight,HWND hWndParent,HMENU hMenu,HANDLE hlnstance,LPVOID lpParam); 参数: lpClassName:指向一个空结束的字符串或整型数atom。如果该参数是一个整型量,它是由此前调用theGlobalAddAtom函数产生的全局量。这个小于0xC000的16位数必须是lpClassName参数字的低16位,该参数的高位必须是0。 如果lpClassName是一个字符串,它指定了窗口的类名。这个类名可以是任何用函数RegisterClassEx注册的类名,或是任何预定义的控制类名。请看说明部分的列表。 LPWindowName:指向一个指定窗口名的空结束的字符串指针。 如果窗口风格指定了标题条,由lpWindowName指向的窗口标题将显示在标题条上。当使用Createwindow函数来创建控制例如按钮,选择框和静态控制时,可使用lpWindowName来指定控制文本。 dwStyle:指定创建窗口的风格。该参数可以是下列窗口风格的组合再加上说明部分的控制风格。风格意义: WS_BORDER:创建一个单边框的窗口。 WS_CAPTION:创建一个有标题框的窗口(包括WS_BODER风格)。 WS_CHIlD:创建一个子窗口。这个风格不能与WS_POPUP风格合用。 WS_CHLDWINDOW:与WS_CHILD相同。 WS_CLIPCHILDREN:当在父窗口内绘图时,排除子窗口区域。在创建父窗口时使用这个风格。 WS_CLlPBLINGS;排除子窗口之间的相对区域,也就是,当一个特定的窗口接收到WM_PAINT消息时,WS_CLIPSIBLINGS 风格将所有层叠窗口排除在绘图之外,只重绘指定的子窗口。如果未指定WS_CLIPSIBLINGS风格,并且子窗口是层叠的,则在重绘子窗口的客户区时,就会重绘邻近的子窗口。 WS_DISABLED:创建一个初始状态为禁止的子窗口。一个禁止状态的窗日不能接受来自用户的输入信息。 WS_DLGFRAME:创建一个带对话框边框风格的窗口。这种风格的窗口不能带标题条。 WS_GROUP:指定一组控制的第一个控制。这个控制组由第一个控制和随后定义的控制组成,自第二个控制开始每个控制,具有WS_GROUP风格,每个组的第一个控制带有WS_TABSTOP风格,从而使用户可以在组间移动。用户随后可以使用光标在组内的控制间改变键盘焦点。 WS_HSCROLL:创建一个有水平滚动条的窗口。 WS_ICONIC:创建一个初始状态为最小化状态的窗口。与WS_MINIMIZE风格相同。 WS_MAXIMIZE:创建一个具有最大化按钮的窗口。该风格不能与WS_EX_CONTEXTHELP风格同时出现,同时必须指定WS_SYSMENU风格。 WS_OVERLAPPED:产生一个层叠的窗口。一个层叠的窗口有一个标题条和一个边框。与WS_TILED风格相同。 WS_OVERLAPPEDWINDOW:创建一个具有WS_OVERLAPPED,WS_CAPTION,WS_SYSMENU WS_THICKFRAME,WS_MINIMIZEBOX,WS_MAXMIZEBOX风格的层叠窗口,与WS_TILEDWINDOW风格相同。 WS_POPUP;创建一个弹出式窗口。该风格不能与WS_CHLD风格同时使用。 WS_POPUWINDOW:创建一个具有WS_BORDER,WS_POPUP,WS_SYSMENU风格的窗口,WS_CAPTION和WS_POPUPWINDOW必须同时设定才能使窗口某单可见。 WS_SIZEBOX:创建一个可调边框的窗口,与WS_THICKFRAME风格相同。 WS_SYSMENU:创建一个在标题条上带有窗口菜单的窗口,必须同时设定WS_CAPTION风格。 WS_TABSTOP:创建一个控制,这个控制在用户按下Tab键时可以获得键盘焦点。按下Tab键后使键盘焦点转移到下一具有WS_TABSTOP风格的控制。 WS_THICKFRAME:创建一个具有可调边框的窗口,与WS_SIZEBOX风格相同。 WS_TILED:产生一个层叠的窗口。一个层叠的窗口有一个标题和一个边框。与WS_OVERLAPPED风格相同。 WS_TILEDWINDOW:创建一个具有WS_OVERLAPPED,WS_CAPTION,WS_SYSMENU MS_THICKFRAME. WS_MINIMIZEBOX,WS_MAXMIZEBOX风格的层叠窗口。与WS_OVERLAPPEDWINDOW风格相同。 WS_VISIBLE:创建一个初始状态为可见的窗口。WS_VSCROLL:创建一个有垂直滚动条的窗口。 X:指定窗口的初始水平位置。对一个层叠或弹出式窗口,X参数是屏幕坐标系的窗口的左上角的初始X坐标。对于子富口,x是子窗口左上角相对父窗口客户区左上角的初始X坐标。如果该参数被设为CW_UCEDEFAULT则系统为窗口选择缺省的左上角坐标并忽略Y参数。CW_USEDEFAULT只对层叠窗口有效,如果为弹出式窗口或子窗口设定,则X和y参数被设为零。 Y:指定窗口的初始垂直位置。对一个层叠或弹出式窗日,y参数是屏幕坐标系的窗口的左上角的初始y坐标。对于子窗口,y是子窗口左上角相对父窗口客户区左上角的初始y坐标。对于列表框,y是列表框客户区左上角相对父窗口客户区左上角的初始y坐标。如果层叠窗口是使用WS_VISIBLE风格位创建的并且X参数被设为CW_USEDEFAULT,则系统将忽略y参数。 nWidth:以设备单元指明窗口的宽度。对于层叠窗口,nWidth或是屏幕坐标的窗口宽度或是CW_USEDEFAULT。若nWidth是CW_USEDEFAULT,则系统为窗口选择一个缺省的高度和宽度:缺省宽度为从初始X坐标开始到屏幕的右边界,缺省高度为从初始X坐标开始到目标区域的顶部。CW_USEDFEAULT只参层叠窗口有效;如果为弹出式窗口和子窗口设定CW_USEDEFAULT标志则nWidth和nHeight被设为零。 nHelght:以设备单元指明窗口的高度。对于层叠窗口,nHeight是屏幕坐标的窗口宽度。若nWidth被设为CW_USEDEFAULT,则系统忽略nHeight参数。 hWndParent:指向被创建窗口的父窗口或所有者窗口的旬柄。若要创建一个子窗口或一个被属窗口,需提供一个有效的窗口句柄。这个参数对弹出式窗日是可选的。Windows NT 5.0;创建一个消息窗口,可以提供HWND_MESSAGE或提供一个己存在的消息窗口的句柄。 hMenu:菜单句柄,或依据窗口风格指明一个子窗口标识。对于层叠或弹出式窗口,hMenu指定窗口使用的菜单:如果使用了菜单类,则hMenu可以为NULL。对于子窗口,hMenu指定了该子窗口标识(一个整型量),一个对话框使用这个整型值将事件通知父类。应用程序确定子窗口标识,这个值对于相同父窗口的所有子窗口必须是唯一的。 hlnstance:与窗口相关联的模块事例的句柄。 lpParam:指向一个值的指针,该值传递给窗口 WM_CREATE消息。该值通过在IParam参数中的CREATESTRUCT结构传递。如果应用程序调用CreateWindow创建一个MDI客户窗口,则lpParam必须指向一个CLIENTCREATESTRUCT结构。 返回值:如果函数成功,返回值为新窗口的句柄:如果函数失败,返回值为NULL。若想获得更多错误信息,请调用GetLastError函数。 备注:在返回前,CreateWindow给窗口过程发送一个WM_CREATE消息。对于层叠,弹出式和子窗口,CreateWindow给窗口发送WM_CREATE,WM_GETMINMAXINFO和WM_NCCREATE消息。消息WM_CREATE的IParam参数包含一个指向CREATESTRUCT结构的指针。如果指定了WS_VISIBLE风格,CreateWindow向窗口发送所有需要激活和显示窗口的消息。 获取有关任务条是否为创建的窗口显示一个按钮的控制信息,参看Taskbar按钮的Visbility。 以下预定义的控制类可以在lpClassName参数中指定。注意在dwStyle参数中可以使用的相应的控制风格。 BUTTON按钮按钮是一个小矩形子窗口,用户可以点击来打开或关闭。按钮控制可以单独使用或包含在组中使用,可以为控制写标签或不写标签。当用户点击按钮控制时按钮的外观有明显的改变。请参看Button。查看dwStyle参数中指定的按钮风格表请参考Button Style。 COMBOBOX组合框由一个列表框和一个类似于编辑控制的选择域组成。在使用这个风格控制时,应用程序或者使列表框一直显示或者是作成一个下拉列表。如果列表框可见,则在编辑域中输入字符将使列表框中与字符一致的第一个域高亮。反之,在列表框中选择的项将显示在编辑域中。请参看Combo Boxes。 查看dwStyle参数中指定的组合框风格表请参考Combo Boxes Style。 EDIT编辑框一个小的矩形子窗口用户可以使用键盘向其中输入文本。用户可以通过点击或按Tab键来选中编辑框控制并且使控制获得焦点。当编辑框中显示一个闪烁的插入记号时,用户可以输入文本。使用鼠标移动光标,选择被替换的字符或设置插入字符的位置或使用回退键删除字符。请参看Edit。controls。 查看dwStyle参数中指定的编辑框风格的表格请参考Edit Control Style。 LISTBOX列表框字符串的列表。当应用程序必须显示名称的列表,例如文件名列表等,使用户可以从中选择时就可指定列表框。用户可以通过单击来选择名称。选择时,被选择名高亮,同时传递给父窗口一个通知消息。请参看LiSt Box Style。查看dwStyle参数中指定的列表风格表请参考List BOX Control Style。 MDICLIENT MDI客户设计出MDI客户窗口。窗口接收控制MDI应用程序子窗口的消息。建议使用两种控制风格位:WS_CLIPCHILDREN和WS_CHILD。指定了WS_HSCROLL和WS_VSCROLL风格的MDI客户窗口允许用户将MDI子窗口滑动进入视窗。请参看MDI。 RiChEdit设计一个Rich Editl.0版的控制。该控制使用户可以以字符和段落格式测览和编辑文本,并且可以包含嵌入的COM对象。请参看Rich Edit Controls。查看dwStyle参数中指定的RichEdit风格表请参考LiSt Box Control Style。 RICHEDIT CLASS设计一个Rich Edik2.0版的控制。该控制使用户可以以字符和段落格式测览和编辑文本,并且可以包含嵌入的COM对象。请参看RichEditControls。查看dwStyle参数中指定的RichEdit风格表请参考RichEditControIStyle。 SCROLLBAR 滚动条设计的一个包含着一个滚动盒和两端有方向箭头的矩形。只要用户点击了控制,滚动条就给父窗口发送一个通知消息。如有必要,父窗口负责更新滚动条的位置。请参看ScrollBars。查看dwStyle参数中指定的滚动条风格表请参考Scroll Bars Style。 STATIC一个简单的静态文本域,文本盒或矩形用于给控制加标签,组合控制或将控制与其他控制分开。 静态控制不提供输入和也不提供输出。请参看Static Control Styles。查看dwStyle参数中指定的静态文本风格表请参考Scroll Bars Style。 Windows95:系统可以支持最大16,364个窗口句柄。 备注:如果在链接应用程序时指明是Windows 4.x版本,除非应用程序的窗口有窗口某单,否则窗口控制没有标题控制。对Windows3.x版本没有这种要求。 Windows CE:CreateWindow是以“宏”方式完成的。它被定义为CreateWindowEX,并且dwExStyle参数被置为长整数0。不支持菜单条控制,除非被声明为子窗口标志否则hMenu参数必须为NULL。不支持MDICLIENT窗口类。dwStyle参数可以是对话框(Dialogue Box),窗口(Windows),控制(Controls)文件中的窗口风格和控制风格的组合。 下列dwStyle标志在窗口中不支持: WS_CHILDWINDOW WS_ICONC;WS_MAXMIZE WS_MAXIMIZEBOX;WS_MINIMIZE WS_MINIMIZEBOX; WS_OVERLAPPEDWINDOW WS_POPUPWINDOW;WS_SIZEBOXWS_THICKFRAME WS_TILED WS_TILEDWINDOW 下列dwStyle标志在控制和对话框中不支持: 不支持的按钮风格和静态控制风格: BS_LEFTTEXT SS_BLACKFRAME;BS_MULTILINE SS_GRAYFRAME BS_TEXT SS_METAPICT;BS_USERBUTTON SS_SIMPLE 不支持组合框SS_WHITERECT风格。 CBS_OWNERDRAWFIXED SS_BLACKRECT;CBS_OWNWEDRAWVARIABLE SS_GRAYRECT; CBS_SIMPLE8R旧HTrIMAGE 不支持列表框控制SS_WHITEFRAME风格。 LBS_NODATA 不支持的对话框风格: LBS_OWNERDRAWFIXED DS_ABSALIGN; LBS_OWNERDRAWVARIABLE DS_CENTERMOUSE; LBS_STANDARD DS_CONTEXTHELP 不支持滚动条的 DS_FIXEDSYS风格 SBS_BOTTOMALIGN DS_NOFAILCREATE;SBS_RIGHTALIGN DS_NOIDLEMSG; SBS_SlZEBOXBOTT0MRIHTALIGN DS_SYSMODAL;SBS_SIZEGRIP 可使用BS_OWNERDRAW风格来代替BS_USERBUTTON风格。 可使用SS_LEFT或SS_LEFTNOWORDWRAP风格来代替静态控制的SS_SIMPLE风格。 不支持MDICLIENT窗口类。 所有窗口都隐含WS_CLIPSIBLINGS和 WS_CLIPCHILDREN风格。 Windows CE1.0版除对话框外不支持被属窗口。如果hwndParent参数不为NULL,则窗口隐含给出WS_CHILD风格。Windows CE1.0不支持菜单条。 速查: Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本;头文件:winuser.h;库文件:user32.lib; Unicode:在Windows NT上实现为Unicode和ANSI两种版本。 --------------------------------------------------------------

  • 通过修改注册表实现更换 文件夹浏览方式

    通过修改注册表实现更换 文件夹浏览方式

    Windows  3-24  654浏览  0评论  

    是否看腻了WinPe中的文件夹浏览方式,想换一下品味呢?其实只要修改PE注册表即可实现,看看是怎么修改的吧:   用regedit或Registry Workshop挂载DEFAULT,修改注册表[\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams]以下的相关键值即可:   缩略图查看方式:   "Settings"=hex:08,00,00,00,05,00,00,00,01,00,00,00,90,b2,eb,8b,d0,52,d0,11,b7,f4,00,c0,4f,d7,\06,ec,04,00,00,00,07,00,00,00,43,00,00,00   平铺查看方式:   "Settings"=hex:08,00,00,00,06,00,00,00,01,00,00,00,e5,25,f1,65,e1,7b,10,48,ba,9d,d2,71,c8,43,\2c,e3,04,00,00,00,1a,00,00,00,43,00,00,00   图标查看方式:   "Settings"=hex:08,00,00,00,01,00,00,00,01,00,00,00,e0,d0,57,00,73,35,cf,11,ae,69,08,00,2b,2e,\12,62,04,00,00,00,20,00,00,00,43,00,00,00   列表查看方式:   "Settings"=hex:09,00,00,00,03,00,00,00,00,00,00,00,e0,a5,1f,0e,73,35,cf,11,ae,69,08,00,2b,2e,\12,62,04,00,00,00,01,00,00,00,43,00,00,00   详细信息查看方式:   "Settings"=hex:08,00,00,00,04,00,00,00,01,00,00,00,00,77,7e,13,73,35,cf,11,ae,69,08,00,2b,2e,\12,62,04,00,00,00,01,00,00,00,43,00,00,00

  • IME消息、函数、命令、需要的数据结构、常量

    IME消息、函数、命令、需要的数据结构、常量

    C/C++  1-14  823浏览  0评论  

    IME消息   以下列出IME中用到的消息。 WM_IME_CHAR(IME得到了转换结果中的一个字符) WM_IME_COMPOSITION(IME根据用户击键的情况更改了按键组合状态) WM_IME_COMPOSITIONFULL(IME检测到按键组合窗口的区域无法继续扩展) WM_IME_CONTROL(由应用程序直接向IME发出控制请求) WM_IME_ENDCOMPOSITION(IME完成了对用户击键情况的组合) WM_IME_KEYDOWN(检测到“键盘上的某键被按下”的动作,同时在消息队列中保留该消息) WM_IME_KEYUP(检测到“键盘上的某键已弹起”的动作,同时在消息队列中保留该消息) WM_IME_NOTIFY(IME窗口发生了改变) WM_IME_REQUEST(通知:IME需要应用程序提供命令和请求信息) WM_IME_SELECT(操作系统将改变当前IME) WM_IME_SETCONTEXT(输入焦点转移到了某个窗口上) WM_IME_STARTCOMPOSITION(IME准备生成转换结果) IME函数   本节列出了所有IME函数。 函数 说明 EnumInputContext 由应用程序定义的,提供给ImmEnumInputContext函数用来处理输入环境的一个回调函数。 EnumRegisterWordProc 由应用程序定义的,结合ImmEnumRegisterWord函数一起使用的一个回调函数。 ImmAssociateContext 建立指定输入环境与窗口之间的关联。 ImmAssociateContextEx 更改指定输入环境与窗口(或其子窗口)之间的关联。 ImmConfigureIME 显示指定的输入现场标识符的配置对话框。 ImmCreateContext 创建一个新的输入环境,并为它分配内存和初始化它。 ImmDestroyContext 销毁输入环境并释放和它关联的内存。 ImmDisableIME 关闭一个线程或一个进程中所有线程的IME功能。 ImmDisableTextFrameService 关闭指定线程的文本服务框架(TSF)功能--虽然这里把它列了出来,但建议程序员最好不要使用这个函数。 ImmEnumInputContext 获取指定线程的输入环境。 ImmEnumRegisterWord 列举跟指定读入串、样式和注册串相匹配的注册串。 ImmEscape 对那些不能通过IME API函数来访问的特殊输入法程序提供兼容性支持的一个函数。 ImmGetCandidateList 获取一个候选列表。 ImmGetCandidateListCount 获取候选列表的大小。 ImmGetCandidateWindow 获取有关候选列表窗口的信息。 ImmGetCompositionFont 获取有关当前用来显示按键组合窗口中的字符的逻辑字体的信息。 ImmGetCompositionString 获取有关组合字符串的信息。 ImmGetCompositionWindow 获取有关按键组合窗口的信息。 ImmGetContext 获取与指定窗口相关联的输入环境。 ImmGetConversionList 在不生成任何跟IME有关的消息的情况下,获取输入按键字符组合或输出文字的转换结果列表。 ImmGetConversionStatus 获取当前转换状态。 ImmGetDefaultIMEWnd 获取缺省IME类窗口的句柄。 ImmGetDescription 复制IME的说明信息到指定的缓冲区中。 ImmGetGuideLine 获取出错信息。 ImmGetIMEFileName 获取跟指定输入现场相关联的IME文件名。 ImmGetImeMenuItems 获取注册在指定输入环境的IME菜单上的菜单项。 ImmGetOpenStatus 检测IME是否打开。 ImmGetProperty 获取跟指定输入现场相关联的IME的属性和功能。 ImmGetRegisterWordStyle 获取跟指定输入现场相关联的IME所支持的样式列表。 ImmGetStatusWindowPos 获取状态窗口的位置。 ImmGetVirtualKey 获取跟IME处理的键盘输入消息相关联的初始虚拟键值。 ImmInstallIME 安装一个IME。 ImmIsIME 检测指定的输入现场是否有和它相关的IME。 ImmIsUIMessage 检查IME窗口消息并发送那些消息到特定的窗口。 ImmNotifyIME 通知IME有关输入环境状态已改变的消息。 ImmRegisterWord 注册一个输出文字到跟指定输入现场相关联的IME的字典中去。 ImmReleaseContext 销毁输入环境并解除对跟它相关联的内存的锁定。 ImmSetCandidateWindow 设置有关候选列表窗口的信息。 ImmSetCompositionFont 设置用来显示按键组合窗口中的字符的逻辑字体。 ImmSetCompositionString 设置按键组合字符串的字符内容、属性和子串信息。 ImmSetCompositionWindow 设置按键组合窗口的位置。 ImmSetConversionStatus 设置当前转换状态。 ImmSetOpenStatus 打开或关闭IME功能。 ImmSetStatusWindowPos 设置状态窗口的位置。 ImmSimulateHotKey 在指定的窗口中模拟一个特定的IME热键动作,以触发该窗口相应的响应动作。 ImmUnregisterWord 从跟指定输入环境相关联的IME的字典中注销一个输出文字。 IME命令   以下列出IME中用到的命令(控制消息)。 IMC_CLOSESTATUSWINDOW(隐藏状态窗口) IMC_GETCANDIDATEPOS(获取候选窗口的位置) IMC_GETCOMPOSITIONFONT(获取用来显示按键组合窗口中的文本的逻辑字体) IMC_GETCOMPOSITIONWINDOW(获取按键组合窗口的位置) IMC_GETSTATUSWINDOWPOS(获取状态窗口的位置) IMC_OPENSTATUSWINDOW(显示状态窗口) IMC_SETCANDIDATEPOS(设置候选窗口的位置) IMC_SETCOMPOSITIONFONT(设置用来显示按键组合窗口中的文本的逻辑字体) IMC_SETCOMPOSITIONWINDOW(设置按键组合窗口的样式) IMC_SETSTATUSWINDOWPOS(设置状态窗口的位置) IMN_CHANGECANDIDATE(IME通知应用程序:候选窗口中的内容将改变) IMN_CLOSECANDIDATE(IME通知应用程序:候选窗口将关闭) IMN_CLOSESTATUSWINDOW(IME通知应用程序:状态窗口将关闭) IMN_GUIDELINE(IME通知应用程序:将显示一条出错或其他信息) IMN_OPENCANDIDATE(IME通知应用程序:将打开候选窗口) IMN_OPENSTATUSWINDOW(IME通知应用程序:将创建状态窗口) IMN_SETCANDIDATEPOS(IME通知应用程序:已结束候选处理同时将移动候选窗口) IMN_SETCOMPOSITIONFONT(IME通知应用程序:输入内容的字体已更改) IMN_SETCOMPOSITIONWINDOW(IME通知应用程序:按键组合窗口的样式或位置已更改) IMN_SETCONVERSIONMODE(IME通知应用程序:输入内容的转换模式已更改) IMN_SETOPENSTATUS(IME通知应用程序:输入内容的状态已更改) IMN_SETSENTENCEMODE(IME通知应用程序:输入内容的语句模式已更改) IMN_SETSTATUSWINDOWPOS(IME通知应用程序:输入内容中的状态窗口的位置已更改) IMR_CANDIDATEWINDOW(通知:选定的IME需要应用程序提供有关候选窗口的信息) IMR_COMPOSITIONFONT(通知:选定的IME需要应用程序提供有关用在按键组合窗口中的字体的信息) IMR_COMPOSITIONWINDOW(通知:选定的IME需要应用程序提供有关按键组合窗口的信息) IMR_CONFIRMRECONVERTSTRING(通知:IME需要应用程序更改RECONVERTSTRING结构) IMR_DOCUMENTFEED(通知:选定的IME需要从应用程序那里取得已转换的字符串) IMR_QUERYCHARPOSITION(通知:选定的IME需要应用程序提供有关组合字符串中某个字符的位置信息) IMR_RECONVERTSTRING(通知:选定的IME需要应用程序提供一个用于自动更正的字符串) IME编程中需要用到的数据结构   这里列了所有在使用输入法编辑器函数和消息时需要用到的数据结构。   CANDIDATEFORM(描述候选窗口的位置信息)   CANDIDATELIST(描述有关候选列表的信息)   COMPOSITIONFORM(描述按键组合窗口的样式和位置信息)   IMECHARPOSITION(描述按键组合窗口中的字符的位置信息)   IMEMENUITEMINFO(描述IME菜单项的信息)   RECONVERTSTRING(定义用于IME自动更正功能的字符串)   REGISTERWORD(描述一个要注册的读入信息或文字内容)   STYLEBUF(描述样式的标识符和名称) IME常量   这里列出了所有在使用输入法编辑器函数和消息时需要用到的常量。   ? IME转换模式常量   ? IME按键组合字符串常量   ? IME热键标识常量   ? IME句型模式常量   ? IMMEscape函数常量

  • 【MFC】GDI字体和CFont类

    【MFC】GDI字体和CFont类

    C/C++  1-14  760浏览  0评论  

    GDI字体和CFont类 所有的CDC文本函数都使用当前选入设备描述表的字体。字体是指一组具有特定尺寸(高度)和字样的字符;字样是指字符共有的属性,如字的粗细度----正常体或黑体。在传统印刷式样中,字体尺寸大小是以point(即点)为单位来度量的。一个点相当于1/72英寸。12-点字体中的字符就有1/6英寸高。 如果想以像素为单位制定字体尺寸,则调用CreateFont或CreateFontIndirect;如果想以点为单位制定字体尺寸,则调用CreatePointFont或CreatePointFontIndirect。 使用CreateFont函数创建一个以点为单位的相同字体尺寸的字体,则需要向设备描述表查询垂直方向上每英寸内像素的逻辑个数。 传递给CreatePointFont的数值是你所期望的点的大小的10倍。这样字体尺寸就可以控制到字体的1/10,考虑到大部分屏幕和其他常见输出设备相对较低的分辨率,对于大多数应用场合,这个精度已经够用了。 不能用CreatePointFont创建一个粗黑、倾斜的字体,但用CreatePointFontIndirect就能达到目的。【上面这一段来自《MFC Windows程序设计(第2版)》】   LOGFONT是一个结构,它的字段定义了字体的所有特性。(下面解释来自百度百科http://baike.baidu.com/link?url=DzHMLGkAgJUYmSMVZax7FFX_oLy4vuvSb9AEbfIocghJF3iFJXeYT9YAg18rwfyNvPZMtuVtZ7KGqxHF1QON9a) typedef struct tagLOGFONT { // lf LONG lfHeight; LONG lfWidth; LONG lfEscapement; LONG lfOrientation; LONG lfWeight; BYTE lfItalic; BYTE lfUnderline; BYTE lfStrikeOut; BYTE lfCharSet; BYTE lfOutPrecision; BYTE lfClipPrecision; BYTE lfQuality; BYTE lfPitchAndFamily; TCHAR lfFaceName[LF_FACESIZE]; } LOGFONT; lfHeight: 以逻辑单位指定字体字符元(character cell)或字符的高度。字符高度值为字符元高度值减去内部行距(internal-leading)值。当lfHeight大于0时,字体映射程序将该值转换为设备单位,并将它与可用字体的字符元高度进行匹配;当该参数为0时,字体映射程度将使用一个匹配的默认高度值;如果参数的值小于0,则将其转换为设备单位,并将其绝对值与可用字体的字符高度进行匹配。对于任何一种情况,字体映射程度最终得到的字体高度值不会超过所指定的值。以MM_TEXT映射模式下,字体高度值和磅值有如下的换算公式:lfHeight=-MulDiv(PointSize, GetDeviceCaps(hDC, LOGPIXELSY), 72);   lfWidth: 以逻辑单位指定字体字符的平均宽度。如果lfWidth的值为0,则根据设备的纵横比从可用字体的数字转换纵横中选取最接近的匹配值,该值通过比较两者之间的差异的绝对值得出。 lfEscapement: 以十分之一度为单位指定每一行文本输出时相对于页面底端的角度。 lfOrientation: 以十分之一度为单位指定字符基线相对于页面底端的角度。 lfWeight: 指定字体重量。在Windows中,字体重量这个术语用来指代字体的粗细程度。lfWeight的范围为0到1000,正常情况下的字体重量为400,粗体为700。如果lfWeight为0,则使用默认的字体重量。 lfItalic: 当lfItalic为TRUE时使用斜体 lfUnderline: 当lfUnderline为TRUE时给字体添加下划线 lfStrikeOut: 当lfStrikeOut为TRUE时给字体添加删除线 lfCharSet: 指定字符集。可以使用以下预定义的值:ANSI_CHARSET、BALTIC_CHARSET、CHINESEBIG5_CHARSET、DEFAULT_CHARSET、EASTEUROPE_CHARSET、GB2312_CHARSET、GREEK_CHARSET、HANGUL_CHARSET、MAC_CHARSET、OEM_CHARSET、RUSSIAN_CHARSET、SHIFTJIS_CHARSET、SYMBOL_CHARSET、TURKISH_CHARSET。 其中,OEM_CHARSET 表示字符集依赖本地操作系统。 DEFAULT_CHARSET 表示字符集基于本地操作系统。例如,系统位置是 English (United States),字符集将设置为 ANSI_CHARSET。 lfOutPrecision: 指定输出精度。输出精度定义了输出与所要求的字体高度、宽度、字符方向等的接近程度。它可以为下面的值之一:OUT_CHARACTER_PRECIS、OUT_DEFAULT_PRECIS、OUT_STRING_PRECIS、OUT_STROKE_PRECIS。 lfClipPrecision: 指定剪辑精度。剪辑精度定义了当字符的一部分超过剪辑区域时对字符的剪辑方式,它可以为下列值之一:CLIP_CHARACTER_PRECIS、CLIP_DEFAULT_PRECIS、CLIP_STROKE_PRECIS。 lfQuality: 定义输出质量。输出质量定义了图形设备接口在匹配逻辑字体属性到实际的物理字体的所使用的方式,它可以为下列值之一:DEFAULT_QUALITY (默认质量)、DRAFT_QUALITY (草稿质量)、PROOF_QUALITY (正稿质量)。 lfPitchAndFamily: 指定字体的字符间距和族。最低两位指定字体的字符间距为以下值之一:DEFAULT_PITCH、FIXED_PITCH、VARIABLE_PITCH第4到7位指定字体族为以下值之一:FF_DECORATIVE、FF_DONTCARE、FF_MODERN、FF_ROMAN、FF_SCRIPT、FF_SWISS这些值的具体含义可以参考Visual C++中关于结构LOGFONT的文档。字符间距和字体族可以使用逻辑或(OR)运算符来进行组合。 lfFaceName: 一个指定以NULL结尾的字符串,它指定的所用的字体名。该字符串的长度不得超过32个字符,如果lfFaceName为NULL,图形设备接口将使用默认的字体名。     重点说明: lfHeight字段:         铺垫:在传统印刷式样中,字体尺寸大小是以point(即点)为单位来度量的。一个点相当于1/72英寸。12-点字体中的字符就有1/6英寸高。在Windows中的一些软件中,有些字体大小是用阿拉伯数字表示的,8,9,10等等。 这个好像是磅值。 百度经常发现这个公式“百度解释:字体高度值和磅值有如下的换算公式”: lfHeight=-MulDiv(PointSize, GetDeviceCaps(hDC, LOGPIXELSY), 72); PointSize指的就是“字体尺寸大小是以point(即点)为单位来度量的”。   测试代码如下: int nPointSize = 8; int lfHeight = -MulDiv(nPointSize, GetDeviceCaps(dc.GetSafeHdc(), LOGPIXELSY), 72); CFont font; LOGFONT lf; font.CreatePointFont(80, _T("Times New Roman")); font.GetLogFont(&lf); 运行后,lfHeight与lf.lfHeight的值都等于-11.所以以点为单位度量字体大小的nPointSize与LOGFONT中的lfHeight有一定的转换关系。重点是“以点为单位度量字体大小”时候。   创建字体方法: 如果想以像素为单位制定字体尺寸,则调用CreateFont或CreateFontIndirect;如果想以点为单位制定字体尺寸,则调用CreatePointFont或CreatePointFontIndirect。 (1)      CreateFont创建字体,使用的参数字体高度是以像素为单位,它与nPointSize有一个转换关系; nHeight = -((dc.GetDeviceCaps(LOGPIXELSY) * nPointSize) / 72); (2)     CreateFontIndirect方法使用参数虽然也是结构体LOGFONT,但是此时结构体中lfHeight,如果为负值,它将由公式int lfHeight = -MulDiv(nPointSize, GetDeviceCaps(dc.GetSafeHdc(), LOGPIXELSY), 72)匹配一个对应点单位的字体;如果为正值,转为设备单位,应该就是像素。 (3)      CreatePointFont“以点为单位度量字体大小”创建字体,但是传递给CreatePointFont的数值是你所期望的点的大小的10倍。例如nPointSize = 12,要传递的参数应该为120. (4)     CreatePointFontIndirect“以点为单位度量字体大小”,在初始化LOGFONT结构体变量时,lfHeight需要传递为nPointSize * 10.   关于中文字号与点单位字体对应表 中文字号 点 初号 42 小初 36 一号 26 小一 24 二号 22 小二 18 三号 16 小三 15 四号 14 小四 12 五号 10 小五 9 六号 7 小六 6 七号 5 八号 5

  • MFC类目录及头文件(转)

    MFC类目录及头文件(转)

    C/C++  11-7  1130浏览  0评论  

     类  描述  头文件 CAnimateCtrl  自动化通用控件  afxcmn.h  CArchive     afx.h  CArchiveException     afx.h  CArray     afxtempl.h  CAsyncMonikerFile  在ActiveX控件中提供对异步标记的支持  afxole.h  CAsyncScoket  封装Windows Sockets API,参看CSocket  afxsock.h  CBitmap     afxwin.h  CBitmapButton     afxext.h  CBrush     afxwin.h  CButton  按钮控件对象  afxwin.h  CByteArray     afxcoll.h  CCachedDataPathProperty  允许一个ActiveX控件异步传输属性数据和缓冲内存中的数据,参考CDataPathProperty  afxctl.h  CCheckListBox     afxwin.h  CClientDC     afxwin.h  CCmdTarget  所有能够接收和响应消息的对象的基类  afxwin.h  CCmdUI     afxwin.h  CColorDialog  颜色选择的通用对话框,提供为显示系统定义的颜色列表  afxdlgs.h  CComboBox  组合框对象  afxwin.h  CComboBoxEx  CComboBox类的派生类,用于支持在组合框控件中的图像列表  afxcmn.h  CCommandLineInfo     afxwin.h  CCommonDialog     afxdlgs.h  CConnectionPoint     afxdisp.h  CControlBar     afxext.h  CCreateContext     afxext.h  CCriticalSection     afxmt.h  CCtrlView     afxwin.h  CDaoDatabase     afxdao.h  CDaoException     afxdao.h  CDaoFieldExchange     afxdao.h  CDaoQueryDef     afxdao.h  CDaoRecordset  代表选自数据源的记录集。CDaoRecordset对象可用于三种格式:表类型记录集,动态集类型记录集和快照类型记录集  afxdao.h  CDaoRecordView  提供表单视图,以在控件中显示数据库记录。表单视图是CDaoRecordset对象的一部分。参考CFormView和CRecordView  afxdao.h  CDaoTableDef     afxdao.h  CDaoWorkspace     afxdao.h  CDatabase     afxdb.h  CDataExchange     afxwin.h  CDataPathProperty  实现一个ActiveX控件属性,它能够异步加载其数据。这个类允许ActiveX控件在后台下载属性数据时被激活  afxctl.h  CDateTimeCtrl  封装新的日期/时间选取器控件  afxdtctl.h  CDBException     afxdb.h  CDBVariant     afxdb.h  CDC     afxwin.h  CDialog  用于包含控件窗口的对话框对象  afxwin.h  CDialogBar     afxext.h  CDocItem     afxole.h  CDockState     afxadv.h  CDocObjectServer     afxdocob.h  CDocObjectServerItem     afxdocob.h  CDocTemplate     afxwin.h  CDocument  用于管理程序的数据的类  afxwin.h  CDragListBox  Windows列表框,允许用户把其中的项拖放到不同的位置  afxcmn.h  CDumpContext     afx.h  CDWordArray     afxcoll.h  CEdit  用于文本输入的子窗口控件  afxwin.h  CEditView  提供Windows编缉控件的功能。因为CEditView派生于Cedit,该对象可同文件和文件模板一同使用  afxext.h  CEvent     afxmt.h  CException     afx.h  CFieldExchange     afxdb.h  CFile     afx.h  CFileDialog  通用文件对话框,提供Open和Save As对话框中的功能  afxdlgs.h  CFileException     afx.h  CFileFind     afx.h  CFindReplaceDialog     afxdlgs.h  CFont     afxwin.h  CFontDialog  通用字体对话框,用于显示当前已装入系统的字体列表  afxdlgs.h  CFontHolder     afxctl.h  CFormView  包含对话框控件的窗口  afxext.h  CFrameWnd  SDI(单窗口界面)框架窗口  afxwin.h  CFtpConnection     afxinet.h  CFtpFileFind     afxinet.h  CGdiObject     afxwin.h  CGopherConnection     afxinet.h  CGopherFile     afxinet.h  CGopherFileFind     afxinet.h  CGopherLocator     afxinet.h  CHeaderCtrl  标题通用控件  afxcmn.h  CHotKeyCtrl  热键通用控件  afxcmn.h  CHtmlStream     afxisapi.h  CHtmlView  实现Web Browser控件的视图类,能够访问当地或Web上的HTML文件。  afxhtml.h  CHttpConnection     afxinet.h  CHttpFile     afxinet.h  CHttpFilter  创建并处理超文传输协议过滤器对象,该对象用于过滤用于HTTP请求的服务器通知  afxisapi.h  CHttpFilterContext     afxisapi.h  CHttpServer  Internet Server API(ISAPI)的包装类  afxisapi.h  CHttpServerContext     afxisapi.h  CImageList     afxcmn.h  CInternetConnection     afxinet.h  CInternetException     afxinet.h  CInternetFile     afxinet.h  CInternetSession     afxinet.h  CIPAddressCtrl  IP地址控件。类似于编缉框,该控件接收Internet 协议格式的地址  afxcmn.h  CList     afxtempl.h  CListBox  列表框对象  afxwin.h  CListCtrl  列表视通用控件  afxcmn.h  ClistView  简化CListCtrl的使用,添加了对文件和视图的支持  afxcview.h  CLongBinary     afxdb_.h  CMap     afxtempl.h  CMapPtrToPtr     afxcoll.h  CMapPtrToWord     afxcoll.h  CMapStringToOb     afxcoll.h  CMapStringToPtr     afxcoll.h  CMapStringToString     afxcoll.h  CMapWordToOb     afxcoll.h  CMapWordToPtr     afxcoll.h  CMDIChildWnd  MDI(多文档界面)子框架窗口  afxwin.h  CMDIFrameWnd     afxwin.h  CMemFile     afx.h  CMemoryException     afx.h  CMemoryState        CMenu     afxwin.h  CMetaFileDC     afxext.h  CMiniFrameWnd  半高的框架窗口,主要用于浮动工具栏。一个小框架窗口没有最小化和最大化按钮,但其他都类似于正常的框架窗口  afxwin.h  CMonikerFile     afxole.h  CMonthCalCtrl  月历控件,用于显示一个用户可选择日期的日历  afxdtctl.h  CMultiDocTemplate     afxwin.h  CMultiLock     afxmt.h  CMutex     afxmt.h  CNotSupportedException     afx.h  CObArray     afxcoll.h  CObject     afx.h  CObList     afxcoll.h  COleBusyDialog     afxodlgs.h  COleChangeIconDialog     afxodlgs.h  COleChangeSourceDialog     afxodlgs.h  COleClientItem     afxole.h  COleCmdUI     afxdocob.h  COleControl     afxctl.h  COleControlModule     afxctl.h  COleConvertDialog     afxodlgs.h  COleCurrency     afxdisp.h  COleDataObject     afxole.h  COleDataSource     afxole.h  COleDateTime     afxdisp.h  COleDateTimeSpan     afxdisp.h  COleDBRecordView     afxoledb.h  COleDialog     afxodlgs.h  COleDispatchDriver     afxdisp.h  COleDispatchException     afxdisp.h  COleDocObjectItem     afxole.h  COleDocument  把一个文件看作为CDocItem对象的一个集合。包容器和服务器都需要这个结构,因为它们的文件必须能够包含OLE项  afxole.h  COleDropSource     afxole.h  COleDropTarget     afxole.h  COleException     afxdisp.h  COleInsertDialog     afxodlgs.h  COleIPFrameWnd     afxole.h  COleLinkingDoc  OLE包容器文件的基类,这些文件支持对它们所包含项的链接  afxole.h  COleLinksDialog     afxodlgs.h  COleMessageFilter     afxole.h  COleObjectFactory     afxdisp.h  COlePasteSpecialDialog     afxodlgs.h  COlePropertiesDialog     afxodlgs.h  COlePropertyPage     afxctl.h  COleResizeBar     afxole.h  COleSafeArray     afxdisp.h  COleServerDoc  OLE服务器文件的基类  afxole.h  COleServerItem  为OLE项提供一个服务器界面  afxole.h  COleStreamFile     afxole.h  COleTemplateServer     afxdisp.h  COleUpdateDialog     afxodlgs.h  COleVariant     afxdisp.h  CPageSetupDialog     afxdlgs.h  CPaintDC     afxwin.h  CPalette     afxwin.h  CPen     afxwin.h  CPictureHolder     afxctl.h  CPoint     atltypes.h  CPrintDialog  通用打印对话框,提供Print和Print Setup对话框中的功能  afxdlgs.h  CPrintInfo        CProgressCtrl  通用进程指示器控件  afxcmn.h  CPropertyPage  代表属性表单中的一页  afxdlgs.h  CPropertyPageEx        CPropertySheet  属性表,也叫做多选项卡对话框。一个属性表由一个CPropertySheet对象和几个CPropertyPage对象组成  afxdlgs.h  CPropertySheetEx        CPropExchange     afxctl.h  CPtrArray     afxcoll.h  CPtrList     afxcoll.h  CReBar     afxext.h  CReBarCtrl     afxcmn.h  CRecentFileList     afxadv.h  CRecordset  用于访问数据库表或查询的类  afxdb.h  CRecordView  包含对话框控件的窗口  afxdb.h  CRect     atltypes.h  CRectTracker     afxext.h  CResourceException     afxwin.h  CRgn     afxwin.h  CRichEditCntrItem     afxrich.h  CRichEditCtrl  用户能够输入和编缉文本的窗口,提供字符和程序段格式,以及对嵌入OLE项的支持  afxcmn.h  CRichEditDoc     afxrich.h  CRichEditView     afxrich.h  CRuntimeClass        CScrollBar  滚动条对象  afxwin.h  CScrollView  可滚动的窗口,派生于CView  afxwin.h  CSemaphore     afxmt.h  CSharedFile     afxadv.h  CSingleDocTemplate     afxwin.h  CSingleLock     afxmt.h  CSize     atltypes.h  CSliderCtrl  提供包含一个滑块和可选的刻度线的窗口  afxcmn.h  CSocket  Windows Socket API的包装类  afxsock.h  CSocketFile     afxsock.h  CSpinButtonCtrl  提供箭头按钮,用户可单击它,以增加或减少某个控件中的一个值  afxcmn.h  CSplitterWnd     afxext.h  CStatic  用于标识另一个控件或给用户提供消息的简单文本框  afxwin.h  CStatusBar     afxext.h  CStatusBarCtrl  提供一个层次窗口,通常放于父窗口的底部,用于显示关于应用程序的状态信息  afxcmn.h  CStdioFile     afx.h  CString     afx.h  CStringArray     afxcoll.h  CStringList     afxcoll.h  CSyncObject     afxmt.h  CTabCtrl  允许应用程序在一个窗口或对话框的同一区域显示多个页面  afxcmn.h  CTime     afx.h  CTimeSpan     afx.h  CToolBar     afxext.h  CToolBarCtrl  工具栏通用控件  afxcmn.h  CToolTipCtrl  提供工具提示控件的功能,它以一个小弹出窗口的样子显示,包含描述某个工具用途的一行文本  afxcmn.h  CTreeCtrl  显示项的分层结构列表  afxcmn.h  CTreeView  简化CTreeCtrl的用法  afxcview.h  CTypedPtrArray     afxtempl.h  CTypedPtrList     afxtempl.h  CTypedPtrMap     afxtempl.h  CUIntArray     afxcoll.h  CUserException     afxwin.h  CView  用于显示程序数据的类  afxwin.h  CWaitCursor     afxwin.h  CWinApp     afxwin.h  CWindowDC     afxwin.h  CWinThread  代表一个应用程序中的一个线程  afxwin.h  CWnd     afxwin.h  CWordArray     afxcoll.h