Avatar billede arsk Nybegynder
02. august 2000 - 13:55 Der er 1 løsning

Listindex i combobox

Hej
I en combobox hvor style = 0 vil jeg hjælpe brugeren ved at kigge listen igennem når noget tastes ind i tekstdelen. Jeg sætter så listindex i kode hvis jeg finder noget der passer til det brugeren har skrevet, men lige så snart keydown proceduren forlades er listindexet igen -1. Stopper jeg programmet lige efter at listindexet er sat, altså inde i keydown, er listindexet rigtig nok.
I MSDN står der at listindex = -1 kan indikere at brugeren har tastet noget ind, men jeg sætter jo listindexet i kode EFTER at der er blevet tastet. Jeg bruger VB6(sp3)
Skal det bare være sådan eller hvad kan man gøre?

Med venlig hilsen

Arne Skriver
Avatar billede martinlind Nybegynder
02. august 2000 - 14:31 #1
Det er en tåbelig bøf i windows\'s combobox control, men i delphi kan du komme uden om med følgende kode, jeg ved ikke om du kan gøre det samme i VB.



procedure TComboBoxEx.WndProc
(var Message: TMessage);
begin
  if Message.Msg = CM_TEXTCHANGED then
    SendMessage(Handle,CB_SETCURSEL,SendMessage
      (Handle,CB_FINDSTRINGEXACT,0,
        Longint(PChar(Text))),0);
  inherited;
end;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester