Программирование >>  Элементы языков с и с++ 

1 ... 122 123 124 [ 125 ] 126 127 128 ... 200


Пояснение:

Здесь задаются состояния для флажков 1, 2 и 3-й строк. Последний оператор определяет состояние 1-й строки. Так как тип результата, выдаваемого методом GetitemCheckstate о,- это тип checkstate, то чтобы увидеть состояние, надо этот тип привести к типу int принудительно. Поэтому после знака присвоения стоит (int).

Чтобы узнать, помечен ли элемент списка, можно выполнить оператор:

их1 b=this->checkedListBoxl->GetItemChecked(i);

Результат метода GetitemCheckedO - логическая переменная, i- индекс злемента.

0 Москва--

] Новосибирск

Помечен -Не помечен

В неопределенном состоянии

Рис. 11.74. Программная установка флажков

Можно и другим способом установить флажок. Для этого следует выполнить оператор:

-jiis->checkedListBoxl->SetItemChecked(3, 1) ; Здесь:

13 - индекс элемента (4-я строка);

!] 1- булево значение true (второй параметр этого метода имеет булев тип).

Обратим внимание на событие itemCheck, которое возникает, когда состоя-вие флажка меняется. Оно пригодится при обработке выборки из CheckedListBox.

В CheckedListBox можно также загружать текстовые строки из файла, как и пя ListBox. Пример такой загрузки показан на рис. 11.75. Фрагменты текста программы- в листинге 11.11. Необходимо отметить, что при использовании программ загрузки из текстового файла надо заменить оператор uncludeo в файле <имя проекта>. срр



iinclude stdafx.h

ttinclude <io.h> ,

#include <stdio.h>

#include <fcntl.h>

#include <share.h>

#include <stdlib.h>

#include <string.h> strnlenO

ttinclude Forml.h

Это делается для того, чтобы функции и структуры, употребляемые в функции загрузки текста из файла, отыскивались компилятором в соответствующих библиотеках.

До зафузки.

И Forml

□ Москва

□ С-Петерб!(рг

□ Н. Ноегорш

□ Новосибирск

Загрузить текстовый файл

--гт-о-

□Рабочий :□ Ученый ,□ Ииженер Писатель

Загр ;эить текстовый файл

- После загрузки

Рис. 11.75. Пример зафузки текстового файла в CheckedListBox

Фрагмент 1: функция загрузки текстового файла

private:

/ <summary>

/ Required designer variable.

место в h-файле, куда надо вставлять функцию

функция: загружает из файла текстовые строки в ListBox void LoadFromFile(char *File, CheckedListBox lb) (

char s[300];



LoadFromFile ( c: \\a. txt , this->checkedListBoxl) ;

Пример: домашний телефонный справочник

Приведем пример приложения для домашнего телефонного справочника, построенного с использованием компонента CheckedListBox. Справочник дол-

ПЬЕ *fp; int i; i=0;

lb->Items->Clear () ; if (! (fp=fopen(File, r ))) (

MessageBox::Show( Ошибка открытия файла , Приложение 54 ,

MessageBoxButtons::OK,MessageBoxIcon::Asterisk); return;

while (!feof(fp)) (

fgets(s,300, fp) ;

String dd = gcnew String (s);

/*этот способ конвертирования не удаляет последаий управляющий символ, который надо удалить:*/

int j=dd->Length-l; dd=dd->Substring (О, j) ; lb->Items->Add(dd) ; i++;

I Фрагмент 2: обработчик кнопки

[private: System: :Void buttonl Click(System: :ОЬэес sender, Sys-Ittin:: EventArgs e)



1 ... 122 123 124 [ 125 ] 126 127 128 ... 200

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика