首页
社区
课程
招聘
如何得到控件的句柄
发表于: 2005-9-29 23:29 7521

如何得到控件的句柄

2005-9-29 23:29
7521
下面的程序的dlg是用CreateDialog创建的,所以下面的代码
就可以得到控件IDC_LIST1的句柄

hList = CreateDialog(gI,MAKEINTRESOURCE(IDD_FORMVIEW),
                     hwndchild, (DLGPROC)pListFormProc);
hListView = GetDlgItem(hList,IDC_LIST1);   // init listview
-----------------------------------------------------------

用DiaLogBoxParam创建了一个对话框,怎么得到控件IDC_LIST1的句柄,
hListView = GetDlgItem(hList,IDC_LIST1);
                       ~~~~~
                       对应的这个参数应该怎么填?

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 233
活跃值: (130)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
你写对的
hList = CreateDialog(gI,MAKEINTRESOURCE(IDD_FORMVIEW),
                     hwndchild, (DLGPROC)pListFormProc);
hListView = GetDlgItem(hList,IDC_LIST1);   // init listview

------------------------------------------------
CreateDialog建的是非模态
DiaLogBoxParam建的模态
2005-9-30 08:45
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
3
用DiaLogBoxParam创建的对话框是模态对话框,在对话框关闭前他是不会返回的。要取得子控件的句柄只有在对话框的消息回调函数里获取。
2005-9-30 09:14
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你先获得窗体的句柄,
可以使用spy++这样的软件来查看,一个一个的往下,窗体名称不是动态就可以获得了,
2005-9-30 11:58
0
雪    币: 1540
活跃值: (2807)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我已经获取了listview的句柄.想在模态对话框内显示
listview的内容
我现在的疑惑是显示ListView的部分是不是也在DialogProc
函数中处理的?
下面的函数是不是放在WM_PAINT的消息中处理?
下面是显示的代码:     

long lv_addItem( HWND hlv, char *lpBuffer )
{
  long currenti;
  LVITEM lvi;
  currenti = ListView_GetItemCount( hlv );
  memset( &lvi, 0, sizeof(lvi) );
  lvi.mask = LVIF_TEXT;
  lvi.pszText = lpBuffer;
  lvi.iItem = currenti;
  ListView_InsertItem( hlv, &lvi );
  return currenti;
}

最初由 小虾 发布
用DiaLogBoxParam创建的对话框是模态对话框,在对话框关闭前他是不会返回的。要取得子控件的句柄只有在对话框的消息回调函数里获取。
2005-9-30 12:06
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
学习中…………
2005-10-2 00:01
0
游客
登录 | 注册 方可回帖
返回