Win32 API参考大全(四)



2.2  按钮函数(Button)

2.2.1  CheckDlgButton

函数功能:该函数改变按钮控制的选中状态。
函数原型:BOOL CheckDlgButton(HWNDhDlg,int nlDButton,UINT uCheck);
参数:
hDlg:指向含有该按钮的对话框的句柄。
nlDButton:标识要修改的按钮。
uCheck:给定该按钮的选中状态。该参数可取下列值,这些值的含义如下:
BST_CHECKED:设置按钮状态为己选中(checked)。
BST_INDETERMINATE:设置按钮状态变灰,表示不确定状态。只有在该按钮具有BS_3STATE或BS_AUTO3STATE样式时才能使用该值。
BST_UNCHECKED:设置按钮为未选中状态(unchecked)。
返回值:如果函数执行成功,返回值非零;如果函数失败,则返回值为零。若想获取更多错误信息,请调用 GetLastError函数。
速查;Windows NT:3.1 及以上版本;WindowS:95及以上版本;Windows CE:不支持:头文件:Winuser.h;库文件:user32.lib。

2.2.2  CheckRadioButton

函数功能:该函数给一组单选按钮中的一个指定按钮加上选中标志,并且清除组中其他按钮的选中标志。
函数原型:BOOL CheckRadioButtoh(HWNDhDlg, intnlDFirstButton, intnlDLastBUtton, intnlDCheckButton);
参数:
hDlg:指向包含单选按钮的对话框的句柄。
nlDFirstButton:指定组中第1个单选按钮的标识符。
nlDLastButton:指定组中最后一个单选按组的标识符。
nlDCheckButton:指出要选中的那个单选按钮的标识符。
返回值:如果函数执行成功,返回值非零;如果失败,则返回零。若想获取更多错误信息,请调用GetLastError函数。
速查:Windows NT:3.1及以上版本;Windows:95及以广版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。

2.2.3  IsDlgButtonChecked

函数功能:该函数可以确定某个按钮控制是否有选中标志,或者三态按钮控制是否为灰色的、选中的、或两者都不是。
函数原型:UINT IsDlgButtonChecked(HWND hDlg,Int nlDBUtton);
参数:
hDlg:指向包含按钮控制的对话框。
nkDButtom:指定按钮控制的整型标识符。
返回值:使用BS_AUTOCHECKBOX、BS_AUTORADIOBUTTON、BS_AUTO3STATE、BS_CHECKBOX、BS_RADIOBUTION或BS_3STATE样式创建的按钮的返回值可以是如下值之一:
BST_CHECKED:表示按钮被选中。
BST_INDETERMINATE:表示按钮是灰色的,即为不确定状态(只有具有BS_3STATE或BS_AUTO3STATE样式的按钮才使用该值)。
BST_UNCHECKED:表示该按钮未选中(unckecked)。如果该按钮用其他任何样式,那么返回值为零。
速查:Windows NT:3.1及以11版本;Windows:95及以上版本;Windows CE:不支持:头文件:winuser.h;库文件:user32.lib。

2.3  插入标记(^)函数(Caret)

2.3.1  CreateCaret

函数功能;该函数为系统插入标记创建一个新的形状,并且将插入标记的属主关系指定给特定的窗口。插入标记的形状。可以是线、块或位图。
函数原型:BOOL CreateCaret(HWND hWnd,HBIBMAP hBitmap,int nHeight); 
参数:
hWnd:指定佣有插入标记的窗口。
hBitmap:标识用于定义插入标记形状的位图。如果该参数为NULL,那么插入标记是实心的(原色),如果该参数为(HBITMAP)1,那么插入标记是灰色的。如果该参数是位图句柄,那么插入标记就是指定的位图。位图句栖必须已中由CreateBitmap、CreatDIBitmap或LoadBitmap函数创建。
    如果hBitmap为位图句栖,那么CreateCaret函数将忽略参数nWidth和nHeight,因为该位图定义了自己的宽度和高度。
nWidth:按逻辑单位指定插入标记的宽度,如果该参数为零,那么宽度就设为系统定义的窗口边界宽度。如果hBitmap是位图句柄,那么函数CreateCaret忽略该参数。
nHeight:按逻辑单位指定插入标记的高度。如果该参数为零,那么高度就设为系统定义的窗口边界高度如果hBitmap是位图句柄,那么函数CreateCaret忽略该参数。
返回值:如果函数执行成功,返回值为非零;如果函数执行失败,那么返回值为零。若想获取更多错误  信息,请调用GetLastError函数。
备注:参数nWidth和nHeight指定了插入标记的宽度和高度,这些值按逻辑单位表示;按像素表示的真正  宽度和高度与窗口的映射模式有关。
    CreateCaret函数自动清除前一个插入标记的形状,不考虑拥有该插入标记的窗口。新创建的插入标记一直隐藏,直到应用程序调用ShowCaret函数使该插入标记可见为止。
系统为每个队列提供一个插入标记。窗口只有在它有键盘焦点(focus)或者它是活动窗口时才创建插入标记。该窗口应在键盘焦点消失或窗口变为不活动之前,清除插入标记。            
可以通过使用GetSystemMetrics函数,并指定SM_CXBORDER和SM_CYBORDER值来检索系统窗口边界的宽度或高度。使用窗口边界的宽度或高度可以保证插入标记在高分辨率屏幕上可见。
对于Windows CE:Windows CE不支持hBitmap参数,并且该参数应设为NULL。Windows CE缺省的是实心(Solid)插入标记。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。

2.3.2  DestroyCaret

函数功能:该函数清除插入标记的当前形状,从窗口中释放插入标记,并且删除屏幕上的插入标记。如果插入标记的形状是基于位图的,那么DestroyCaret不释放该位图。
函数原型:BOOL DestroyCaret(VOLD)
参数:无。
返回值:如果函数执行成功,则返回值非零:如果函数失败,则返回值为零。若想获取更多错误信息,请调用GetLastError函数。
备注:只有当前任务中的窗口拥有插入标记时DestoryCaret才清除插入标记。如果插入标记不为当前任务中的窗口拥有,那么DestroyCaret不执行任何操作,并且返回FALSE。
    系统为每个队列提供一个插入标记。只有当窗口有键盘焦点或窗口是活动的时候,才创建插入记号。窗口应该在键盘焦点消失或窗口变为不活动之前清除插入标记。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。

2.3.3  GetCaretBlinkTime

函数功能:该函数返回一个公用的时间,单位为毫秒。该时间是转化插入标记的像素而需要的时间。用户可以使用控制面板来设置这个值。
函数原型:UINT GetCaretBlinkTime(VOLD)
参数:无。
返回值:如果该函数执行成功,那么返回值就是闪烁时间,单位为毫秒;如果函数执行失败,那么返回值为零。若想获取更多错误信息,请调用GetLastError函数。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。

2.3.4  GetCaretPos

函数功能:该函数将插入标记的位置(按客户区坐标)信息拷贝到指定的POINT结构中。
函数原型:BOOL GetCaretPos(LPP0lNT IpPoint);
参数:
IpPoint:指向POINT结构的指针。该结构接收插入标记的客户坐标信息。
返回值:如果函数执行成功,那么返回值非零;如果函数执行失败,那么返回值为零。若想获取更多错误信息,请调用GetLastError函数。
备注:插入标记位置通常是按包含该插入标记的窗口的客户坐标形式给出的。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows:1.0及以上版本;头文件:Winuser.h;文件:user32.lib。

2.3.5  HideCaret

函数功能:该函数将屏幕上的插入标记清除。实际上是隐藏插入标记,并不是删除其当前形状或使插入点无效。
函数原型:B00L HideCaret(HWND hWnd);
参数:
hWnd:标识有插入标记的窗口。如果该参数为NULL,那么HideCaret函数搜索当前任务,以发现拥有插入标记的窗口。
返回值:如果函数执行成功,那么返回值为非零:如果函数失败,那么返回值为零。若想获取更多错误信息,请调用GetLastError函数。
备注:只有指定的窗口拥有插入标记时,HideCaret才隐藏插入标记。如果指定的窗口没有插入标记,那么函数HideCaret什么也不做,并且返回FALSE。
    隐藏操作是累计的,如果应用程序连续5次调用HideCaret,那么该程序也必须调用ShowCaret 5次才能显示插入标记。
速查;Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:USer32.lib。

2.3.6  SetCaretBlinkTime

函数功能:该函数将插入标记的闪烁时间设置为一个指定的数目,该数目的单位为毫秒,闪烁时间就是转化插入标记像素所需的时间,单位为毫秒。
函数原型:BOOL SetCaretBlinkTime(UINT uMSeconds);
参数:
uMSeconds:指定新的闪烁时间,时间单位为毫秒。
返回值:如果函数执行成功,那么返回值为非零;如果函数执行失败,那么返回值为零。若想获取更多错误信息,请调用GetLastError函数。
备注:用户可以使用控制面板来设置闪烁时间。应用程序应遵守用户的设置。只有允许用户设置闪烁时间的应用程序(例如控制面板)才应该使用SetCaretBlinkTime函数。
    如果改变了闪烁时间,那么后续激活的应用程序会使用修改后的闪烁时间,即使在键盘焦点消失或为非活动时,恢复前一个闪烁时间值,这是由于多线程环境的缘故,在这种环境中,禁止使用一个应用程序与激活另一个应用程序并不同步。这种特性允许系统即使在当前应用程序挂起时也可以激活另一个应用程序。
    对于Windows CE:在Windows CE系统中,在一个应用程序中改变插入标记的闪烁时间不会影响后续加载的应用程序中的闪烁时间。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。

2.3.7  SetCaretPos

函数功能:该函数将插入标记移动到指定的坐标上。如果拥有该插人标记的窗口是使用CS_OWNDC类样式创建的,那么指定的坐标依据与该窗口相关的设备环境的映射模式而定。
函数原型:BOOL SetCaretPos(int X,int Y);
参数:
X:指定插入标记新的X坐标。
Y:指定插入标记新的Y坐标。
返回值:如果函数执行成功,那么返回值为非零;如果函数执行失败,那么返回值为零。若想获取更多错误信息,请调用GetLastError函数。
备注:函数SetCaretPos不管插入标记是否隐藏都将移动它。系统为每个队列提供一个插入标记。窗口只能对自己拥有的插入标记进行位置的设置。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本:头文件:Winuser.h;库文件:user32.lib。

2.3.8  ShowCaret

函数功能:该函数使插入标记在屏幕的当前位置上可见。当插入标记变为可见时,它自动开始闪烁。
函数原型:BOOL ShowCaret(HWND hWnd);
参数:
hWnd:标识拥有插入标记的窗口。如果该参数为NULL,那么ShowCaret搜索当前任务以发现有插入标记的窗口。
返回值:如果函数执行成功,那么返回值为非零;如果函数执行失败,那么返回值为零。若想获取更多错误信息,请调用GetLastError函数。
备注:只有指定的窗口拥有插入标记,并且该插入标记具有形状,没有连续隐藏2次或多次时,ShowCaret才能显示该插入标记。如果这几个条件中的一个或多个没满足,那么ShowCaret函数什么也不做,并且返回FALSE。
速查:Windows NT:3.1及以上版本Windows:95及以上版本Windows CE:1.0及以版本;头文件:winuser.h;库文件:user32.lib。

2.4   组合框函数(Combo box)


2.4.1  DlgDirListComboBox

函数功能:该函数用一个目录列表来填充指定的组合框
函数原型:int DlgDirListComboBox(HWND hDlg,LPTSTR lpPathSpec,int nlDComboBox,int nlDStaticPath,UINT
uFiletype);
参数:
hDlg:包含组合框的对话框句柄。
lpPathSpel:指向一个以NULL结束的字符串,格式为
    [driver][/][directory/][.][filename]
    如果指定的串包括一个驱动器或目录路径,在填充列表之前,DlgDirListComboBox函数改变当前驱动
器和目录。在列表被填充之后,驱动器和目录路径从lpPathspec参数标识的串中移出来。
nlDComboBox:指定对话框中组合框的标识符。如果hlDComboBox为零,则DlgDirlistComboBox函数没有组合框存在或不试图填充它。
hlDStatic Path:指定静态控制的标识符,此静态控制用于显示当前目录。如果nlDStasticPath为零,DlgDirListComboBox函数认为没有这样的控制。
uFiletype:指定被显示的文件的属性。它可以是下列的任意组合:
DDL_ARDIVE:包括档案文件。
DDL_DIRECTORY:包括子目录,子目录名必须用方括号括起来([])。
DDL_DRIVES:包括驱动器,驱动器列在格式[-X-]中,其中X为驱动器字母名。
DDL_EXCIUSIVE:包括仅带指定属性的文件,缺省时,写保护文件被引出,即使DDL_READ WRITE没有被指定。
DDL_HIDBEN:包括隐含文件。DDL_READONLY:包括只读文件。
DDL_READWRITE:包括读写文件且不带有别的属性。DDL_SYSTEM:包括系统文件。
DDL_POSTMSGS:把信息传递到应用信息队列,缺省时,DlgDirlist函数把信息直接发送给对话框过程。
返回值:如果函数调用成功,返回值为非零值,否则返回值为零。例如,如果tpPatbSpec指定的串不是一个有效路径,函数调用失败。若想获得更多错误信息,请调用GetLastError函数。
备注;如果参数lpszPatbSpec指向一个零字节串或一个指定驱动器目录,或两者的串,但没有文件名,
那么认为文件名为”.”。
    Windows NT:如果有目录列表的话,则显示长文件名。
    Windows 95:目录列表显示短文件名(为8.3形式)。可以用SHGetFilelnfo或GetFullPathName函数来得到相应的长文件名。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib:Unicode:在Windows NT环境中实现为Unicode和ANSI两个版本。

2.4.2  DlgDirSelectEx

函数功能:该函数从单选列表框中检取当前选择,列表框已经由DlgDirlist函数填充,并且选择内容为一个驱动器字母,文件名或目录名。
函数原型:BOOL DlgDirSelectEx(HWND hDlg,LPTSTR lpString,int nCount,int nlDListBox);
参数:
hDlg:包括列表框的对话框句柄。
lpString:指向存放选择路径的一个缓冲区。
ncount:指定由lpString指向的缓冲区的字节长度。
nlDListBox:指定对话框中列表框的整型标识符。
返回值:如果当前选择为目录名,返回值为非零值。如果当前选择不是一个目录名,返回值为零,若想
获得更多错误信息,请调用函数GetLastError函数。
备往:DlgDirSelectEx函数把选择复制到由IpString参数指向的缓冲区,如果当前选择是一个目录名或驱动器字母,DlgDirSelectEx则删除方括号(对于驱动器字母,则删去破折号)。这样以便目录名或驱动器字母能插入一个新的路径。如果没有选择,lpString不改变。    DlgDirSelectEx函数把消息LB_GETCURSEL和消息LB_GETTEXT发送到列表框,函数禁止从列表框返回多于一个的文件名。列表框不应是复选的列表框,如果是的话,此函数不返回零值且Ipstring参数保持不变。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT环境中实现为Unicode和ANSI两个版本。

2.4.3  DlgDirSelectComboBoxEx

函数功能:该函数从由DlgDirlistcomboBox函数填充的组合框中检取当前选择。选择内容为一个驱动器字母、文件名或目录名。
函数原型:BOOL DlgDirSelectComboBox(HWND hDlg,LPTSTR lpString,int nCount,int nlDComboBox);
参数:
hDlg:包括组合框的对话框的句柄。
IpString:指向存放选择路径的缓冲区。
nCount:指定IpString参数指向的缓冲区的字节长度。
nlDComboBox:指定控制对话框的组合框的整型标识符。
返回值:如果当前选择为一个目录名,返回值为非零值;否则,返回值为零值。若想获得更多错误信息,请调用GetLastError函数。
备注:如果当前选择指定于一个目录名或驱动器字母,DlgDirSelectComboBoxEx函数则删方括号(对驱动器字母则删除破折号),以便使文件名或驱动器字母能插入新的路径或文件名,如果没有选择,IpString参数指向的缓冲区的内容没有改变。DlgDirselectComboBoxEx函数不允许从组合框返回多于一个的文件名。
    DlgDirSectectComboBoxEx把消息CB_GETCILRSEL和CB_GETLBTEXT发送到组合框。在Win32API中,可应用带有三种组合框的DlgDirSelectComboBoxEx函数(三种组合框为CBS_SIMPLE,CBS_DROPDOWN,与CBS_DROPDOWNLIST)。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT环境中实现为Unicode和ANSI两个版本。2.2  按钮函数(Button)


2.2.1  CheckDlgButton

函数功能:该函数改变按钮控制的选中状态。
函数原型:BOOL CheckDlgButton(HWNDhDlg,int nlDButton,UINT uCheck);
参数:
hDlg:指向含有该按钮的对话框的句柄。
nlDButton:标识要修改的按钮。
uCheck:给定该按钮的选中状态。该参数可取下列值,这些值的含义如下:
BST_CHECKED:设置按钮状态为己选中(checked)。
BST_INDETERMINATE:设置按钮状态变灰,表示不确定状态。只有在该按钮具有BS_3STATE或BS_AUTO3STATE样式时才能使用该值。
BST_UNCHECKED:设置按钮为未选中状态(unchecked)。
返回值:如果函数执行成功,返回值非零;如果函数失败,则返回值为零。若想获取更多错误信息,请调用 GetLastError函数。
速查;Windows NT:3.1 及以上版本;WindowS:95及以上版本;Windows CE:不支持:头文件:Winuser.h;库文件:user32.lib。

2.2.2  CheckRadioButton

函数功能:该函数给一组单选按钮中的一个指定按钮加上选中标志,并且清除组中其他按钮的选中标志。
函数原型:BOOL CheckRadioButtoh(HWNDhDlg, intnlDFirstButton, intnlDLastBUtton, intnlDCheckButton);
参数:
hDlg:指向包含单选按钮的对话框的句柄。
nlDFirstButton:指定组中第1个单选按钮的标识符。
nlDLastButton:指定组中最后一个单选按组的标识符。
nlDCheckButton:指出要选中的那个单选按钮的标识符。
返回值:如果函数执行成功,返回值非零;如果失败,则返回零。若想获取更多错误信息,请调用GetLastError函数。
速查:Windows NT:3.1及以上版本;Windows:95及以广版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。

2.2.3  IsDlgButtonChecked

函数功能:该函数可以确定某个按钮控制是否有选中标志,或者三态按钮控制是否为灰色的、选中的、或两者都不是。
函数原型:UINT IsDlgButtonChecked(HWND hDlg,Int nlDBUtton);
参数:
hDlg:指向包含按钮控制的对话框。
nkDButtom:指定按钮控制的整型标识符。
返回值:使用BS_AUTOCHECKBOX、BS_AUTORADIOBUTTON、BS_AUTO3STATE、BS_CHECKBOX、BS_RADIOBUTION或BS_3STATE样式创建的按钮的返回值可以是如下值之一:
BST_CHECKED:表示按钮被选中。
BST_INDETERMINATE:表示按钮是灰色的,即为不确定状态(只有具有BS_3STATE或BS_AUTO3STATE样式的按钮才使用该值)。
BST_UNCHECKED:表示该按钮未选中(unckecked)。如果该按钮用其他任何样式,那么返回值为零。
速查:Windows NT:3.1及以11版本;Windows:95及以上版本;Windows CE:不支持:头文件:winuser.h;库文件:user32.lib。

2.3  插入标记(^)函数(Caret)

2.3.1  CreateCaret

函数功能;该函数为系统插入标记创建一个新的形状,并且将插入标记的属主关系指定给特定的窗口。插入标记的形状。可以是线、块或位图。
函数原型:BOOL CreateCaret(HWND hWnd,HBIBMAP hBitmap,int nHeight); 
参数:
hWnd:指定佣有插入标记的窗口。
hBitmap:标识用于定义插入标记形状的位图。如果该参数为NULL,那么插入标记是实心的(原色),如果该参数为(HBITMAP)1,那么插入标记是灰色的。如果该参数是位图句柄,那么插入标记就是指定的位图。位图句栖必须已中由CreateBitmap、CreatDIBitmap或LoadBitmap函数创建。
    如果hBitmap为位图句栖,那么CreateCaret函数将忽略参数nWidth和nHeight,因为该位图定义了自己的宽度和高度。
nWidth:按逻辑单位指定插入标记的宽度,如果该参数为零,那么宽度就设为系统定义的窗口边界宽度。如果hBitmap是位图句柄,那么函数CreateCaret忽略该参数。
nHeight:按逻辑单位指定插入标记的高度。如果该参数为零,那么高度就设为系统定义的窗口边界高度如果hBitmap是位图句柄,那么函数CreateCaret忽略该参数。
返回值:如果函数执行成功,返回值为非零;如果函数执行失败,那么返回值为零。若想获取更多错误  信息,请调用GetLastError函数。
备注:参数nWidth和nHeight指定了插入标记的宽度和高度,这些值按逻辑单位表示;按像素表示的真正  宽度和高度与窗口的映射模式有关。
    CreateCaret函数自动清除前一个插入标记的形状,不考虑拥有该插入标记的窗口。新创建的插入标记一直隐藏,直到应用程序调用ShowCaret函数使该插入标记可见为止。
系统为每个队列提供一个插入标记。窗口只有在它有键盘焦点(focus)或者它是活动窗口时才创建插入标记。该窗口应在键盘焦点消失或窗口变为不活动之前,清除插入标记。            
可以通过使用GetSystemMetrics函数,并指定SM_CXBORDER和SM_CYBORDER值来检索系统窗口边界的宽度或高度。使用窗口边界的宽度或高度可以保证插入标记在高分辨率屏幕上可见。
对于Windows CE:Windows CE不支持hBitmap参数,并且该参数应设为NULL。Windows CE缺省的是实心(Solid)插入标记。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。

2.3.2  DestroyCaret

函数功能:该函数清除插入标记的当前形状,从窗口中释放插入标记,并且删除屏幕上的插入标记。如果插入标记的形状是基于位图的,那么DestroyCaret不释放该位图。
函数原型:BOOL DestroyCaret(VOLD)
参数:无。
返回值:如果函数执行成功,则返回值非零:如果函数失败,则返回值为零。若想获取更多错误信息,请调用GetLastError函数。
备注:只有当前任务中的窗口拥有插入标记时DestoryCaret才清除插入标记。如果插入标记不为当前任务中的窗口拥有,那么DestroyCaret不执行任何操作,并且返回FALSE。
    系统为每个队列提供一个插入标记。只有当窗口有键盘焦点或窗口是活动的时候,才创建插入记号。窗口应该在键盘焦点消失或窗口变为不活动之前清除插入标记。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。

2.3.3  GetCaretBlinkTime

函数功能:该函数返回一个公用的时间,单位为毫秒。该时间是转化插入标记的像素而需要的时间。用户可以使用控制面板来设置这个值。
函数原型:UINT GetCaretBlinkTime(VOLD)
参数:无。
返回值:如果该函数执行成功,那么返回值就是闪烁时间,单位为毫秒;如果函数执行失败,那么返回值为零。若想获取更多错误信息,请调用GetLastError函数。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。

2.3.4  GetCaretPos

函数功能:该函数将插入标记的位置(按客户区坐标)信息拷贝到指定的POINT结构中。
函数原型:BOOL GetCaretPos(LPP0lNT IpPoint);
参数:
IpPoint:指向POINT结构的指针。该结构接收插入标记的客户坐标信息。
返回值:如果函数执行成功,那么返回值非零;如果函数执行失败,那么返回值为零。若想获取更多错误信息,请调用GetLastError函数。
备注:插入标记位置通常是按包含该插入标记的窗口的客户坐标形式给出的。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows:1.0及以上版本;头文件:Winuser.h;文件:user32.lib。

2.3.5  HideCaret

函数功能:该函数将屏幕上的插入标记清除。实际上是隐藏插入标记,并不是删除其当前形状或使插入点无效。
函数原型:B00L HideCaret(HWND hWnd);
参数:
hWnd:标识有插入标记的窗口。如果该参数为NULL,那么HideCaret函数搜索当前任务,以发现拥有插入标记的窗口。
返回值:如果函数执行成功,那么返回值为非零:如果函数失败,那么返回值为零。若想获取更多错误信息,请调用GetLastError函数。
备注:只有指定的窗口拥有插入标记时,HideCaret才隐藏插入标记。如果指定的窗口没有插入标记,那么函数HideCaret什么也不做,并且返回FALSE。
    隐藏操作是累计的,如果应用程序连续5次调用HideCaret,那么该程序也必须调用ShowCaret 5次才能显示插入标记。
速查;Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:USer32.lib。

2.3.6  SetCaretBlinkTime

函数功能:该函数将插入标记的闪烁时间设置为一个指定的数目,该数目的单位为毫秒,闪烁时间就是转化插入标记像素所需的时间,单位为毫秒。
函数原型:BOOL SetCaretBlinkTime(UINT uMSeconds);
参数:
uMSeconds:指定新的闪烁时间,时间单位为毫秒。
返回值:如果函数执行成功,那么返回值为非零;如果函数执行失败,那么返回值为零。若想获取更多错误信息,请调用GetLastError函数。
备注:用户可以使用控制面板来设置闪烁时间。应用程序应遵守用户的设置。只有允许用户设置闪烁时间的应用程序(例如控制面板)才应该使用SetCaretBlinkTime函数。
    如果改变了闪烁时间,那么后续激活的应用程序会使用修改后的闪烁时间,即使在键盘焦点消失或为非活动时,恢复前一个闪烁时间值,这是由于多线程环境的缘故,在这种环境中,禁止使用一个应用程序与激活另一个应用程序并不同步。这种特性允许系统即使在当前应用程序挂起时也可以激活另一个应用程序。
    对于Windows CE:在Windows CE系统中,在一个应用程序中改变插入标记的闪烁时间不会影响后续加载的应用程序中的闪烁时间。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。

2.3.7  SetCaretPos

函数功能:该函数将插入标记移动到指定的坐标上。如果拥有该插人标记的窗口是使用CS_OWNDC类样式创建的,那么指定的坐标依据与该窗口相关的设备环境的映射模式而定。
函数原型:BOOL SetCaretPos(int X,int Y);
参数:
X:指定插入标记新的X坐标。
Y:指定插入标记新的Y坐标。
返回值:如果函数执行成功,那么返回值为非零;如果函数执行失败,那么返回值为零。若想获取更多错误信息,请调用GetLastError函数。
备注:函数SetCaretPos不管插入标记是否隐藏都将移动它。系统为每个队列提供一个插入标记。窗口只能对自己拥有的插入标记进行位置的设置。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本:头文件:Winuser.h;库文件:user32.lib。

2.3.8  ShowCaret

函数功能:该函数使插入标记在屏幕的当前位置上可见。当插入标记变为可见时,它自动开始闪烁。
函数原型:BOOL ShowCaret(HWND hWnd);
参数:
hWnd:标识拥有插入标记的窗口。如果该参数为NULL,那么ShowCaret搜索当前任务以发现有插入标记的窗口。
返回值:如果函数执行成功,那么返回值为非零;如果函数执行失败,那么返回值为零。若想获取更多错误信息,请调用GetLastError函数。
备注:只有指定的窗口拥有插入标记,并且该插入标记具有形状,没有连续隐藏2次或多次时,ShowCaret才能显示该插入标记。如果这几个条件中的一个或多个没满足,那么ShowCaret函数什么也不做,并且返回FALSE。
速查:Windows NT:3.1及以上版本Windows:95及以上版本Windows CE:1.0及以版本;头文件:winuser.h;库文件:user32.lib。

2.4   组合框函数(Combo box)


2.4.1  DlgDirListComboBox

函数功能:该函数用一个目录列表来填充指定的组合框
函数原型:int DlgDirListComboBox(HWND hDlg,LPTSTR lpPathSpec,int nlDComboBox,int nlDStaticPath,UINT
uFiletype);
参数:
hDlg:包含组合框的对话框句柄。
lpPathSpel:指向一个以NULL结束的字符串,格式为
    [driver][/][directory/][.][filename]
    如果指定的串包括一个驱动器或目录路径,在填充列表之前,DlgDirListComboBox函数改变当前驱动
器和目录。在列表被填充之后,驱动器和目录路径从lpPathspec参数标识的串中移出来。
nlDComboBox:指定对话框中组合框的标识符。如果hlDComboBox为零,则DlgDirlistComboBox函数没有组合框存在或不试图填充它。
hlDStatic Path:指定静态控制的标识符,此静态控制用于显示当前目录。如果nlDStasticPath为零,DlgDirListComboBox函数认为没有这样的控制。
uFiletype:指定被显示的文件的属性。它可以是下列的任意组合:
DDL_ARDIVE:包括档案文件。
DDL_DIRECTORY:包括子目录,子目录名必须用方括号括起来([])。
DDL_DRIVES:包括驱动器,驱动器列在格式[-X-]中,其中X为驱动器字母名。
DDL_EXCIUSIVE:包括仅带指定属性的文件,缺省时,写保护文件被引出,即使DDL_READ WRITE没有被指定。
DDL_HIDBEN:包括隐含文件。DDL_READONLY:包括只读文件。
DDL_READWRITE:包括读写文件且不带有别的属性。DDL_SYSTEM:包括系统文件。
DDL_POSTMSGS:把信息传递到应用信息队列,缺省时,DlgDirlist函数把信息直接发送给对话框过程。
返回值:如果函数调用成功,返回值为非零值,否则返回值为零。例如,如果tpPatbSpec指定的串不是一个有效路径,函数调用失败。若想获得更多错误信息,请调用GetLastError函数。
备注;如果参数lpszPatbSpec指向一个零字节串或一个指定驱动器目录,或两者的串,但没有文件名,
那么认为文件名为”.”。
    Windows NT:如果有目录列表的话,则显示长文件名。
    Windows 95:目录列表显示短文件名(为8.3形式)。可以用SHGetFilelnfo或GetFullPathName函数来得到相应的长文件名。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib:Unicode:在Windows NT环境中实现为Unicode和ANSI两个版本。

2.4.2  DlgDirSelectEx

函数功能:该函数从单选列表框中检取当前选择,列表框已经由DlgDirlist函数填充,并且选择内容为一个驱动器字母,文件名或目录名。
函数原型:BOOL DlgDirSelectEx(HWND hDlg,LPTSTR lpString,int nCount,int nlDListBox);
参数:
hDlg:包括列表框的对话框句柄。
lpString:指向存放选择路径的一个缓冲区。
ncount:指定由lpString指向的缓冲区的字节长度。
nlDListBox:指定对话框中列表框的整型标识符。
返回值:如果当前选择为目录名,返回值为非零值。如果当前选择不是一个目录名,返回值为零,若想
获得更多错误信息,请调用函数GetLastError函数。
备往:DlgDirSelectEx函数把选择复制到由IpString参数指向的缓冲区,如果当前选择是一个目录名或驱动器字母,DlgDirSelectEx则删除方括号(对于驱动器字母,则删去破折号)。这样以便目录名或驱动器字母能插入一个新的路径。如果没有选择,lpString不改变。    DlgDirSelectEx函数把消息LB_GETCURSEL和消息LB_GETTEXT发送到列表框,函数禁止从列表框返回多于一个的文件名。列表框不应是复选的列表框,如果是的话,此函数不返回零值且Ipstring参数保持不变。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT环境中实现为Unicode和ANSI两个版本。

2.4.3  DlgDirSelectComboBoxEx

函数功能:该函数从由DlgDirlistcomboBox函数填充的组合框中检取当前选择。选择内容为一个驱动器字母、文件名或目录名。
函数原型:BOOL DlgDirSelectComboBox(HWND hDlg,LPTSTR lpString,int nCount,int nlDComboBox);
参数:
hDlg:包括组合框的对话框的句柄。
IpString:指向存放选择路径的缓冲区。
nCount:指定IpString参数指向的缓冲区的字节长度。
nlDComboBox:指定控制对话框的组合框的整型标识符。
返回值:如果当前选择为一个目录名,返回值为非零值;否则,返回值为零值。若想获得更多错误信息,请调用GetLastError函数。
备注:如果当前选择指定于一个目录名或驱动器字母,DlgDirSelectComboBoxEx函数则删方括号(对驱动器字母则删除破折号),以便使文件名或驱动器字母能插入新的路径或文件名,如果没有选择,IpString参数指向的缓冲区的内容没有改变。DlgDirselectComboBoxEx函数不允许从组合框返回多于一个的文件名。
    DlgDirSectectComboBoxEx把消息CB_GETCILRSEL和CB_GETLBTEXT发送到组合框。在Win32API中,可应用带有三种组合框的DlgDirSelectComboBoxEx函数(三种组合框为CBS_SIMPLE,CBS_DROPDOWN,与CBS_DROPDOWNLIST)。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT环境中实现为Unicode和ANSI两个版本。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为Microsoft 32位平台的应用程序编程接口, Win32 API是从事Windows应用程序开发所必备的。 首先对Win32 API函数做完整的概述;然后收录五大类函数: 窗口管理、图形设备接口、系统服务、国际特性以及网络服务; 在附录部分,讲解如何在Visual Basic和Delphi中对其调用。 本书是从事Windows应用程序开发的软件工程师的必备参考手册。 控件与消息函数 共91个函数 硬件与系统函数 共98个函数 设备场景函数 共73个函数 绘图函数 共105个函数 位图、图标和光栅运算函数 共39个函数 菜单函数 共37个函数 文本和字体函数 共41个函数 打印函数 共66个函数 文件处理函数 共118个函数 进程和线程函数 共40个函数 Windows消息函数 共11个函数 网络函数 共14个函数 目 录 第一章 Win32 API概论…………………………………………………………………………1 1.1 为什么使用Win32 API …………………………………………………………………1 1.2 Win32 API简介 …………………………………………………………………………1 1.3 综述………………………………………………………………………………………11 第二章 窗口管理函数(Windows Control Function) ……………………………………13 2.1 易用特性函数(Accessibility Features)…………………………………………13 2.2 按钮函数(Button)……………………………………………………………………20 2.3 插入标记(^)函数(Caret)…………………………………………………………21 2.4 组合框函数(Combo box) ……………………………………………………………24 2.5 通用对话框函数(Common Dialog Box) ……………………………………………25 2.6 标函数(Cursor)………………………………………………………………………36 2.7 对话框函数(Dialog Box)……………………………………………………………40 2.8 编辑控制函数(Edit Control)………………………………………………………54 2.9 图标函数(Icon)………………………………………………………………………54 2.10 键盘加速器函数(Keyboard Accelerator)……………………………………… 61 2.11 键盘输入函数(Keyboard InPut) …………………………………………………63 2.12 列表框函数(List box) ……………………………………………………………75 2.13 菜单函数(Menu) ……………………………………………………………………76 2.14 消息和消息队列函数(Message and Message Queue)……………………………90 2.15 鼠标输入函数(Mouse Input) ……………………………………………………100 2.16 多文档接口函数(Multiple Document Interface) ……………………………103 2.17 资源函数(Resource)………………………………………………………………105 2.18 滚动条函数(Scroll Bar)…………………………………………………………113 2.19 窗口函数(Window)…………………………………………………………………119 2.20 窗口类函数(Window Class)………………………………………………………144 2.21 窗口过程函数(Window Procedure)………………………………………………150 2.22 窗口属性函数(Window Property) ………………………………………………152 第三章 图形设备接口函数(Graphic Device Interface Function) …………………155 3.1 位图函数(Bitmap) …………………………………………………………………155 3.2 笔刷函数(Brush)……………………………………………………………………171 3.3 剪切函数(Clipping) ………………………………………………………………176 3.4 颜色函数(Color)……………………………………………………………………179 3.5 坐标空间与变换函数(Coordinate Space Transformation)……………………186 3.6 设备环境函数(Device Context) …………………………………………………195 3.7 填充形态函数(Filled shape) ……………………………………………………211 3.8 字体和正文函数(Font and Text)…………………………………………………215 3.9 ICM 2.0函数 …………………………………………………………………………238 3.10 线段和曲线函数(Line and Curve)………………………………………………295 3.11 图元文件函数(Metafile)…………………………………………………………300 3.12 多显示器函数(Multiple Display Monitors) …………………………………311 3.13 绘图函数和画图函数(Painting and Drawing)…………………………………313 3.14 路径函数(Path)……………………………………………………………………328 3.15 画笔函数(Pen) ……………………………………………………………………332 3.16 打印及打印假脱机程序函数(Printing and Print Spooler)…………………334 3.17 矩形函数(Rectangle) ……………………………………………………………371 3.18 区域函数(Region)…………………………………………………………………374 第章 系统服务函数(System Service Function) ……………………………………383 4.1 访问控制函数(Access Control) …………………………………………………383 4.2 原子函数(Atom) ……………………………………………………………………406 4.3 客户/服务器访问控制函数(Client/Server Access Control) ………………409 4.4 剪贴板函数(Clipboard)……………………………………………………………431 4.5 通信函数(Communication)…………………………………………………………436 4.6 控制台函数(Console)………………………………………………………………444 4.7 数据解压库函数(Data Decompression Library) ………………………………463 4.8 调试函数(Debugging)………………………………………………………………466 4.9 设备输入输出函数(Device Input and Output)…………………………………472 4.10 动态数据交换函数(Dynamic Data Exchange) …………………………………474 4.11 动态数据交换管理函数(Dynamic Data Exchange Management)………………476 4.12 动态链接库函数(Dynamic-Link Library)………………………………………489 4.13 错误函数(Error) …………………………………………………………………496 4.14 事件日志函数(Event Logging) …………………………………………………499 4.15 文件函数(File)……………………………………………………………………503 4.16 文件安装库函数(File Installation Library) ………………………………542 4.17 文件映射函数(File Mapping)……………………………………………………546 4.18 文件系统函数 File System)………………………………………………………551 4.19 句柄和对象函数(Handle and Object)………………………………………………556 4.20 挂钩函数(Hook)………………………………………………………………………560 4.21 ImageHlp函数…………………………………………………………………………572 4.22 大整数操作函数(Iarge Integer Operations)……………………………………594 4.23 低层访问控制函数(Low-Level Access Control)………………………………596 4.24 LSAPI函数 …………………………………………………………………………617 4.25 邮槽函数(Mailslot)………………………………………………………………622 4.26 内存管理函数(Memory Management) ……………………………………………623 4.27 管道函数(Pipe) …………………………………………………………………655 4.28 电源管理函数(Power Management) …………………………………………… 663 4.29 进程和线程函数(Process and Thread)…………………………………………666 4.30 注册表函数(Registry)……………………………………………………………700 4.31 字符串操作函数(String Manipulation)……………………………………… 724 4.32 结构化异常处理函数(Structured Exception Handling) ……………………742 4.33 同步函数(Synchronization) ……………………………………………………745 4.34 系统信息函数(System Information)……………………………………………766 4.35 系统消息函数(System Message)…………………………………………………780 4.36 系统关机函数(System Shutdown) ………………………………………………781 4.37 磁带备份函数(Tape Backup) ……………………………………………………783 4.38 时间函数(Time)……………………………………………………………………789 4.39 计时器函数(Timer) ………………………………………………………………795 4.40 工具帮助函数(Tool Help) ………………………………………………………796 4.41 窗口站和桌面函数(Window Station and Desktop)……………………………799 4.42 Windows NT 4.0访问控制函数(Window NT 4.0 Access-Control)……………808 4.43 WinTrust函数(WinTrust)…………………………………………………………814 第五章 国际特性函数(International Peatures Punction)时性…………………………815 5.1 输入方法编辑函数(Input Method Editor)…………………………………………815 5.2 国家语言支持函数(National Language Support)………………………………… 828 5.3 Unicode和字符集函数(Unicode and Character Set)……………………………… 843 第六章 网络服务函数(Networding Service Function)……………………………………849 6.1 数据链路控制函数(DLC)………………………………………………………………849 6.2 网络函数(Net)…………………………………………………………………………849 6.3 NetBIOS函数……………………………………………………………………………896 6.4 网络DDE函数(Networking DDE)……………………………………………………897 6.5 RAS服务器管理函数(RAS Server Administration)………………………………901 6.6 远程访问服务函数(Remote Access Administration)………………………………910 6.7 服务函数(Service)……………………………………………………………………929 6.8 Windows网络函数(Windows Networking)……………………………………………930 附录1 如何在VB中调用DLL API ……………………………………………………………945 1 DLL API的声明……………………………………………………………………………945 2 DLL API的调用……………………………………………………………………………947 附录2 在Delphi中直接调用Windows API…………………………………………………953
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值