Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как можно программно изменить свойства компанента?

1.3K
05 марта 2003 года
Dissident
73 / / 05.03.2003
Как можно например нажав на кнопочку в программе, изменить свойства компанента DBGrid
Options [dgEditing] на true, если оно было false;
Код типа:
DBGrid->Options->dgEditing=true не работает.
Так же не работет код типа:
DBGrid->Options=[dgEditing];
362
06 марта 2003 года
_kolyan
339 / / 03.12.2002
Цитата:
Originally posted by Dissident
Как можно например нажав на кнопочку в программе, изменить свойства компанента DBGrid
Options [dgEditing] на true, если оно было false;
Код типа:
DBGrid->Options->dgEditing=true не работает.
Так же не работет код типа:
DBGrid->Options=[dgEditing];



Попробуй

DBGrid->Options = DBGrid->Options << dgEditing;

И смотри справку по классу Set, с помощь него реализовано много чего
и Font->Style, и Form->Anchors (кажется) и т.п.

1.3K
06 марта 2003 года
Dissident
73 / / 05.03.2003
Цитата:
Originally posted by _kolyan


Попробуй

DBGrid->Options = DBGrid->Options << dgEditing;

И смотри справку по классу Set, с помощь него реализовано много чего
и Font->Style, и Form->Anchors (кажется) и т.п.



А что означает знак <<? Я пробовал, все скомпилирвалось, но Editing все равно как был false так и остался. :(

362
06 марта 2003 года
_kolyan
339 / / 03.12.2002
Цитата:
Originally posted by Dissident


А что означает знак <<? Я пробовал, все скомпилирвалось, но Editing все равно как был false так и остался. :(



Вообще-то << это оператор побитового сдвига к старшему разряду, но в классе Set он переопределен и испольщуется как оператор класса. Класс Set реализует набор неких флагов и для из установки используется этот оператор.
Например стобы выставить свойства шрифта жирный и курсив надо сделать Font->Style = TFontStyles() << fsBold << fsItalic

У грида еще есть свойство ReadOnly, такое же у DataSet, так что если не редактируется таблица они тоже могут быть виноваты

1.3K
06 марта 2003 года
Dissident
73 / / 05.03.2003
Цитата:
Originally posted by _kolyan


Вообще-то << это оператор побитового сдвига к старшему разряду, но в классе Set он переопределен и испольщуется как оператор класса. Класс Set реализует набор неких флагов и для из установки используется этот оператор.
Например стобы выставить свойства шрифта жирный и курсив надо сделать Font->Style = TFontStyles() << fsBold << fsItalic

У грида еще есть свойство ReadOnly, такое же у DataSet, так что если не редактируется таблица они тоже могут быть виноваты



Ну в данном случае используется какая-то функция TFontStyles(), а какая функция может использоваться там?

362
06 марта 2003 года
_kolyan
339 / / 03.12.2002
Цитата:
Originally posted by Dissident


Ну в данном случае используется какая-то функция TFontStyles(), а какая функция может использоваться там?



TFontStyles() Это конструктор класса TFontStyles
производного от Set, а DBGrid->Options имеет тип
TDBGridOptions, тоже производный от Set

pecifies various display and behavioral properties of the data-aware grid.

enum TDBGridOption { dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit,dgMultiSelect };

typedef Set<TDBGridOption, dgEditing, dgMultiSelect> TDBGridOptions;

__property TDBGridOptions Options = {read=FOptions, write=SetOptions, default=3325};

Description

Set Options to include the desired properties for the data-aware grid. Options is a set drawn from the following values:
...

1.3K
06 марта 2003 года
Dissident
73 / / 05.03.2003
Цитата:
Originally posted by _kolyan


TFontStyles() Это конструктор класса TFontStyles
производного от Set, а DBGrid->Options имеет тип
TDBGridOptions, тоже производный от Set

pecifies various display and behavioral properties of the data-aware grid.

enum TDBGridOption { dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit,dgMultiSelect };

typedef Set<TDBGridOption, dgEditing, dgMultiSelect> TDBGridOptions;

__property TDBGridOptions Options = {read=FOptions, write=SetOptions, default=3325};

Description

Set Options to include the desired properties for the data-aware grid. Options is a set drawn from the following values:
...



Во, клева, заработало, спасиба :)

3.3K
26 февраля 2006 года
eugrita
24 / / 26.02.2006
Цитата:
Originally posted by Dissident
Во, клева, заработало, спасиба :)


Так хоть я следил за темой, но не понял как всё-таки заработало? У меня тоже
DBGrid->Options = DBGrid->Options << dgEditing;
ни хрена не даёт. Помогите объясните.
Кто поможет тому стишок подкину

1
26 февраля 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by eugrita
Так хоть я следил за темой, но не понял как всё-таки заработало? У меня тоже
DBGrid->Options = DBGrid->Options << dgEditing;
ни хрена не даёт. Помогите объясните.
Кто поможет тому стишок подкину


Если ты стишки пишешь как хелпы читаешь - то лучше не надо.

 
Код:
DBGrid->Options = TDBGridOptions() << dgEditing;
3.3K
27 февраля 2006 года
eugrita
24 / / 26.02.2006
Цитата:
Originally posted by kot_
Если ты стишки пишешь как хелпы читаешь - то лучше не надо.
 
Код:
DBGrid->Options = TDBGridOptions() << dgEditing;


да , только не работает те только это но и другие попытки (1,2,3,4) - вот полный код с закомментированными попытками:
void __fastcall TNastr::DBNClick(TObject *Sender, TNavigateBtn Button)
{ int i;
switch (Button) {
case nbInsert:
m_sbjkd++;
DM->ADOQ1->Fields->Fields[0]->Value=m_sbjkd; break;
//1// DBG1->Options = TDBGridOptions() << dgEditing;
//2// DBG1->Options = TDBGridOptions(DBG1->Options) >> dgRowSelect << dgEditing;
//DBG1->Options = DBG1->Options + TDBGridOptions() << dgEditing;
//3//DBG1->Options = DBG1->Options << dgEditing;
//3// DBG1->Options= TDBGridOptions()<<dgAlwaysShowEditor<<dgTitles<<dgIndicator<<dgColumnResize<<dgColLines<<dgRowLines<<dgTabs<<dgConfirmDelete<<dgCancelOnExit<<dgEditing<<dgAlwaysShowEditor;
DBG1->Refresh();
default: AddLBT();
}
}

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог