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


Автор: docwar 29.11.2006, 23:42
Здравствуйте!
Мне необходимо програмно опустошить TDateTimePicker.
Изначально он содержит сегодняшнюю дату, но мне бы хотелось ее убрать(т.е. сделать DTP пустым).
Спасибо!

Автор: Partizan 29.11.2006, 23:57
не думаю что у тебя получится просто опустошить дэйттаймпикер....
как вариант просто закрасить изначально данные в DateTimePicker белым прямоугольником...

Автор: Romikgy 30.11.2006, 00:09
visible = false;

Автор: Partizan 30.11.2006, 00:11
Romikgy, человеку ж не то совсем надо....

Автор: Romikgy 30.11.2006, 00:17
Цитата(docwar @  29.11.2006,  22:42 Найти цитируемый пост)
но мне бы хотелось ее убрать

и что сделать?
Цитата(Partizan @  29.11.2006,  23:11 Найти цитируемый пост)
человеку ж не то совсем надо....

тогда не совсем понял

PS почему все считают , что на форуме сидят телепаты? smile

Автор: Partizan 30.11.2006, 00:20
Romikgy, =) ну а как ещё называть) форум развивает телепатический скилл )

видимо я телепат... )
по крайней мере я обратил внимание на это:
Цитата

т.е. сделать DTP пустым


думаю это означает что контрол должен работать...но не должен содержать никаких данных...

Автор: Romikgy 30.11.2006, 10:12
Цитата(Partizan @  29.11.2006,  23:20 Найти цитируемый пост)
но не должен содержать никаких данных... 

это как?

Автор: Partizan 30.11.2006, 10:30
вот так...

Автор: Vyacheslav 30.11.2006, 11:11
Цитата(Partizan @  30.11.2006,  10:30 Найти цитируемый пост)
вот так...

Ну это просто smile
Изначально занести в  формат пробел 
Код

DateTimePicker1->Format = " ";

И не забыть установить обработчк
Код

void __fastcall TForm1::DateTimePicker1Change(TObject *Sender)
{
  DateTimePicker1->Format="";    
}


Автор: Partizan 30.11.2006, 12:20
ухх ) и не думал что всё так просто)

Автор: docwar 30.11.2006, 19:40
Vyacheslav, помоги, пожалуйста! =)
Вот это сунул в __fastcall TForm1::TForm1:
Код
DateTimePicker1->Format=" ";

Вот это в StringGrid1Click:
Код
if(StringGrid1->Cells[3][nstroki]!="")
 {
  DateTimePicker1->Date = StringGrid1->Cells[3][nstroki];
 }
 else DateTimePicker1->Format=" ";

Добавил и вот это:
Код
void __fastcall TForm1::DateTimePicker1Change(TObject *Sender)
{
DateTimePicker1->Format="";
StringGrid1->Cells[3][nstroki] = DateTimePicker1->Date;
flag=1;
}

Смысл кода состоит в занесении данных в СтрингГрид из ДатаТаймПикера, при щелчке на ячейку СГ в ДТП должна вывестить дата,а если ячейка СГ при щелчке оказалась пустой, то и ДТП должен быть пустым.

Всем большое спасибо за отзывчивость! =)

Автор: Reptile 1.12.2006, 11:24
Ну так  проверяй, если StringGrid пустой то обнуляеш формат , если нет восстанавливаеш формат.
Код

if(StringGrid1->Cells[3][nstroki] == "")
 {
  DateTimePicker1->Format = " ";
 }
 else 
  {
     DateTimePicker1->Format = 'dd.mm.yyyy';
     DateTimePicker1->Date = StringGrid1->Cells[3][nstroki];
  }

Автор: Vyacheslav 1.12.2006, 11:28
Код

if(StringGrid1->Cells[3][nstroki] == "")
{
  DateTimePicker1->Format=" "; // пробел
}
else 
{
   DateTimePicker1.Format = "";
   DateTimePicker1->Date = StringGrid1->Cells[3][nstroki];
}


Даже скорее всего можно обойтись без 
 DateTimePicker1.Format = "";
поскольку будет срабатывать DateTimePicker1Change

Автор: docwar 10.12.2006, 22:52
Большое спасибо за ответы на вопрос! =)
Примите + в рейтинг в знак моей благодарности!

Вопрос решен. Тему можно закрыть.

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