Виртуальная библиотека Delphi

Тут можно читать онлайн Виртуальная библиотека Delphi - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Виртуальная библиотека Delphi
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    3/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Виртуальная библиотека Delphi краткое содержание

Виртуальная библиотека Delphi - описание и краткое содержание, автор Неизвестный Автор, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Виртуальная библиотека Delphi - читать онлайн бесплатно полную версию (весь текст целиком)

Виртуальная библиотека Delphi - читать книгу онлайн бесплатно, автор Неизвестный Автор
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

23. Включение и выключение подсказок (Hints) для всех элементов на форме.

Если ваша форма содержит панель подсказки в нижней части формы, то вы можете определить подменю для этой панели, и выставлять Form.ShowHint в True или False в зависимости от состояния Checked элемента меню.

Например, в TMenuItem.OnClick напишите:

ShowHint := not(Sender asTMenuItem).Checked;

В результате на локальном меню панели будет видно, включены подсказки для всех элементов или нет.

24. Как в меню поместить bitmap?

Можно поступить таким образом:

var

Bmp1: TBitmap;

begin

Bmp1 := TBitmap.Create;

Bmp1.LoadFromFile( 'C:\WHERE\B1.BMP');

SetMenuItemBitmaps(MenuItemTest.Handle, 0, MF_BYPOSITION, Bmp1.Handle, Bmp1.Handle);

end;

Параметры:

• MenuItemTest — имя пункта меню (горизонтальная строка)

• 0,1 ... — позиция пункта меню, в который надо вставить BMP

• первый Handle — для показа невыбранного пункта меню (Unchecked)

• второй Handle — для выбранного (Checked). Они могут быть разные

Код можно вставить в обработчик OnCreate для формы. При уничтожении меню TBitmap не уничтожается, это надо делать отдельно.

25. Каким образом можно поместить двумерный массив в TImage?

Представим, что данные находятся в массиве:

TestArray: array[0..127, 0..127] ofByte;

Картинка будет иметь размер 128×128 точек:

Image1.Picture.Bitmap.Width := 128;

Image1.Picture.Bitmap.Height := 128;

Вызываем функцию Windows API для формирования bitmap:

SetBitmapBits(Image1.Picture.Bitmap.Handle, SizeOf(TestArray), @TestArray);

Image1.Refresh; { для того, чтобы изменения отобразились }

Однако, если вы используете свою палитру, то ее нужно создавать специально.

26. Как из программы 'открыть' TComboBox?

У TComboBox есть run-time свойство, не упомянутое в on-line help — DroppedDown .

Для открытия ComboBox напишите:

ComboBox1.DroppedDown := True;

Естественно, False закроет его.

27. Как заменить надпись 'Read only' в компонентах TSaveDialog и TOpenDialog?

Попробуйте посмотреть в Windows API Help разделы, связанные с lpTemplateName . Вообще говоря, вы можете заменить стандартный Open Dialog Box своим собственным шаблоном.

28. Проблема в использовании компонента TCustomGrid.

картинка 74

Делаю так:

1. Создаю новый компонент при помощи Эксперта Компонент

2. Имя класса TSampleCalendar

3. Имя родителя TCustomGrid

4. Использую страницу 'Samples'

5. Сохраняю модуль с именем CALSAMP.PAS

6. Подключаю к Палитре компонент

7. Создаю форму, помещаю новый компонент на форму и получаю Runtime Error 210 В чем дело?

картинка 75

Проблема в том, что TCustomGrid имеет метод DrawCell , который является абстрактным. То, что его безусловно надо переписывать у любого наследника TCustomGrid , к сожалению, не отражено в документации. Создайте этот метод (пусть даже пустой) и ваша проблема исчезнет.

29. Как установить формат для поля таблицы?

В Fields Editor выберите поле для форматирования. Используя свойства DisplayFormat и EditFormat сделайте то, что нужно. DisplayFormat работает для поля, на которое не установлен фокус. EditFormat работает для поля, на которое фокус установлен. Форматирование аналогично первому параметру в функции FormatFloat , но без скобок.

30. Можно ли использовать клавишу ENTER при вводе данных для перехода от поля к полю?

Используйте данный код для события OnKeyPress компонента TEdit .

procedureTForm1.Edit1KeyPress(Sender: TObject; varKey: Char);

begin

ifKey = #13 then

begin

SelectNext(Sender asTWinControl, True, True);

Key := #0;

end;

end;

Теперь Enter ведет себя как Tab. Затем, выберите все объекты, которые должны вести себя как Edit1 (за исключением кнопок) и в Object Inspector установите обработчик OnKeyPress в Edit1KeyPress . Каждый выбранный вами объект воспринимает Enter как Tab. Если вы хотите обрабатывать событие на уровне формы (а не в каждом отдельном компоненте), уберите обработчики события у всех компонент и создайте FormKeyPress — обработчик OnKeyPress для формы:

procedureTForm1.FormKeyPress(Sender: TObject; varKey: Char);

begin

ifKey = #13 then

begin

SelectNext(Sender asTWinControl, True, True);

Key := #0;

end;

end;

Все объекты на форме будут воспринимать Enter как Tab.

Общие вопросы по Delphi и данному FAQ (часть 3)

Object Pascal и Windows API

1. Как работает информация времени выполнения (RTTI)?

Имеются два новых оператора: asи is. as — оператор защищенного преобразования типов (typecasting). Вы можете использовать его, чтобы заставить компилятор преобразовать объект из одного типа в другой, но, если в во время выполнения эти типы окажутся несовместимыми, то вы получите ошибку. Hапример, если вы имеете класс TSport , с потомоками TBasketball и TFootball , вам может потребоваться переменная типа TSport ; далее может так случиться, что в программе эта переменная будет фактически содержать экземпляр типа TFootball . Тогда вы можете обратиться к этой переменной

(MySport asTFootball)

чтобы получить доступ к специфическим свойствам из типа TFootball . Однако, если вы ошиблись и на самом деле это экземпляр типа TBasketball , то при обращении к несуществующим свойствам будет возникать ошибка. Оператор isопределяет, принадлежит ли экземпляр объекта к данному классу, либо к классу одного из его предков, и используется для проверки, сработает ли преобразование типов с данным объектом. Если вы имеете переменную MySport типа TSport , и в настоящее время она содержит экземпляр TBasketball , тогда следующие выражения истинны:

(MySport isTSport)

(MySport isTBasketball)

not(MySport isTFootball)

Следует иметь ввиду, что компилятор разрешает использовать данные конструкции только для выполнения преобразования типов, связанных родственными отношениями. Так, конструкция (Button1 asTEdit) (переменная Button1 имеет тип TButton ) вызовет ошибку компиляции, так как ни при каких условиях не может быть выполнено преобразование типов от TButton к TEdit или наоборот. Комбинация двух операторов может привести к выражению типа следующего :

functionPlayerGoodness( varMySport: TSport): Integer;

begin

if(MySport isTBasketball) then

Result := (MySport asTBasketball).ReboundShots

else if(MySport isTFootball) then

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Неизвестный Автор читать все книги автора по порядку

Неизвестный Автор - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Виртуальная библиотека Delphi отзывы


Отзывы читателей о книге Виртуальная библиотека Delphi, автор: Неизвестный Автор. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x