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

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

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

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - описание и краткое содержание, автор Валентин Озеров, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

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

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

Интервал:

Закладка:

Сделать

propertyConstraints;

propertyMin;

propertyMax;

propertyOrientation;

propertyParentShowHint;

propertyPopupMenu;

propertyPosition;

propertyShowFrame: boolean readFShowFrame writeSetShowFrame;

propertyShowHint;

propertySmooth;

propertyStep;

propertyTabOrder;

propertyTabStop;

propertyVisible;

propertyOnContextPopup;

propertyOnDragDrop;

propertyOnDragOver;

propertyOnEndDock;

propertyOnEndDrag;

propertyOnEnter;

propertyOnExit;

propertyOnMouseDown;

propertyOnMouseMove;

propertyOnMouseUp;

propertyOnStartDock;

propertyOnStartDrag;

end;

procedure Register;

implementation

{ TVSProgressBar }

constructorTVSProgressBar.Create(AOwner: TComponent);

begin

Inherited;

FShowFrame:= True;

end;

procedureTVSProgressBar.SetShowFrame(Value: boolean);

begin

ifFShowFrame <> Value then begin

FShowFrame:= Value;

RecreateWnd;

end;

end;

procedureTVSProgressBar.WMNCPAINT( varMsg: TMessage);

var

DC: HDC;

RC: TRect;

begin

ifShowFrame then begin

Inherited; // если рамка – родитель сам разберется

Invalidate;

end else begin

DC := GetWindowDC(Handle);

try

Windows.GetClientRect(Handle, RC); // площадка под ProgressBar

withRC do begin// учтем 3D эффект

Right:= Right + 2;

Bottom:= Bottom + 2;

end;

Windows.FillRect(DC, RC, Brush.Handle); // зальем площадку цветом подложки

finally

ReleaseDC(Handle, DC);

end;

end;

end;

procedure Register;

begin

RegisterComponents('Controls', [TVSProgressBar]);

end;

end.

Теперь ProgressBar может появиться на форме «неожиданно», как бы из ничего, если ShowFrame:= False.

C уважением, VS

Query

Можно ли использовать результаты выполнения одного TQuery для другого TQuery?

Nomadicотвечает:

Если Вы работаете с локальными БД, то Вам поможет –

DbiMakePermanent(SourceQuery.Handle, RName, false);

Можно ли вызвать хранимую процедуру через TQuery, если она не возвращает курсора?

Nomadicотвечает:

В случае MS SQL нужно написать:

Query1.Sql := 'declare @res' + #13#10 + 'exec MyFunc :Param1, :Param2, @res OUTPUT';

Query1.Open;

Result := Query1.FieldByName( 'Column1' ).Value;

Query1.Close;

TQUERY и TDBGRID

Delphi 1

1. После ключевого слова where используйте оператор order

Select fname, lname, title

from T_EMPLOYEE

where title = 'MGR'

order by lname, fname

2. Попробуйте использовать событие ColEnter.

Две и более команд в свойстве TQUERY.SQL

Delphi 1

Я предлагаю вас попытаться подключить новый запрос к существующему TQuery.

Query1.Sql.Clear;

Query1.Close;

Query1.Sql.Add('select * from «monitor.dbf» order by location,dept');

Query1.Open;

Query1.Refresh;

Хитрость кроется в закрытии вашего запроса перед назначением нового.

RichEdit

Как вставить в нужное место Rich Text в TRichEdit?

Nomadicсоветует:

Вы можете послать сообщение EM_STREAMIN с параметром SFF_SELECTION методом Perform для замены текущего Selection. Выдержка из Help:

EM_STREAMIN

wParam = (WPARAM)(UINT) uFormat; // Integer

lParam = (LPARAM)(EDITSTREAM FAR *) lpStream; // EDITSTREAM^

The EM_STREAMIN message replaces the contents of a rich edit control with the specified data stream.

Parameters

uFormat

One of the following data formats, optionally combined with the SFF_SELECTION flag:

Value Meaning
SF_TEXT Text
SF_RTF Rich-text format

If the SFF_SELECTION flag is specified, the stream replaces the contents of the current selection. Otherwise, the stream replaces the entire contents of the control.

lpStream

Pointer to an EDITSTREAM structure. The control reads (streams in) the data by repeatedly calling the function specified by the structure's pfnCallback member.

Return Value

Returns the number of characters read.

Как указать максимальный размер текста для TRichEdit?

Nomadicсоветует:

У этого компонента есть свойство MaxLength, которое работает некорректно. Поэтому лучше пользоваться

RichEdit.Perform(EM_LIMITTEXT, нужный размер, 0);

Причем перед каждом открытии файла это действие необходимо повторять.

Если Вы передаете в качестве размера 0, то ОС ограничивает размер OS Specific Default Value. Реально, по результатам моих экспериментов, поставить можно размер, чуть меньший доступной виртуальной памяти. Я ограничился 90% от свободной виртуалки.

Для того, чтобы не повторять этот вызов (EM_LIMITTEXT), можно воспользоваться сообщением EM_EXLIMITTEXT.

Позиция курсора в TRichEdit

Delphi 2

ProcedureTForm1.GetPosition(Sender: TRichEdit);

var

iX, iY: Integer;

TheRichEdit: TRichEdit;

begin

iX:= 0;

iY:= 0;

TheRichEdit:= TRichEdit(Sender);

iY:= SendMessage(TheRichEdit.Handle, EM_LINEFROMCHAR, TheRichEdit.SelStart, 0);

iX:= TheRichEdit.SelStart - SendMessage(TheRichEdit.Handle, EM_LINEINDEX, iY, 0);

Panel1.Caption:= IntToStr(iY + 1) + ':' + IntToStr(iX + 1);

end;

procedureTForm1.RichEditMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

GetPosition(RichEdit);

end;

procedureTForm1.RichEditKeyUp(Sender: TObject; varKey: Word; Shift: TShiftState);

begin

GetPosition(RichEdit);

end;

RadioGroup

Группа радиокнопок и ActiveControl

На форме я имею группу радиокнопок. Я хотел бы вызывать контекстно-зависимую подсказку, если пользователь нажал F1. Для данной конкретной группы радиокнопок я установил HelpContext равным 22, но при любом вызове ActiveControl.HelpContext это возвращает (0). Все другие элементы управления работают как положено. Что я делаю неправильно?

Нет. Проблема в том, что 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 и, если да, то как это сделать?

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

Интервал:

Закладка:

Сделать


Валентин Озеров читать все книги автора по порядку

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




Советы по Delphi. Версия 1.4.3 от 1.1.2001 отзывы


Отзывы читателей о книге Советы по Delphi. Версия 1.4.3 от 1.1.2001, автор: Валентин Озеров. Читайте комментарии и мнения людей о произведении.


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

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