Combobox - brak zamkniecia po wyborze.

0

Witam,
mam taki problem, który wydaje się łatwy ale nie mogę rozwiązać.
Jak w Combobox wybiorę jakiś item to chciałbym aby lista combobox dalej była rozwinięta a nie jak jest domyślnie, że się zamyka.

Proszę o pomoc

0

@olesio
Tzn mam combobox i Style ustawiłem na csOwnerDrawFixed.
I Chodzi mi o to, że jak kliknę w jedną wartość to żeby mi lista się nie zamykała tylko żebym mógł kliknąć w kolejną wartość itp..póki nie kliknę w Form albo w coś innego.
I szukam takiej komendy.

0

Odpowiedź dostałeś. W tej chwili nie mam jak się upewnić czy to jest to. Googlowałem z pamięci. Ale na zasadzie tego komunikatu działa za pewne rozwijanie ComboBoxów z listą dysków pod Total Commanderem poprzez Alt+F1 lub Alt+F2. Zdaje się, że z tego korzystałem kiedyś wzbogacając w ramach nauki kod na bazie źródeł Ekspert Commandera. Dostępnego w dawnym dziale Download na 4p.

0

Nie wiem o którym Delphi mowa, w każdym razie coś można znaleźć w sieci: http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_20395192.html

Ewentualnie zobacz sobie jeszcze do Google, bo prawdopodobnie nie trzeba będzie grzebać w WinAPI, aby taki efekt osiągnąć;


Jednak z drugiej strony, tego typu zachowanie nie jest naturalne dla tego komponentu; Nie powinno się więc takich rzeczy robić ze standardowymi komponentami, aby użytkownik nie myślał, że się mu program rozkracza; Osobiście pomyślałbym, że ComboBoxa szlag trafił i się zesunąć z powrotem nie chce, czyli uznałbym to za bug - nie fiuczer :]

2

Upewniłem się po powrocie na swój PC. Dokładnie ten komunikat rozwiązauje sprawę. Przykład użycia poniżej. Z tym, że ma to sens na przykład pod Total Commanderem gdzie mamy po odpowiedniej kombinacji klawiszy wywołaną listę dysków do wybrania. Jednak jakieś modzenie z nie do końca standardowym rozwinięciem ComboBoxa, faktycznie może wprowadzać zamieszanie. Jak wspomniał poprzednik.

Należy wychodzić z założenia, że nawet jeżeli program piszesz sam dla siebie i planujesz tylko siebie jako jedynego usera, którego nic nie zaskoczy. To przyszłość może to zweryfikowąć i program używac będzie musiał ktoś jeszcze poza Tobą.

TwojComboBox.Perform(CB_SHOWDROPDOWN, Ord(True), 0);
0

Dziękuję za pomoc.
Zamyka się po wybraniu i Od razu rozwija, ale jakoś chodzi także jeszcze raz dziękuję.

1 użytkowników online, w tym zalogowanych: 0, gości: 1