|
Февраль 2011
Создание интерфейсов в стиле проводника Explorer средствами Visual FoxPro.
Часть 3
Дуг Хенниг (Doug Hennig)
В последней, третьей, статье из этой
серии мы завершаем изучение набора классов, которые обеспечивают интерфейсы,
похожие на интерфейс проводника Explorer, для приложений, созданных в Visual
FoxPro.
В прошлом номере я рассмотрел форму с именем Northwind.SCX (рис. 1), где
используется интерфейс проводника в стиле Outlook, чтобы отобразить на
экране информацию из примера базы данных Northwind о покупателях, заказах,
товарах и так далее. Эта форма создана из класса SFExplorerFormOutlook, с
которым мы разобрались в предыдущей статье.
Практика перемещения
Энди Крамек (Andy Kramek) и Марсия Акинз (Marcia Akins)
По-видимому, вопрос о том, как создать
таблицу grid с полосами перемещения (mover bars), которые предоставили бы
пользователям возможность изменять последовательность записей точно также,
как они могут это делать в элементе управления ListBox, принадлежит к тем
вопросам, которые снова и снова задаются на разных онлайн-форумах. В этом
месяце Энди и Марсия обсуждают реализацию такого решения.
Энди: Тебя обычно называют
королевой таблиц grid, так не можешь ли ты помочь мне разобраться с
проблемой, над которой я бьюсь в данный момент, и которая сводит меня с ума.
Марсия: Да тебе уже и так немного
осталось до этого.
Энди: Восемь тысяч комиков без
работы, а ты пытаешься быть смешной! Я серьезно. Мне надо создать элемент
управления grid с полосами перемещения (mover bars), которые обеспечат
пользователям моего приложения возможность изменять порядок следования
элементов, применив к ним операцию «перетащить-и-бросить» в новую строку,
или просто отредактировав их порядковый номер.
Марсия: Хорошо, почему бы просто
не воспользоваться списком ListBox, который позволяет перемещать его
элементы (свойство MoverBars), и не разделаться с этой проблемой?
VFPX:
использование элемента управления BalloonTip
Рик Шуммер (Rick Schummer)
Элемент управления BalloonTip — это
прекрасный способ обеспечить обмен информацией с пользователями, пока они
взаимодействуют с пользовательским интерфейсом приложения. В этом месяце в
серии публикаций «с продолжением», в которой Рик углубленно изучает проекты,
разрабатываемые в рамках инициативы VFPX, он рассматривает элемент
управления ctl32_BalloonTip, обнаруженный в проекте ctl32_StatusBar на сайте
CodePlex.
Элемент управления BalloonTip очень похож по своей идее на всплывающую
подсказку ToolTip. Этот элемент управления обеспечивает выдачу на экран
текста, помещенного в овальную (balloon) или в прямоугольную (box) рамку,
только вместо незамысловатого старого прямоугольника, характерного для
элемента управления ToolTip, вы получаете графическую область в виде
«пузыря» (bubble), вроде той, которую используют в комиксах, чтобы передать
слова, произносимые персонажем, или его мысли. Элемент управления BalloonTip
превосходит стандартный элемент управления ToolTip, потому что в нем можно
использовать графический значок, он предоставляет место для заголовка и
текста сообщения и даже позволяет использовать гиперссылки. Элемент
управления BalloonTip можно встретить в операционных системах Windows 2000/XP/Vista,
где он «всплывает» с сообщением апплета из панели задач (system tray) или
появляется, когда вы вводите пароль для входа в систему при нажатой клавише
Caps Lock. Этот элемент управления используется для того, чтобы послать
какое-либо информационное сообщение тому, кто использует вашу программу.
Класс ctl32_BallonTip предоставляет в ваше распоряжение компонент, у
которого имеется множество возможностей и который обладает массой свойств,
событий и методов, позволяющих настроить экранный вид всплывающей подсказки,
а также функциональность этого элемента управления. Элемент управления
BalloonTip полностью написан на языке Visual FoxPro, но в основе его
реализации лежит интенсивное использование интерфейса Windows API и функции
BindEvent для привязки как к событиям VFP, так и к сообщениям ОС Windows.
Использование WPF и встроенного XAML в ваших приложениях на Fox, Excel или
VB6
Кэлвин Ся (Calvin Hsia)
Я собираюсь рассказать, как можно
добавить XAML в пользовательский компонент, который, в свою очередь,
превратится в компонент ActiveX, пригодный для встраивания в приложения,
созданные средствами Fox, VB6 или Excel.
Средство просмотра результатов Linq-запроса
Кэлвин Ся (Calvin Hsia)
Иногда все, что требуется, — это показать
данные в табличном формате. Данные могут храниться где-то на удаленном
сервере, в БД SQL Server или FoxPro, а могут — локально.
Вам требуется показать все столбцы без необходимости писать код для
отображения каждого из них.
Linq позволяет выполнить запрос к данным независимо от их местоположения.
Полученный результат строго типизирован.
Однако, написать универсальный код для любого Linq-запроса не так легко —
каждый результат может иметь свою форму: число и тип данных для столбцов.
Ниже приведен код на C# (VB — во второй половине статьи), который
демонстрирует универсальный класс Browse. (По аналогии с командой FoxPro,
которая представляет данные в табличном формате). |