Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > ФОКУС


Автор: moroz11 26.3.2007, 10:32
Я только начала изучать язык С++Builder 6.
У меня проблема.Подскажите,как при выборе пункта меню(описанного в TreeView слева на форме )-- в правой стороне экрана (это таблица помещенная в Grid) укать фокус на столбце этой таблицы.
DBGrid->SetFocus();   --не помогает.
Спасибо

Автор: _hunter 26.3.2007, 11:14
если именно на столбце -- установи свойсво Col в нужное число.

Автор: moroz11 26.3.2007, 13:50
 int N ;
  N=DBGrid1->SelectedIndex;
  SprCol=DBGrid1->Columns->Items[0]->SetFocus();



Или как ?
У меня плохо пока с языком.
Помогите
Спасибо

Автор: _hunter 26.3.2007, 13:58
нет. DBGrid1->Col = 5;

Автор: moroz11 26.3.2007, 15:17
Я помещаю кусок программы,который срабатывает при запуске задачи.
Всавила я предлагаемую Вами строку   DBGrid1->Col=1;
-ошибка:

[C++ Error] mainform.cpp(50): E2247 'TCustomGrid::Col' is not accessible

********************** программа ***********
if(TreeView1->Selected->Text == "Справочник лицевых счетов")
 {
  //Выбираем sql
 M_Lsab->ADOQueryLsab->SQL->LoadFromFile("Lsab.sql");
 Str1 = M_Lsab->ADOQueryLsab->SQL->Text;
 //Выбираем куда грузить набор данных из таблицы
 M_Lsab->DataSourceLsab->DataSet = M_Lsab->ADOQueryLsab;
 //Связываем возвращаемый набор данных и визуальные компоненты
 DBGrid1->DataSource =  M_Lsab->DataSourceLsab;
 DBNavigatorSprLsab->DataSource =  M_Lsab->DataSourceLsab;
 //открываем
 M_Lsab->ADOQueryLsab->Open();
 DBGrid1->Col=1;
//M_Lsab->ADOQueryLsab->SetFocus();
 }
********************************

Автор: _hunter 26.3.2007, 16:28
значит нужно делать наследника и открывать это свойство в нем...

Автор: moroz11 27.3.2007, 09:08
Жаль,но помощи от ваших предложений никакой.Одни только намеки.

Автор: _hunter 27.3.2007, 11:02
конкретика:
делать так:
http://forum.vingrad.ru/index.php?showtopic=142915&view=findpost&p=1077300
вместо 
using TStringGrid::MoveColumn;
впиши свое свойство.

Автор: moroz11 28.3.2007, 13:31
***********Фокус*******

M_Lsab->DataSourceLsab->DataSet->First();
//перемещае курсор на Distance записей и возвр-т число записей,на кот.он переместился 
M_Lsab->DataSourceLsab->DataSet->MoveBy(0);
//установка курсора в 1-й столбец
DBGrid1->SelectedIndex=0;
DBGrid1->SetFocus();


Все работает

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)