...eine Checkbox in einem fremden Fenster markieren?

Autor: Thomas Stutz

Kategorie: Oberfläche

{
  The function CheckCheckBox() checks or unchecks a Checkbox in another
  window.

  Parameter:
  hApp : Handle to the parent window of the Checkbox.
  ClassName: Class name of the Checkbox.
  (For Delphi-Applications: TCheckBox. For C, VB,..: Checkbox)
  bValue: Determines whether the check box is in the checked state.
  CheckBoxNr: Number of the CheckBox (useful if there are several Checkboxes)
}

{
  Die Funktion CheckCheckBox() markiert (Checked:= True) eine Checkbox in einem
  fremden Fenster.

  Parameter:
  hApp : Handle des Fensters, auf welchem die Checkbox liegt.
  ClassName: Klassenname der Checkbox.
  (Bei Delphi-Anwendungen TCheckBox, bei C, VB,..: Checkbox)
  bValue: Wenn True, dann wird die Checkbox markiert.
  CheckBoxNr: Nummer der CheckBox (nützlich, wenn mehrere Checkboxen vorhanden sind)
  ("Reihenfolge der Nummern wird durch FindWindowEx bestimmt")
}

procedure CheckCheckBox(hApp: HWND; ClassName: string; bValue: Boolean; CheckBoxNr: Integer);
var
  
i: Word;
  hCheckBox: HWND;
begin
  if not 
IsWindow(hApp) then Exit;
  for i := 0 to CheckBoxNr do
    
hCheckBox := FindWindowEx(hApp, hCheckBox, PChar(ClassName), nil);
  if IsWindow(hCheckBox) then
    
SendMessage(hCheckBox, BM_SETCHECK, Integer(bValue), 0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  
CheckCheckBox(Handle, 'TCheckBox', True, 1);
  // Or / Oder
  // CheckCheckBox(Handle, 'CheckBox', True, 1);
end;

 

printed from
www.swissdelphicenter.ch
developers knowledge base