Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   C# Textbox und SHAutoComplete (https://www.delphipraxis.net/41630-textbox-und-shautocomplete.html)

MathiasSimmack 6. Mär 2005 09:54


Textbox und SHAutoComplete
 
Hi.

Ich habe gerade einer Textbox (Eingabefeld) AutoComplete verpasst, aber seitdem reagiert sie leider nicht mehr auf das KeyPress-Ereignis. Wenn ich die Anweisung weglasse, dann funktioniert auch das KeyPress-Event. Weiß jemand wie man das umgehen kann? Oder hat jemand eine clevere (ins .NET eingebaute) Lösung? :)
Code:
[DllImport("shlwapi.dll")]
static extern int SHAutoComplete(IntPtr Handle, uint Flags);

enum AutoCompleteFlags : uint
{
   Default            = 0x00000000,
   FileSystem         = 0x00000001,
   UrlHistory         = 0x00000002,
   UrlMenu            = 0x00000004,
   UseTab             = 0x00000008,
   FileSystemOnly     = 0x00000010,
   UrlAll             = UrlHistory|UrlMenu,
   FileSystemDirs     = 0x00000020,
   AutoSuggestForceOn = 0x10000000,
   AutoSuggestForceOff = 0x20000000,
   AutoAppendForceOn  = 0x40000000,
   AutoAppendForceOff = 0x80000000
}


SHAutoComplete(textBox1.Handle, (uint)AutoCompleteFlags.UrlHistory);

MathiasSimmack 18. Apr 2005 08:44

Re: Textbox und SHAutoComplete
 
Um auch mal meine eigene Frage zu beantworten: Wenn die Textbox nicht mehr auf "KeyPress" reagiert, dann tut sie es zumindest noch auf "KeyDown". Mit anderen Worten:
Code:
urlTextbox.KeyDown += new KeyEventHandler(UrlTextboxKeyDown);

private void UrlTextboxKeyDown(object sender, KeyEventArgs e)
{
   if(e.KeyValue == 13 && urlTextbox.Text != null && urlTextbox.Text != "") {
      this.Navigate(urlTextbox.Text);
   }
}
klappt auch trotz (oder besser gesagt: mit) AutoComplete. :)


Edit: "private" tut´s auch, ´s muss nicht "public" sein. :roll: silly me :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 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