Jak aktywować ComboBox bez klikania na niego?

dział ogólny

Jak aktywować ComboBox bez klikania na niego?

Nowy postprzez mirekpl6 » wtorek, 6 grudnia 2016, 21:35

Witam. Mam na formatce ComboBoxa,który ma ustalony tekst(właściwość Text). Problem polega na tym,że gdy nie kliknę w ComboBoxa nie mogę wpisywać z klawiatury tekstu. Dopiero gdy kliknę mogę wpisywać.

Jak zrobić to,że gdy się formatka wyświetli, ComboBox bez klikania na niego był aktywny(tekst był zaznaczony na niebiesko)

Próbowałem wpisać w FormCreate:
Kod: Zaznacz cały
ComboBox1->Onclick;
ale to nie rozwiązuje problemu
Avatar użytkownika
mirekpl6
Bladawiec
Bladawiec
 
Posty: 15
Dołączył(a): piątek, 11 listopada 2016, 13:53
Podziękował : 4
Otrzymał podziękowań: 0
System operacyjny: Windows 8 Pro 64bit
Kompilator: C++Builder 10.1 Berlin
Gadu Gadu: 0
    Windows 7Chrome

Re: Jak aktywować ComboBox bez klikania na niego?

Nowy postprzez polymorphism » wtorek, 6 grudnia 2016, 23:15

Spróbuj z metodą SetFocus. Choć wydaje mi się, że wystarczyłoby ustawienie TabOrder comboboxa na zero, a resztę kontrolek na jeden.
C++ Reference - opis wszystkich klas STL-a i funkcji C.

Za ten post autor polymorphism otrzymał podziękowanie od:
mirekpl6
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows 7Firefox

Re: Jak aktywować ComboBox bez klikania na niego?

Nowy postprzez mirekpl6 » wtorek, 6 grudnia 2016, 23:47

@polymorphism Dzięki :)

Odnośnie
Kod: Zaznacz cały
ComboBox1->SetFocus();


Ten kod wywoływał błąd "Nie można fokusować wyłączonego bądź niewidzialnego okna".

Natomiast ustawienie TabOrder(ComboBoxa) na 0 poskutkowało. Nawet nie musiałem ustawiać TabOrder innych elementów na 1. [Może dlatego,że na tej formatce mam tylko jedną kontrolkę(właśnie ten ComboBox) gdzie można coś wpisać(taka moja teoria na ten temat :) ) ]
Avatar użytkownika
mirekpl6
Bladawiec
Bladawiec
 
Posty: 15
Dołączył(a): piątek, 11 listopada 2016, 13:53
Podziękował : 4
Otrzymał podziękowań: 0
System operacyjny: Windows 8 Pro 64bit
Kompilator: C++Builder 10.1 Berlin
Gadu Gadu: 0
    Windows 7Chrome

Re: Jak aktywować ComboBox bez klikania na niego?

Nowy postprzez Cyfrowy Baron » niedziela, 11 grudnia 2016, 10:48

TaOrder określa kolejność przechodzenia między kontrolkami za pomocą klawisza Tab. Formularz ma właściwość ActiveControl. Możesz tam wybrać, która kontrolka jest domyślnie aktywna na formularzu. Nie można użyć SetFocus na kontrolce ukrytej, więc dopóki nie wywołasz okna z kontrolką, na którą chcesz ustawić focus, to nie możesz użyć tej funkcji.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows 7Firefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 60 gości

cron