imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 24.11.2004, 11:33     # 1
-Time-
Junior Member
 
Аватар для -Time-
 
Регистрация: 22.05.2003
Сообщения: 170

-Time- Путь к славе только начался
Деление на несколько частей List Box

Если кто делал подскажите как ето правельно делать .....
-Time- вне форума  
Старый 24.11.2004, 13:43     # 2
kot_
Junior Member
 
Аватар для kot_
 
Регистрация: 19.11.2004
Адрес: Dnepropetrovsk
Пол: Male
Сообщения: 67

kot_ Путь к славе только начался
Если в ListBox'е нужно отобразить данные имеющие многоколоночную структуру, можно использовать табуляцию. Например "Колонка один \t Колонка 2". В некоторых средах разработки - в VB например - там вроде как можно использовать несколько колонок. По крайней мере комбобокс такое позволяет.
Но вообщето для этих целей лучше все же использовать компоненты специально предназначенные для такого вывода. Напр. ListView
__________________
kot_ вне форума  
Старый 24.11.2004, 14:48     # 3
ЕЖ
::VIP::
 
Регистрация: 19.03.2004
Сообщения: 1 329

ЕЖ Бог с наворотамиЕЖ Бог с наворотами
ЕЖ Бог с наворотамиЕЖ Бог с наворотами
Не понятно о компонента ListBox какой среды программирования идет речь? В ListBox Delphi/С++Builder есть простое свойство - Columns - количество колонок.
ЕЖ вне форума  
Старый 24.11.2004, 15:40     # 4
kot_
Junior Member
 
Аватар для kot_
 
Регистрация: 19.11.2004
Адрес: Dnepropetrovsk
Пол: Male
Сообщения: 67

kot_ Путь к славе только начался
Цитата:
ЕЖ:
Не понятно о компонента ListBox какой среды программирования идет речь? В ListBox Delphi/С++Builder есть простое свойство - Columns - количество колонок.
Хм...я надеюсь что в данной среде разработки тобой было использовано данное свойство. Если да - то поделись. Если нет - ....
__________________
kot_ вне форума  
Старый 24.11.2004, 15:49     # 5
ЕЖ
::VIP::
 
Регистрация: 19.03.2004
Сообщения: 1 329

ЕЖ Бог с наворотамиЕЖ Бог с наворотами
ЕЖ Бог с наворотамиЕЖ Бог с наворотами
kot_
Хм... Не совсем понял что значит "поделись"? Как его пользовать? Так элементарно - ставиш нужное число колонок - и все строки ListBox при необходимости (когда не помещаются в первую колонку) размещаются в следующих. Если и в них не помещается, тогда уже полоса прокрутки идет.

Кроме того, опять же не понятно, что нужно -Time- - делить ли по колонкам и как делить? Или вообще нечто другое. Может проще просто другой компонент подыскать.
ЕЖ вне форума  
Старый 24.11.2004, 16:24     # 6
kot_
Junior Member
 
Аватар для kot_
 
Регистрация: 19.11.2004
Адрес: Dnepropetrovsk
Пол: Male
Сообщения: 67

kot_ Путь к славе только начался
ЕЖ
Ну может он конечно это имел ввиду - но с другой стороны - данное свойство позволяет компактно разместить LB но причем здесь в таком случае деление? Сам то LB в данном случае не делится - Я имею ввиду что отображение вида:
№ нАЗВАНИЕ Количество
ты получить не сможешь.
__________________

Последний раз редактировалось kot_; 24.11.2004 в 16:27.
kot_ вне форума  
Старый 24.11.2004, 16:30     # 7
-Time-
Junior Member
 
Аватар для -Time-
 
Регистрация: 22.05.2003
Сообщения: 170

-Time- Путь к славе только начался
ухххх )))

си ++ (нет студия)
проблема заключаеться в следуещем

есть :
время, название файла , и имя
нужно ето всё разместить в отдельные колонки в лист боксе

если можно киньте пример ...

Спасибо
-Time- вне форума  
Старый 24.11.2004, 18:26     # 8
kot_
Junior Member
 
Аватар для kot_
 
Регистрация: 19.11.2004
Адрес: Dnepropetrovsk
Пол: Male
Сообщения: 67

kot_ Путь к славе только начался
Ну в таком случае используй объединение строк:
Код:
LPSTR        lpFileName, lpFileSize;
....

lstrcat( lpFileName, "\t" );
lstrcat( lpFileName, lpFileSize );
Получишь двухколоночную строку.
__________________
kot_ вне форума  
Старый 24.11.2004, 18:38     # 9
-Time-
Junior Member
 
Аватар для -Time-
 
Регистрация: 22.05.2003
Сообщения: 170

-Time- Путь к славе только начался
Тоисть у меня есть вот ето

Код:
void CDirMonDlg::FillListBox(bool lNeu)
{
	HICON hIcon;
	mList.Fil
    mList.ResetContent();
	if (lNeu)
	{
		hIcon = AfxGetApp()->LoadIcon(IDI_ICON1);
		SetWindowText("Neue Abrufe - Seeburger");
	
		char str[MAX_PATH];
		mDirName.GetLine(0,str,MAX_PATH);
		CFileFind ff;
//		ff.GetLastError();
		//ff.Close();
		bool res;
		if(ff.FindFile(CString(str)+"\\*.txt")!=0)
		{
		 do 
		 {
		  res = ff.FindNextFile();
          CTime d;
		  ff.GetCreationTime(d);
		  CString strName = d.Format(" %c   - ") + ff.GetFileTitle();
		  mList.AddString(strName);
         }while(res);
		}
		ff.Close();
	}
	else
	{
		hIcon = AfxGetApp()->LoadIcon(IDI_ICON2);
		SetWindowText("Seeburger");	
		//mList.ResetContent();
	}

	if (hIcon!=NULL)
 		SetIcon(hIcon,false);
 }

void CDirMonDlg::OnClose()
{
	// TODO: Add your message handler code here and/or call default
	if(!ladmin)
	{
	 if (g_bGoOn)
	 {
		//MessageBox("..........","Achtung" , MB_OK);
		this->ShowWindow(SW_MINIMIZE);
	 }
	}
	else
	{
	 this->OnBnClickedButton2();
	 CDialog::OnClose();
	}
}
куда мне его тут присобачить ?
-Time- вне форума  
Старый 24.11.2004, 21:26     # 10
kot_
Junior Member
 
Аватар для kot_
 
Регистрация: 19.11.2004
Адрес: Dnepropetrovsk
Пол: Male
Сообщения: 67

kot_ Путь к славе только начался
Цитата:
-Time-:
if(ff.FindFile(CString(str)+"\\*.txt")!=0) { do { res = ff.FindNextFile(); CTime d; ff.GetCreationTime(d);

//Ну например вот так
CString strName = d.Format(" %c - ") +"\t" +ff.GetFileTitle(); mList.AddString(strName); }while(res); } ff.Close(); }
В результате у тебя будет две ровных колонки.
Но чесное слово, помоему ты зря мучаешься - СListView для тебя будет, мне кажется, оптимальным вариантом.
__________________
kot_ вне форума  
Старый 29.11.2004, 11:41     # 11
-Time-
Junior Member
 
Аватар для -Time-
 
Регистрация: 22.05.2003
Сообщения: 170

-Time- Путь к славе только начался
kot_
чесно говоря я непонял где имено ты зделал изменения ... \t[U]
от ето го мне кажеться ничего не измениться ...


у меня есть трип параметра какие выводяться в лист боксе и вот их я и хочу выводить в разных колонках
-Time- вне форума  
Старый 29.11.2004, 13:57     # 12
kot_
Junior Member
 
Аватар для kot_
 
Регистрация: 19.11.2004
Адрес: Dnepropetrovsk
Пол: Male
Сообщения: 67

kot_ Путь к славе только начался
Цитата:
-Time-:
чесно говоря я непонял где имено ты зделал изменения ... \t[U]
от ето го мне кажеться ничего не измениться ...
Управляющий символ \t и есть табуляция - равномерный отступ. По другому я допустим не знаю как решить эту проблему в ВС++В например. Если твоя задача - сохранить тип параметра - то может тебе имеет смысл использовать свойство типа Data или Object - если в VC++ это поддерживается? Допустим в ВС++В я делаю это так:
Код:
ListBox->Items->AddObject(ff.GetFileTitle(),(TObject*)(new AnsiString(TimeToStr(d))));
Но у борланда класс ListBox'а во первых, реализован немного не так как у мелкомягких, во вторых - да вобщем достаточно и первого.
Если же для тебя важен именно табулированый вывод - то у тебя есть два выбора - первый тот который я предложил - с использованием символа табуляции. Второй использование инструментов которые предназначенны для этих целей - например ListView. ИМХО - найболее просто и надежно. И нет нужды в извращениях с символами табуляции и пр. Есть еще вариант третий - самому создать нужный тебе компонет.
__________________
kot_ вне форума  
Старый 30.11.2004, 11:40     # 13
-Time-
Junior Member
 
Аватар для -Time-
 
Регистрация: 22.05.2003
Сообщения: 170

-Time- Путь к славе только начался
Всё таки не получаеться так как я хочу (
зделал вот так
Цитата:
CString strName = d.Format(" %c - ")+ "/t" + ff.GetFileTitle();
время выводить нармально но вот файл титле ну никак зараз выводить не хочет ((((
-Time- вне форума  
Старый 30.11.2004, 12:12     # 14
kot_
Junior Member
 
Аватар для kot_
 
Регистрация: 19.11.2004
Адрес: Dnepropetrovsk
Пол: Male
Сообщения: 67

kot_ Путь к славе только начался
Цитата:
Сообщение от -Time-
Всё таки не получаеться так как я хочу (
зделал вот так

время выводить нармально но вот файл титле ну никак зараз выводить не хочет ((((
Ну во первых - вроде всегда было - \t - а не -/t - ну тут ка говорится - хозяин барин. А во вторых, попробуй просто вывести имя файла - без коннектации. Если это отработает - тогда может тип возвращаемого значения нужно явно приводить к типу CString - или использовать функции коннектации для с-строк.
__________________
kot_ вне форума  
Старый 09.12.2004, 18:30     # 15
rkorchagin
Guest
 
Сообщения: n/a

на http://www.codeproject.com/
куча таких листбоксов - вот один из них:
http://www.codeproject.com/cs/miscctrl/aa_listview.asp
 
Старый 09.12.2004, 18:40     # 16
-Time-
Junior Member
 
Аватар для -Time-
 
Регистрация: 22.05.2003
Сообщения: 170

-Time- Путь к славе только начался
спасибо проблема уже давно решена )))

тему можно в принцепе закрывтаь
-Time- вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 03:09.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.