Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi IAutoComplete2: DropDownBox + AutoExmpand möglich? (https://www.delphipraxis.net/118663-iautocomplete2-dropdownbox-autoexmpand-moeglich.html)

blackdrake 12. Aug 2008 13:38


IAutoComplete2: DropDownBox + AutoExmpand möglich?
 
Hallo.

Ich habe hier einen schönen Artikel zum Thema "AutoComplete" bei VCLs gelesen. Hier wird eine Variante gezeigt, die nicht einmal eine neue VCL definiert.

http://www.codebot.org/delphi/?doc=9451

In vereinfachter Variante (Abb. 2) wird der Eingabestring einfach erweitert.

In erweiterter Variante ist das Einsetzen einer DropDownBox möglich (Abb. 3).

Gibt es jedoch eine Möglichkeit, beides zu kombinieren? Das kann ich aus dem Text nicht rauslesen.

Ich würde gerne die automatische Erweiterung UND die DropDownBox haben, wenn es möglich wäre. Ich persönlich fände es auf jeden Fall nützlich.

Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ShlIntf, ActiveX, ComObj, StdCtrls, StrTools;

type
  TAutoCompleteForm = class(TForm)
    CompletionEdit: TEdit;
    CompletionLabel: TLabel;
    SourceGroupBox: TGroupBox;
    SourceMemo: TMemo;
    procedure FormCreate(Sender: TObject);
  private
    FAutoComplete: IAutoComplete2;
    FStrings: IUnknown;
  end;

procedure TAutoCompleteForm.FormCreate(Sender: TObject);
begin
  FAutoComplete := CreateComObject(CLSID_AutoComplete) as IAutoComplete2;
  FStrings := TEnumString.Create(SourceMemo.Lines) as IUnknown;
  OleCheck(FAutoComplete.SetOptions(ACO_AUTOSUGGEST or ACO_UPDOWNKEYDROPSLIST));
  OleCheck(FAutoComplete.Init(CompletionEdit.Handle, FStrings, nil, nil));
end;
Gruß
blackdrake

DExpert 8. Apr 2009 14:13

Re: IAutoComplete2: DropDownBox + AutoExmpand möglich?
 
Einfach bei Parameter kobminieren:

Delphi-Quellcode:
  OleCheck(FAutoCompleteType.SetOptions(ACO_AUTOAPPEND or ACO_AUTOSUGGEST ));


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz