首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎么判断一个窗口里是否存在dbgrid

2012-06-14 
如何判断一个窗口里是否存在dbgrid?如何判断一个窗口里是否存在dbgrid?[解决办法]Delphi(Pascal) codevari

如何判断一个窗口里是否存在dbgrid?
如何判断一个窗口里是否存在dbgrid?

[解决办法]

Delphi(Pascal) code
var  i:Integer;begin  for i:= 0 to Self.ControlCount - 1 do  begin    if Self.Controls[i] is TDBGrid then    begin      ShowMessage('ok');      Break;    end;  end;end;
[解决办法]
Delphi(Pascal) code
var  bWinControlExists: Boolean;function EnumChildProc(hwnd: HWND; lParam: LPARAM): BOOL; stdcall;var  B: array[0..255] of Char;begin  GetClassName(hwnd, @B[0], 256);  if SameText(B, PChar(lParam)) then  begin    bWinControlExists := True;    Result := False  end else    Result := Trueend;function WinControlExists(const AFormHandle: HWND; const AWinControlClass: string): Boolean;begin  if not IsWindow(AFormHandle) then    raise Exception.Create('请指定有效的窗口句柄!');  bWinControlExists := False;  EnumChildWindows(AFormHandle, @EnumChildProc, Integer(PChar(AWinControlClass)));  Result := bWinControlExists;end;procedure TForm1.Button1Click(Sender: TObject);begin  if WinControlExists(Handle, 'TDBGrid') then    ShowMessage('存在dbgrid')  else    ShowMessage('不存在dbgrid')end; 

热点排行