Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Вниз

выделение в comboBox   Найти похожие ветки 

 
Guest00   (2005-01-20 06:09) [0]

Здравствуйте !
На ToolBar (TToolBar) размещёно несколько компонент:
dtList (TDateTimePicker), cbVehicle (TComboBox) и др.

cbVehicle.Items заполняется данными в Run Time (выполняется хранимая процедура). После этого устанавливается cbVehicle.ItemIndex := 0;
Плохо то, что cbVehicle выделяет текущие данные, как будто он имеет фокус ввода. Стиль cbVehicle.Style := csDropDown;
Если пройтись клавишей Tab по всем компонентам, выделение у cbVehicle сбрасывается, и дальше компонент работает как положено.
Никак не получается установить cbVehicle.ItemIndex <> -1; и сбросить выделение.
ClearSelection и DeleteSelected устанавливают cbVehicle.ItemIndex в значение -1.


 
KilkennyCat ©   (2005-01-20 06:34) [1]

может, проще убрать у него фокус ввода? Раз после табпробега работает как надо...


 
guest00   (2005-01-20 08:58) [2]

KilkennyCat !
Он не имеет фокуса ввода, но текст выделен.
Это сбивает меня и пользователей с правильного пути.


 
Alcogol   (2005-01-20 09:28) [3]

может сделать setfocus другому компоненту.
(по-моему это тоже самое что и Tab).


 
geust00   (2005-01-20 09:59) [4]

фокуса ввода cbVehicle не имеет, а вот если установить
cbVehicle.Style := csDropDownList; то выделение пропадает, - то, что надо. Но это не решение. Я устанавливал фокус ввода другому компоненту dtList (TDateTimePicker), не помогло, конечно.
Этот comboBox всего-то не сбрасывает выделение.


 
KilkennyCat ©   (2005-01-20 10:33) [5]

Попробовал воспроизвести ситуацию. Изначально установил TabOrder = 0 другому элементу. Никаких выделений при любых изменениях. Седьмая Делфи, вин2000.


 
guest00   (2005-01-20 11:37) [6]

сейчас принесу текст.


 
guest00   (2005-01-20 12:07) [7]

Ситуация такова.

в главной форме
type
 TForm1 = class(TForm)
 ...
 public
   waylist1: TWaylistType1;
 ...
 end

есть TWaylistType1 - тоже форма, но с двумя конструкторами
type
 TWaylistType1 = class(TForm)
 ...
 public
   constructor Create(AOwner: TComponent); overload; override;
   constructor Create(AOwner: TComponent; AParent:TWinControl);  reintroduce; overload;
 ...
 end

В данном случае вызывается конструктор

 waylist1 := TWaylistType1.Create(self, TabSheet1);

Этот код выполняется в конструкторе главной формы TForm1.

"неправильный" компонент cbVehicle расположен
на форме waylist1: TWaylistType1; и заполняется не в конструкторе формы TWaylistType1; а при установке её свойства ADOConn: TADOConnection.

В конструкторе главной формы читается ini - файл. Если в нём указан пароль, в конструкторе (в последних строках) выполняется попытка соединения с БД, т.е. устанавливается свойство waylist1.ADOConn: TADOConnection и заполняется этот cbVehicle.
(это случай 1)

Если пароль не указан, соединение с БД не выполняется, cbVehicle не заполняется. Соединение устанавливается пользователем активизацией соответствующих процедур.
(это случай 2)

В случае 2 всё [ok]. В случае 1 и возникает неожиданная ситуация.
Т. е. в том случае, когда заполнение comboBox происходит в конструкторе главной формы.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.041 c
1-1106212945
han_bratan
2005-01-20 12:22
2005.01.30
сборка package


1-1105804446
Nata
2005-01-15 18:54
2005.01.30
Номер записи


1-1106190570
Guest00
2005-01-20 06:09
2005.01.30
выделение в comboBox


1-1105975582
Bobby Digital
2005-01-17 18:26
2005.01.30
MessageDlg


4-1102580573
fynjy1984
2004-12-09 11:22
2005.01.30
Как определить открыт или закрыт лоток CD-Rom a





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский