Справочник советов и примеров по C++Builder




Требования к интерфейсу пользователя приложений для Windows - часть 8


TShiftState Shift, int X, int У) {

TControl *Send = (TControl *)Sender;

Panel1->Caption = GetShortHint(Send->Hint);

Panel2->Caption = GetLongHint(Send->Hint); }

отобразит в панели Panel1 первую, а в панели Panel2 - вторую часть свойства Hint всех компонентов, над которыми будет перемещаться курсор, если в этих компонентах в событии OnMouseMove указан этот обработчик ButtonlMouseMove. Причем это не зависит от значения их свойства ShowHint.

Еще один пример. Пусть вы хотите, чтобы при нажатии некоторой кнопки Buttonl вашего приложения в панели Panel1 высвечивалась подсказка пользователю, например, "Укажите имя файла", а сама кнопка имела всплывающий ярлычок подсказки с текстом "Ввод". Тогда вы можете задать свойству Hint этой кнопки значение "Ввод|Укажите имя файла", задать значение true свойству ShowHint, а в обработчик события нажатия этой кнопки вставить оператор

Panell->Caption = GetLongHint(Buttonl->Hint);

Если же вы не хотите отображать ярлычок подсказки для кнопки, то можете ограничиться значением Hint, равным "Укажите имя файла", а приведенный выше оператор оставить неизменным или заменить на эквивалентный ему в данном случае оператор

Panel1->Caption = GetShortHint(Button1->Hint); или даже просто на оператор>br? Panell->Caption = Buttonl->Hint;

Перед тем моментом, когда должен отобразиться ярлычок какого-нибудь компонента, возникает событие приложения OnShowHint. В обработчике этого события можно организовать какие-то дополнительные действия, например, изменить отображаемый текст. Особенно легко работать с событиями приложения, начиная в C++Builder 5, в котором появился компонент ApplicationEvents, перехватывающий все эти события (см. подроб-нее в разд. 4.6). В обработчик его события OnShowHint можно поместить те операторы, которые надо выполнить перед отображением ярлычка. Заголовок этого обработчика имеет вид:

void __fastcall TForml::ApplicationEventslShowHint(

AnsiString SHintStr, bool SCanShow, THintInfo &HintInfo)

Здесь передаваемый по ссылке параметр HintStr - отображаемый в ярлычке текст. В обработчике этот текст можно изменить. Так же по ссылке передается параметр CanShow. Если в обработчике установить его равным false, то ярлычок отображаться не будет. Третий параметр, передаваемый по ссылке - HintInfo. Это струк-тура, поля которой содержат информацию о ярлычке: его координаты, цвет, задержки появления и т.п. В частности, имеется поле HintControl - компонент, сообщение которого должно отображаться в ярлычке, и поле HintStr - отображаемое сообщение. По умолчанию HintInfo. HintStr - первая часть свойства Hin




Содержание  Назад  Вперед