有这样一个问题就是我在数据库中存放各种国家的语言在界面的LABEL上显示但LABEL的宽度有限所有我想在数据库取出字符串的时候算出字符串的宽度如果字符串的度度超过了LABEL的宽度提示他,那位大虾知道!

解决方案 »

  1.   

    GetTextExtentPoint, GetTextExtentPoint32 VB声明 
    Declare Function GetTextExtentPoint& Lib "gdi32" Alias "GetTextExtentPointA" (ByVal hdc As Long, ByVal lpszString As String, ByVal cbString As Long, lpSize As SIZE)
    Declare Function GetTextExtentPoint32& Lib "gdi32" Alias "GetTextExtentPoint32A" (ByVal hdc As Long, ByVal lpsz As String, ByVal cbString As Long, lpSize As SIZE) 
    说明 
    判断一个字串的大小(范围)。在Win32环境中,最好使用GetTextExtentPoint32,它提供了更精确的计算结果 
    返回值 
    Long,非零表示成功,零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    hdc Long,设备场景的句柄 
    lpszString String,欲度量其范围(extent)的一个字串 
    cbString Long,lpszString字串的长度 
    lpSize SIZE,这个结构用于装载字串范围的高度和宽度信息 
    注解 
    这个函数不会将剪切区考虑在内,但却考虑到了由SetTextCharacterExtra函数设置的任何额外空间(间距)