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

Здесь есть возможность читать онлайн «Виртуальная библиотека Delphi» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

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

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Виртуальная библиотека Delphi»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Виртуальная библиотека Delphi», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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 . Тогда вы можете обратиться к этой переменной

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

Интервал:

Закладка:

Сделать

Похожие книги на «Виртуальная библиотека Delphi»

Представляем Вашему вниманию похожие книги на «Виртуальная библиотека Delphi» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


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

Обсуждение, отзывы о книге «Виртуальная библиотека Delphi» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x