Einzelnen Beitrag anzeigen

Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: TEdit Eingabe mit Entertaste abschliessen

  Alt 22. Jan 2014, 06:50
Damit das im ganzen Formular funktioniert, kann man es auch in FormKeyDown einbauen.
Delphi-Quellcode:
procedure TLagerCustomForm.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
   Msg : TMsg;
begin
   if (key = VK_RETURN) and (shift = [])then
   begin
      if not IsOpenDropDown then // Kein Ersetzen wenn ein Dropdown offen ist
      begin
         Key := 0;
         PeekMessage(Msg, 0, WM_CHAR, WM_CHAR, PM_REMOVE);
         Perform(WM_NEXTDLGCTL,0,0);
      end;
   end;
end;

function TLagerCustomForm.IsOpenDropDown: boolean;
var
   i : integer;
begin
   result := false;
   for i := 0 to ControlCount -1 do
   begin
      with Controls[i] do
      begin
         // Abfrage auf Devexpress und VCL Combobox
         if (InheritsFrom(TcxCustomDropDownEdit) and TcxCustomDropDownEdit(Controls[i]).DroppedDown) or
            (InheritsFrom(TCustomComboBox) and TCustomCombo(Controls[i]).DroppedDown) then
         begin
            result := true;
            break;
         end;
      end;
   end;
end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat