获取一个Form的句柄用FindWindow比较容易,但是在这个Form上面的列表框控件的句柄如何获取它的句柄呢?
解决方案 »
- DBGridEh使用
- 请问在Writeln函数中该怎样使用动态数组参数
- Delphi 字符和字符串(Ansi、Unicode)之间的异同?
- 问个关于TQuery的问题
- 请问:在类的定义中如果没有可见性指示符(private,protected,public,publish...)的成员的可见性
- 各位高手,怎样把String用SQL写进ACCESS中的“备注”类型字断,最好有例子谢谢!
- 树与表怎么做关联,?
- 请教关于SQL操作时有语法错误的时候,若想不要跳出微软的提示框,想要messagebox,怎么办?
- 我的可用分还有1600,再给你一次
- 程序不能用?
- as 的疑惑?
- 請問在ACCESS數據庫中用什么命令可以實現以下功能? pls....
BOOL EnumChildWindows( HWND hWndParent, // handle to parent window
WNDENUMPROC lpEnumFunc, // pointer to callback function
LPARAM lParam // application-defined value
);
LbH := FindWindowEx(FormHandle,0,pchar('ListBox'),nil);
1、先声明一个回调函数:
function EnumFunc(wnd:hWnd):Boolean
var
cn:array[0..1024] of Char;
begin
GetClassName(wnd,cn,1024);
Showmessage(StrPas(cn));
Result:=True;
end;
2、遍历所有窗体;
myHandle:=FindWindow(nil,'任务管理');
EnumChildWindows(myHandle,@EnumFunc,0);结果发现获得的cn都是空字符串;二、对于Paddle() 的方法
获得的句柄是0;
movewindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil),x,y,25,25,true);
从上面的例子我们可以看到,你其实只要知道你的列表框控件的类名就可以了,如果你不清楚的话,你可以用VC的工具SPY++来查看一下类名是什么
function EnumFunc(wnd:hWnd; lparam: Longint):Boolean;stdcall;
var
cn:array[0..1024] of Char;
begin
GetClassName(wnd,cn,1024);
Showmessage(StrPas(cn));
Result:=True;
end;