2 pkfnl pkfnl 于 2016.03.01 12:37 提问

c++句柄和GetDlgItemText的问题

hDlg1=CreateDialog (hInst, MAKEINTRESOURCE(IDD_INDLG),hWnd, DialogPorc);

BOOL CALLBACK DialogPorc(HWND hDlg2, UINT message, WPARAM wParam, LPARAM lParam)

int a=GetDlgItemText(hDlg3,IDC_EDIT1,str,255);
句柄hDlg1、hDlg2,、hDlg3,是不是一码事,如果不是请说明一下,另外GetDlgItemText我无法获得控件文本内容求解。

4个回答

caozhy
caozhy   Ds   Rxr 2016.03.01 12:40
已采纳

hDlg1=CreateDialog (hInst, MAKEINTRESOURCE(IDD_INDLG),hWnd, DialogPorc);
BOOL CALLBACK DialogPorc(HWND hDlg2, UINT message, WPARAM wParam, LPARAM lParam)
这里1和2是一回事
int a=GetDlgItemText(hDlg3,IDC_EDIT1,str,255);
这个要看hDig3是什么对话框句柄,来自哪里了。

oyljerry
oyljerry   Ds   Rxr 2016.03.01 18:32

这些都是参数,都是表示你的目标控件的句柄。

pkfnl
pkfnl   2016.03.01 13:56

IDC_EDIT1是IDD_INDLG的编辑框,那么他们三个要是都是一回事,
为什么GetDlgItemText(hDlg3,IDC_EDIT1,str,255)中的str获得不到控件文本内容,Lptstr str.

pkfnl
pkfnl   2016.03.04 14:54

找到问题了,原因是可能是出在我用的这台电脑上,或是软件上,回家同样方法一次就成功获得了,谢谢两位大大。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
【win32】GetDlgItem(函数详解)
hwndScroll = GetDlgItem(hwnd, IDC_SCROLL); 假设一个父窗口中有多个子窗口。那么本函数是返回一个子窗口句柄。 第一个参数:父窗口句柄 第二个参数:子窗口ID 再假设 父窗口是一个对话框,子窗口是对话框中的一个滚动条 那么上面代码就很清晰了 hwndScroll就是滚动条的窗口句柄HWND id = GetDlgCtrlID (hwndCh
GetWindowText、GetDlgItemText、UpdateData
UpdateData(TRUE)和UpdateData(FALSE)数据传递方向: UpdateData(TRUE)数据从控件传到变量; UpdateData(FALSE)数据从变量传到控件。 GetWindowText(可以取任意窗口text)、GetDlgItemText(只能取对话框控件text)二者使用方法相同,入口点不一样。 举例:   CStrin
GetDlgItemText()函数和SetDlgItemText()函数
文章内容地址:https://msdn.microsoft.com/zh-cn/library/c9w3255c(v=vs.140).aspx COleControlContainer::GetDlgItemText 获取给定控件的文本。 语法 virtual int
GetDlgItemText的用法
intGetDlgItemText(intnID,LPTSTRlpStr,intnMaxCount)const; int GetDlgItemText( int nID, CString& rString ) const; 下面就通过两条途径来实现: 1、第一种方法:intGetDlgItemText(intnID,LPTSTRlpStr,intnMaxCount)const;
MFC中GetDlgItemText与GetDlgItemInt函数 -
GetDlgItemText 函数 用于获取对话框中指定控件的标题或文本。   UINT GetDlgItemText(HWND hDlg, int nIDDlgItem, LPTSTR lpString, int nMaxCount); hDlg 窗口的句柄。 nIDDlgItem   指定控件的标识符(ID)。  lpString   指向用于接收获取结果的缓冲区的指针。
GetDlgItemText()的用法
UpdateData();  char ch1[10],ch2[10];   int width,height;  GetDlgItemText(IDC_EDIT_Width ,ch1,10);  GetDlgItemText(IDC_EDIT_Height,ch2,10);  width =atoi(ch1);                                 //将字符
获取编辑框控件的内容的几种获取方法
获取编辑框控件的内容的几种获取方法。1.GetDlgItem获取文本编辑框的指针来获取内容. 12.使用 GetDlgItemText 函数获取文本框的内容。. 13.,使用 GetDlgItemInt来直接获取数值内容。. 24.第四种方法在类的定义变量来关联控件. 25.第五种使用SendMessage获取编辑框内容。. 3 1.GetDlgItem获取文本编辑框的指针来获取内容先使用 GetDlgItem(编辑框的ID)获取编辑框的指针。再指向编辑框的GetWindowText函数将获取内容保存至指定
DataMaster 文件转换实例
DataMaster 文件转换实例; GetDlgItemText(IDC_EDIT_DIRECTORY, Directory_Buf, sizeof(Directory_Buf)); GetDlgItemText(IDC_EDIT_NAME, InputFileName_Buf, sizeof(InputFileName_Buf)); GetDlgItemText(IDC_EDIT_OUTPUTFILE, OutputFileName_Buf, sizeof(OutputFileName_Buf)); GetDlgItemText(IDC_EDIT_SEPARATOR, SeparatorChar, 2); GetDlgItemText(IDC_EDIT_SEPARATOR_POSITION, SeparatorPosition, 2); GetDlgItemText(IDC_EDIT_START_LINE, StartLine, 5); GetDlgItemText(IDC_EDIT_STOP_LINE, StopLine, 5);
带界面的UDP聊天程序
BEGIN_MESSAGE_MAP(CMFCApplication38Dlg, CDialogEx) ON_MESSAGE(WM_USER+1,OnRecvData) ON_BN_CLICKED(IDC_BTN_SEND, &CMFCApplication38Dlg::OnBnClickedBtnSend) END_MESSAGE_MAP() // CMFCApplication38Dlg
C 语言中什么是“句柄”和“指针”?“文件”和“流”又有什么异同?
所谓句柄实际上是一个数据,是一个Long (整长型)的数据。  句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄。