Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001

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

Советы по Delphi. Версия 1.4.3 от 1.1.2001: краткое содержание, описание и аннотация

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

…начиная с 1001. Смотрите другие файлы…

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

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

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

Интервал:

Закладка:

Сделать

Нет. Проблема в том, что ActiveControl – RadioButton, а не RadioButtonGroup. Поместите следующий код в обработчик события формы OnShow, он должен решить вашу проблему:

procedureTForm1.FormShow(Sender: TObject);

varc: integer;

begin

withRadioGroup1 do begin

forc := 0 toControlCount – 1 doTRadioButton(Controls[c]).HelpContext := HelpContext;

end;

end;

– Ralph Friedman

ScrollBar

Мерцание ScrollBar

TScrollBar в Delphi мигает при получении фокуса. Как избежать этого мерцания?

Такая же проблема и при перемещении стандартного бегунка полосы прокрутки. Лечится одинаково: установкой свойства TabStop в False.

– Rick Rogers

SpeedButton

Speedbutton и Glyph

Могу ли я из ресурсов поочередно загружать глифы для кнопок speedbutton и, если да, то как это сделать?

Например, если в вашем проекте используется TDBGrid, то иконки кнопок компонента DBNavigator могут линковаться вашей программой, и их можно загрузить для использования в ваших speedbutton следующим образом:

SpeedButton.Caption := '';

SpeedButton1.Glyph.LoadFromResourcename(HInstance,'DBN_REFRESH');

SpeedButton1.NumGlyphs := 2;

Другие зарезервированные имена:

DBN_PRIOR, DBN_DELETE, DBN_CANCEL, DBN_EDIT, DBN_FIRST, DBN_INSERT, DBN_LAST, DBN_NEXT, DBN_POST

Все имена должны использовать верхний регистр.

– Dennis Passmore

StringGrid

Обновление картинки в ячейке StringGrid

SottNickсоветует:

Если в таблице вы используете событие OnDrawCell для помещения в ячейку рисунка, причем различного, в зависимости, например, от соответствующего значения в двумерном массиве, и вам надо, чтобы после изменения значения в массиве обновилось изображение (Refresh не подходит, т.к. будет мелькать), то измените значение у ячейки (DrawGrid не годится):

StringGrid1.Cells[i,j]:='';

или

StringGrid1.Cells[i,j]:=StringGrid1.Cells[i,j];

если там что-то хранится.

Многострочность в заголовках колонок StringGrid

У меня есть StringGrid, который выглядит очень красивым, за исключением заголовков колонок, где я хотел бы иметь их размер равным 1 ячейке, но с заголовком, размещенным в нескольких строках, например,

Индекс Фондовой Биржи

показывалось бы как

Индекс

Фондовой

Биржи

было бы классно, если можно было этот заголовок размещать еще и по центру.

Рисовать сами ячейки вы можете в обработчике события OnDrawCell. Для определения ячейки (заголовок?), обрабатываемой в текущий момент, используйте параметр GridState.

Я выводил тест с помощью обычных методов рисования (которые хорошо "приживаются" в данном компоненте), с поддержкой вертикального выравнивания, полей и переноса слов. Вот сам код:

TFTVerticalAlignment = (vaTop, vaMiddle, vaBottom);

procedureDrawTextAligned( constText: string; Canvas: TCanvas; varRect: TRect; Alignment: TAlignment; VerticalAlignment: TFTVerticalAlignment; WordWrap: Boolean);

var

P : array[0..255] ofChar;

H : Integer;

T : TRect;

F : Word;

begin

StrPCopy(P, Text);

T := Rect;

withCanvas, Rect do begin

F := DT_CALCRECT orDT_EXPANDTABS orDT_VCENTER orTextAlignments[Alignment];

ifWordWrap thenF := F orDT_WORDBREAK;

H := DrawText(Handle, P, -1, T, F);

H := MinInt(H,Rect.Bottom - Rect.Top);

ifVerticalAlignment = vaMiddle then begin

Top := ((Bottom+Top) - H) div2;

Bottom := Top + H;

end else ifVerticalAlignment = vaBottom thenTop := Bottom - H - 1;

F := DT_EXPANDTABS orDT_VCENTER orTextAlignments[Alignment];

ifWordWrap thenF := F orDT_WORDBREAK;

DrawText(Handle, P, –1, Rect, F);

end;

end;

– Rick Roger

StringGrid без выделенной ячейки

Я пытаюсь показать StringGrid без выделенной ячейки. Первая нефиксированная ячейка всегда имеет состояние "инвертированного" цвета. Я не хочу позволить пользователю редактировать сетку, но эта выделенная ячейка производит впечатление того, что сетка имеет возможность редактирования…

Вам необходимо создать обработчик события OnDrawCell. Это легче чем вы думаете. Вот образец кода, который сделает вас счастливым:

procedureTForm.sgrDrawCells(Sender: TObject; Col, Row: Longint; Rect: TRect; State: TGridDrawState);

var

ACol: longint absoluteCol;

ARow: longint absoluteRow;

Buf: array[byte] ofchar;

begin

ifState = gdFixed thenExit;

withsgrGrid do begin

Canvas.Font := Font;

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

Интервал:

Закладка:

Сделать

Похожие книги на «Советы по Delphi. Версия 1.4.3 от 1.1.2001»

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


Отзывы о книге «Советы по Delphi. Версия 1.4.3 от 1.1.2001»

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

x