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

Ваш аккаунт

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

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

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

Таблица в диалоговом окне.

10K
16 июня 2007 года
nuhop
50 / / 24.03.2007
Для того, чтобы нарисовать табличку в OnOk() сделал так:

Код:
ListView_SetExtendedListViewStyleEx(GetDlgItem(m_hWnd, IDC_LIST1), LVS_EX_GRIDLINES, LVS_EX_GRIDLINES);
ListView_SetExtendedListViewStyleEx(GetDlgItem(m_hWnd, IDC_LIST1), LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT);

LVCOLUMN hCtlListView1Column;
ZeroMemory(&hCtlListView1Column, sizeof(LVCOLUMN));
hCtlListView1Column.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT;
hCtlListView1Column.fmt = LVCFMT_LEFT;
hCtlListView1Column.cx = 100;
hCtlListView1Column.pszText = "Column 1";
ListView_InsertColumn(GetDlgItem(m_hWnd, IDC_LIST1), 0, &hCtlListView1Column);
hCtlListView1Column.pszText = "Column 2";
ListView_InsertColumn(GetDlgItem(m_hWnd, IDC_LIST1), 1, &hCtlListView1Column);


но ничего не появилось. Что не так?
2.2K
17 июня 2007 года
REFOT
181 / / 08.04.2005
Нужно указать стиль LVS_REPORT

Код:
HWND hWnd = ::GetDlgItem(m_hWnd, IDC_LIST1);
DWORD dwStyle=GetWindowLong(hWnd,GWL_STYLE);
SetWindowLong(hWnd,GWL_STYLE,dwStyle|[color=red]LVS_REPORT[/color]);

ListView_SetExtendedListViewStyleEx(hWnd,
LVS_EX_GRIDLINES,LVS_EX_GRIDLINES);
ListView_SetExtendedListViewStyleEx(hWnd,
LVS_EX_FULLROWSELECT,LVS_EX_FULLROWSELECT);

LVCOLUMN hCtlListView1Column;
ZeroMemory(&hCtlListView1Column, sizeof(LVCOLUMN));
hCtlListView1Column.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT;
hCtlListView1Column.fmt = LVCFMT_LEFT;
hCtlListView1Column.cx = 100;
hCtlListView1Column.pszText = _T("Column 1");
ListView_InsertColumn(hWnd, 0, &hCtlListView1Column);
hCtlListView1Column.pszText = _T("Column 2");
ListView_InsertColumn(hWnd, 1, &hCtlListView1Column);
10K
17 июня 2007 года
nuhop
50 / / 24.03.2007
Спасибо, REFOT. Табличка появилась. :)
Как раскладывают значения по ячейкам?
2.2K
17 июня 2007 года
REFOT
181 / / 08.04.2005
Код:
//WinApi
HWND hWnd = ::GetDlgItem(m_hWnd, IDC_LIST1);
LV_ITEM item;
item.mask = LVIF_TEXT;
item.iItem = 0;
item.iSubItem = 0;
item.lParam=NULL;
item.pszText = _T("Test 1");
ListView_InsertItem(hWnd,&item);
   
item.iItem= 0;
item.iSubItem=1;
item.pszText = _T("Test 2");
ListView_SetItem(hWnd,&item);

//или если через CListCtrl (MFC)
m_ListCtrl.InsertItem(0,_T("Test 1"));
m_ListCtrl.SetItemText(0,1,_T("Test 2"));
10K
17 июня 2007 года
nuhop
50 / / 24.03.2007
Спасибо, REFOT. С API проблем нет. Как можно подсветить значения в ячейках?
С MFC не получилось. В диалоге класса объявил CListCtrl m_ListCtrl. При вызове
 
Код:
m_ListCtrl.InsertItem(0,_T("Test 1"));

падаю. Что делаю не так?
2.2K
18 июня 2007 года
REFOT
181 / / 08.04.2005
Чтобы с MFC сработало нужно связать переменную с контролом, за тебя это может сделать визард, кликаешь правой кнопкой мыши по контролу на диалоге, выбираешь пункт меню Add Variable, и добавляешь переменную.
 
Код:
void CControlDlg::DoDataExchange(CDataExchange* pDX)
{
 CDialog::DoDataExchange(pDX);
 [color=green]//Связываем переменную m_ListCtrl с контролом[/color]
 DDX_Control(pDX, IDC_LIST1, m_ListCtrl);
}
10K
18 июня 2007 года
nuhop
50 / / 24.03.2007
Да, REFOT, все заработало.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог