Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Робота з текстовими полями






Наступний приклад показує, як використовується на практиці метод SetFocus:

1. Відкрийте проект \MSDN98\98vs\1033\Samples\VB98\Controls\Controls.vbp, якщо він не був відкритий раніше.

2. Запустіть додаток командою Run > Start. У діалоговому вікні Control Examples натисніть кнопку TextBox. На екрані з'являється форма, схожа на мал. 3.3.

Встановлюючи різні перемикачі в рамці, можна виконувати деякі операції з лівим текстовим полем. Властивість Multiline правого поля встановлена в True, в цьому неважко переконатися за зовнішнім виглядом тексту. У додатках, що працюють з текстами, нерідко використовуються текстові поля з активізованими властивостями Multiline і ScrollBars. У таких випадках текстове поле розтягується на усю форму, а її розмір фіксується (властивістю BorderStyle). Якщо форма повинна мати змінні розміри або є дочірньою формою інтерфейсу MDI, вам доведеться динамічно змінювати розміри текстового поля при зміні розмірів форми. Наприклад, можна включити наступний фрагмент в процедуру події Resize форми:

txtText1.Top = frmForm1.ScaleTop

txtText1.Left = frmForm1.Scaleleft

txtText1.Width = frmForm1.Width

txtText1.Height = frmForm1.ScaleHeight

 

Властивості Scale.. відносяться до внутрішніх розмірів форми. Отже, властивості Height і ScaleHeight форми мають різні значення. У значенні ScaleHeignt не враховується простір, займаний заголовком і межами форми.

3. Завершіть роботу додатка і активізуйте форму frmText у вікні дизайнера.

4. Двічі клацніть на перемикачі Встановити курсор після 5 символу, щоб викликати вікно програми з кодом процедури:

Private Sub optInsert_Click()

'встановити курсор після 5 символу

txtDisplay.SelStart = 5

' передати фокус текстовому полю

'щоб зміни були наочно видні

txtDisplay.SetFocus

End Sub

Властивість SelStart визначає початкову позицію (у символах) виділеного фрагмента текстового поля. В даному випадку виділення повинне починатися з 5-го символу. Метод SetFocus повертає фокус введення текстовому полю txtDisplay.

5. Відкрийте процедуру події Click перемикача optSelect:

Private Sub optSelect_Click()

'встановити курсор в початок

txtDisplay.SelStart = 0

' визначити довжину рядка і виділити

'відповідна кількість символів

txtDisplay.SelLength = Len(txtDisplay.Text)

'передати фокус текстовому полю, -

'щоб зміни були наочно видні

txtDisplay.SetFocus

End Sub

На прикладі цього фрагмента видно, як виділити увесь вміст текстового поля в програмі. Якби в меню була присутній команда Select All, її процедура була б схожа на цей фрагмент. Якщо ви хочете дізнатися, який текст виділений в полі, звертайтеся до властивості SelText.

Замініть процедуру події cmdClose_Click наступній:

Private Sub cmdClose_Click()

If txtDisplay.SelLength > 0 Then

MsgBox «Виділений текст» & txtDisplay.SelText

End If

End ' Вивантажити форму

End Sub

7. Запустіть додаток. У діалоговому вікні TextBox Properties виділите слово Multiline і натисніть кнопку Close. Зразковий вид екрану зображений на мал. 3.4.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.