dim nID as long nID = val(Text1.Text) dim server_address as string * 256 '这个定义需要注意,预留空间 GetDlgItemText(hDlg,nID , server_address, 256)
回复人: quqxu() ( ) 信誉:100 2002-4-27 22:37:28 得分:0
在VB中怎么表示控件Text1的ID呢?这函数的目的就是将控件text1内容放入到lpString中,这怎么实现呢? ==================================================================== 用GetDlgCtrlID! Declare Function GetDlgCtrlID Lib "user32" Alias "GetDlgCtrlID" (ByVal hwnd As Long) As Long
Dim nID As Long Dim server_address As String * 256 nID = GetWindowLong(Text1.hwnd, GWL_ID) Call GetDlgItemText(hDlg, nID, server_address, 256) MsgBox server_address
取得文本框的字符可用发送WM_GETTEXT消息的方法Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Const WM_GETTEXT = &HD Private Const WM_GETTEXTLENGTH = &HEPrivate Function GetWndText(hWnd As Long) As String Dim TempStr As String Dim TempLen As Long Dim Rc As Long
nID = val(Text1.Text)
dim server_address as string * 256 '这个定义需要注意,预留空间
GetDlgItemText(hDlg,nID , server_address, 256)
在VB中怎么表示控件Text1的ID呢?这函数的目的就是将控件text1内容放入到lpString中,这怎么实现呢?
====================================================================
用GetDlgCtrlID!
Declare Function GetDlgCtrlID Lib "user32" Alias "GetDlgCtrlID" (ByVal hwnd As Long) As Long
Dim server_address As String * 256
nID = GetWindowLong(Text1.hwnd, GWL_ID)
Call GetDlgItemText(hDlg, nID, server_address, 256)
MsgBox server_address
Private Const WM_GETTEXT = &HD
Private Const WM_GETTEXTLENGTH = &HEPrivate Function GetWndText(hWnd As Long) As String
Dim TempStr As String
Dim TempLen As Long
Dim Rc As Long
TempLen = 260
TempStr = String$(TempLen, 0)
Rc = SendMessage(hWnd, WM_GETTEXT, TempLen, ByVal TempStr)
If Rc>0 Then
GetWndText = left$(TempStr, InStr(TempStr, Chr$(0)) - 1)
End If
End Function
GetDlgItemText【操作系统】
Win9X:Yes
WinNT:Yes【声明】
GetDlgItemText Lib "user32" Alias "GetDlgItemTextA" (ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal lpString As String, ByVal nMaxCount As Long) As Long【说明】
【返回值】
【其它】
【参数表】
函数功能:该函数获取对话框中与控制有关的文本或标题。 函数原型:UINT GetDlgltemText(HWND hDlg,int nlDDlltem,LPTSTR IpString int nMazCount); 参数: hDlg:指向含有控制的对话框的句柄。 nlDDlgltem:指定标题或文本将被检索的控制的标识符。 IpString:指向获取标题或文本的缓冲器的指针。 nMaxCount:指定被复制到lpString参数指向的缓冲区的字符串的最大长度。如果字符串的字符最大长度超过范围,则该字符串被截断。 返回值:如果函数调用成功,则返回值表示被复制缓冲区的字符串的长度,不包括以NULL结尾的字符串。如果函数调用失败,则返回值为零。若想获得更多错误信息,请调用GetLastError函数。 备注: GetDlgltemText函数把一个WM_GETTEXT消息发送到控制。 速查:Windows NT: 3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本:头文件:winuser.h;库文件:user32.lib;Unicode:在Windows NT上实现为Unicode和ANSI两种版本。Private Declare Function GetDlgItemText Lib "user32" Alias "GetDlgItemTextA" (ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal lpString As String, ByVal nMaxCount As Long) As Long