TListItem->Caption в RunTime
От: Keith  
Дата: 04.05.05 23:09
Оценка:
Выполняю такой код:

 TListItem *tempItem = new TListItem(ListView1->Items);
 tempItem->Caption = "MyName";
 ListView1->Items->AddItem(tempItem);


Но в окошке элемент появляется без имени. Где я торможу?
... << RSDN@Home 1.1.4 beta 4 rev. 345>>
Re: TListItem->Caption в RunTime
От: Shtirliz Россия  
Дата: 05.05.05 06:23
Оценка:
Здравствуйте, Keith, Вы писали:

K>Выполняю такой код:


K>
K> TListItem *tempItem = new TListItem(ListView1->Items);
K> tempItem->Caption = "MyName";
K> ListView1->Items->AddItem(tempItem);
K>


K> Но в окошке элемент появляется без имени. Где я торможу?


Не знаю как в С++
Но в Delphi я делал так:
  Var tmpItem : TListItem;
begin
  tmpItem := listView.Items.Add;
  tmpItem.Caption := 'MyItem';
end;


И все прекрасно работало...
... << RSDN@Home 1.1.4 beta 6a rev. 440>>
Дункан Маклауд любил ходить в лес и издеваться над кукушками.
138385660
Re[2]: TListItem->Caption в RunTime
От: Keith  
Дата: 05.05.05 09:09
Оценка:
S>Не знаю как в С++
S>Но в Delphi я делал так:
[skip]
S>И все прекрасно работало...
Не знаток Delphi, но по-моему это одно и то же. Может кто-нибудь знает в чем проблма?
... << RSDN@Home 1.1.4 beta 4 rev. 345>>
Re[3]: TListItem->Caption в RunTime
От: linker Россия  
Дата: 05.05.05 09:22
Оценка: 1 (1) +2
Здравствуйте, Keith, Вы писали:

S>>Не знаю как в С++

S>>Но в Delphi я делал так:
K>[skip]
S>>И все прекрасно работало...
K> Не знаток Delphi, но по-моему это одно и то же. Может кто-нибудь знает в чем проблма?
Может вот, так получится(под рукой Builder'а нету).
TListItem tempItem;     
ListViewItems->AddItem(tempItem);
tempItem->Caption = "MyName";
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[4]: TListItem->Caption в RunTime
От: Keith  
Дата: 05.05.05 10:02
Оценка:
Здравствуйте, linker, Вы писали:

L>Здравствуйте, Keith, Вы писали:


S>>>Не знаю как в С++

S>>>Но в Delphi я делал так:
K>>[skip]
S>>>И все прекрасно работало...
K>> Не знаток Delphi, но по-моему это одно и то же. Может кто-нибудь знает в чем проблма?
L>Может вот, так получится(под рукой Builder'а нету).
L>TListItem tempItem;
[C++ Error] HSSettings.h(208): E2459 VCL style classes must be constructed using operator new

Даже после добавления Item'а вот так то же не работает:
ListView1->Items->Item[0]->Caption = "111";


Может я какое свойство накрутил в Object Inspector'е?
... << RSDN@Home 1.1.4 beta 4 rev. 345>>
Re[5]: TListItem->Caption в RunTime
От: kavlad Россия http://www.wavesoft.ru
Дата: 05.05.05 10:50
Оценка: 3 (1)
Здравствуйте, Keith, Вы писали:

K> Может я какое свойство накрутил в Object Inspector'е?


Нет.
Посмотри на свой код — создается итем, ему дается caption и итем добавляется.
Когда происходит установка Caption у итема, то вызывается ListView_SetItemText, а у тебя еще итем не добавлен.
Т.е. надо сначала добавить итем, а потом назначать ему caption.
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Re[6]: TListItem->Caption в RunTime
От: linker Россия  
Дата: 05.05.05 11:21
Оценка:
Здравствуйте, kavlad, Вы писали:

K>Здравствуйте, Keith, Вы писали:


K>> Может я какое свойство накрутил в Object Inspector'е?


K>Нет.

K>Посмотри на свой код — создается итем, ему дается caption и итем добавляется.
K>Когда происходит установка Caption у итема, то вызывается ListView_SetItemText, а у тебя еще итем не добавлен.
K>Т.е. надо сначала добавить итем, а потом назначать ему caption.
Вот и я про тоже в Builder'е не силен поэтому написал как понял,
Твой код
TListItem *tempItem = new TListItem(ListView1->Items);
 tempItem->Caption = "MyName";
 ListView1->Items->AddItem(tempItem);

Мой код, отличается только порядком,если бы в delphi ниписать тот порядок который у тебя ом матерится будет на то что еще нет итема а имя уже есть.
TListItem tempItem;     
ListViewItems->AddItem(tempItem);
tempItem->Caption = "MyName";
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[7]: TListItem->Caption в RunTime
От: kavlad Россия http://www.wavesoft.ru
Дата: 05.05.05 11:34
Оценка:
Здравствуйте, linker, Вы писали:

L>Твой код


Прошу прощения, но моего кода в этой ветке еще не было
... << RSDN@Home 1.1.4 beta 4 rev. 302>>
Re: TListItem->Caption в RunTime
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 05.05.05 11:36
Оценка: 4 (1)
Здравствуйте, Keith, Вы писали:

[]

K> Но в окошке элемент появляется без имени. Где я торможу?


Всю жизнь делал так и все работает:

TListItem* li = ListView1->Items->Add();
li->Caption = "New item";
Re[8]: TListItem->Caption в RunTime
От: linker Россия  
Дата: 05.05.05 11:39
Оценка:
Здравствуйте, kavlad, Вы писали:

K>Здравствуйте, linker, Вы писали:


L>>Твой код


K>Прошу прощения, но моего кода в этой ветке еще не было


Сорри не туда запостил
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[3]: TListItem->Caption в RunTime
От: Shtirliz Россия  
Дата: 05.05.05 11:58
Оценка: 2 (1)
Здравствуйте, Keith, Вы писали:

S>>Не знаю как в С++

S>>Но в Delphi я делал так:
K>[skip]
S>>И все прекрасно работало...
K> Не знаток Delphi, но по-моему это одно и то же. Может кто-нибудь знает в чем проблма?

Тогда почему у тебя не получается?

Попробуй тогда так:
 TListItem *tempItem = new TListItem(ListView1->Items);
 tempItem = ListView1->Items->AddItem(tempItem);
 tempItem->Caption = "MyName";


Мобыть поможет....
... << RSDN@Home 1.1.4 beta 6a rev. 440>>
Дункан Маклауд любил ходить в лес и издеваться над кукушками.
138385660
Re: TListItem->Caption в RunTime
От: Keith  
Дата: 05.05.05 18:16
Оценка:
Всем спасибо, действительно последовательность была не та.
... << RSDN@Home 1.1.4 beta 4 rev. 345>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.