Кент Рейсдорф. BORLAND C++BUILDER. Раздел 2

Кент Рейсдорф. BORLAND C++BUILDER. Страница 244

Я обрабатываю два события компонента: OnDblClick и OnClick. Каждый раз, когда я дважды щелкаю на компоненте, вызываются обработчики обоих событий. Почему так происходит?

Дело в том, что при двойном щелчке на компоненте Windows генерирует сообщения об одиночном и двойном щелчках. Вы не можете предотвра­тить эту реакцию, и ваша программа должна уметь разбираться в таких ситуациях.

Я хочу использовать возможности класса TStrings в своей программе для хранения массива строк. Но компилятор не позволяет мне использовать объект TStrings. Что мне делать?

Вам нужен объект TStringList. Класс TStringList разработан именно для этой цели.

Я хочу, чтобы в однострочном элементе редактирования текст был выровнен по правому краю, но не нахожу свойства Alignment у соответствующего компонента. Могу ли я все-таки выровнять текст по правому краю?

Нет, не можете. Все, что можно сделать в этой ситуации — это исполь­зовать компонент Memo, придав ему вид обычного элемента редактиро­вания. Установите для свойства WantReturn компонента Memo значение false, высоту задайте равной высоте стандартного элемента редактирова­ния (21 пиксел) и, конечно, для свойства Alignment установите значение taRightJustify. Такой компонент создаст полное впечатление одностроч­ного элемента редактирования с выравниванием по правому краю.

В моей форме расположено несколько кнопок. Когда пользователь закрывает форму клавишей Esc, метод ShowModal() возвращает мне одно значение, а когда пользователь закрывает форму, щелкая на системной кнопке закрытия окна, я получаю от метода ShowModal() совсем другое значение. Почему так происходит?

Это означает, что в вашей форме есть кнопка, у которой свойство Cancel имеет значение true. Когда пользователь нажимает клавишу Esc, то зна­чение ModalResult этой кнопки используется в качестве возвращаемого значения ShowModal(). Когда же пользователь закрывает форму при по­мощи системной кнопки, вы всегда будете получать значение mrCancel. Вы должны учитывать тот факт, что форма может быть закрыта двумя различными способами.

Web-дизайн (с) 2010 All rights reserved