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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Glyph.Height := Height - 6;

R := Bounds(0, 0, Glyph.Width, 0);

StrPCopy(Buff, Caption);

Caption := '';

DrawText(Glyph.Canvas.Handle,Buff,StrLen(Buff),R, DT_CENTER or DT_WORDBREAK or DT_CALCRECT);

OffsetRect(R,(Glyph.Width - R.Right) div 2, (Glyph.Height - R.Bottom) div 2);

DrawText(Glyph.Canvas.Handle,Buff,StrLen(Buff),R, DT_CENTER or DT_WORDBREAK);

end;

end;

Вопрос:

Как изменить стиль шрифта RichEdit нажатиями соответствующих комбинаций клавиш? (например включить курсив по нажатию Ctrl + I)

Ответ:

В примере стили шрифта меняются по нажатию след. комбинаций клавиш

• Ctrl + B — вкл/выкл жирного шрифта

• Ctrl + I — вкл/выкл наклонного шрифта

• Ctrl + S — вкл/выкл зачеркнутого шрифта

• Ctrl + U — вкл/выкл подчеркнутого шрифта

Пример:

const

KEY_CTRL_B = 02;

KEY_CTRL_I = 9;

KEY_CTRL_S = 19;

KEY_CTRL_U = 21;

procedure TForm1.RichEdit1KeyPress(Sender: TObject; var Key: Char);

begin

case Ord(Key) of

KEY_CTRL_B: begin

Key := #0;

if fsBold in (Sender as TRichEdit).SelAttributes.Style then (Sender as TRichEdit).SelAttributes.Style := (Sender as TRichEdit).SelAttributes.Style - [fsBold]

else (Sender as TRichEdit).SelAttributes.Style := (Sender as TRichEdit).SelAttributes.Style + [fsBold];

end;

KEY_CTRL_I: begin

Key := #0;

if fsItalic in (Sender as TRichEdit).SelAttributes.Style then (Sender as TRichEdit).SelAttributes.Style := (Sender as TRichEdit).SelAttributes.Style - [fsItalic]

else (Sender as TRichEdit).SelAttributes.Style := (Sender as TRichEdit).SelAttributes.Style + [fsItalic];

end;

KEY_CTRL_S: begin

Key := #0;

if fsStrikeout in (Sender as TRichEdit).SelAttributes.Style then (Sender as TRichEdit).SelAttributes.Style := (Sender as TRichEdit).SelAttributes.Style-[fsStrikeout]

else (Sender as TRichEdit).SelAttributes.Style := (Sender as TRichEdit).SelAttributes.Style+[fsStrikeout];

end;

KEY_CTRL_U: begin

Key := #0;

if fsUnderline in (Sender as TRichEdit).SelAttributes.Style then (Sender as TRichEdit).SelAttributes.Style := (Sender as TRichEdit).SelAttributes.Style-[fsUnderline]

else (Sender as TRichEdit).SelAttributes.Style := (Sender as TRichEdit).SelAttributes.Style+[fsUnderline];

end;

end;

end;

Вопрос:

В документации компонента TRegIniFile говорится, что можно изменять корневой ключ (root key). Я пытаюсь это сделать но ничего не получается.

Ответ:

См. пример.

Пример:

uses Registry;

procedure TForm1.Button1Click(Sender: TObject);

var WinIni : TRegIniFile;

begin

WinIni := TRegIniFile.Create('');

WinIni.RootKey := HKEY_LOCAL_MACHINE;

WinIni.WriteString('Frank','Borland','Writes Fast Code!');

WinIni.Free;

end;

Вопрос:

Можно ли динамически изменять свойство "owner" компонента во время выполнения программы?

Ответ:

Вы можете менять свойство "owner" и после создания компонента с помощью методов InsertComponent() и RemoveComponent().

Вопрос:

Как очистить содержимое Canvas'а?

Ответ:

Просто нарисуйте прямоугольник любого цвета.

Пример:

Canvas.Brush.Color := ClWhite;

Canvas.FillRect(Canvas.ClipRect);

Вопрос:

Можно ли динамически менять какая форма считается главной в приложении во время работы программы?

Ответ:

Можно, но только во время загрузки приложения. Чтобы сделать это выберите "View→Project Source" и измените код инициализации приложения, так что порядок создания форм зависил от какого-то условия.

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

begin

Application.Initialize;

if <���какое-то условие> then begin

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TForm2, Form2);

end else begin

Application.CreateForm(TForm2, Form2);

Application.CreateForm(TForm1, Form1);

end;

end.

Application.Run;

Вопрос:

Как программно "щелкнуть" по компоненту speed button? Я пытался использовать SendMessage но у Speedbuttons нет "handle".

Ответ:

В примере используется метод Perform класса TControl для отправки сообщения.

Пример:

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin

ShowMessage('clicked');

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

SpeedButton1.Perform(WM_LBUTTONDOWN, 0, 0);

SpeedButton1.Perform(WM_LBUTTONUP, 0, 0);

end;

Вопрос:

Можно ли отключить определенный элемент в RadioGroup?

Ответ:

В примере показано как получить доступ к отдельным элементам компонента TRadioGroup.

Пример:

procedure TForm1.Button1Click(Sender: TObject);

begin

TRadioButton(RadioGroup1.Controls[1]). Enabled := False;

end;

Вопрос:

Почему методы рисования Delphi (например MoveTo и LineTo) рисуют на один пиксел короче?

Ответ:

Так работает большинство графических систем, включая Windows. Библиотека VCL просто передает вызовы в функции GDI. Если Вы хотите нарисовать линию с последним пикселом включительно просто добавте единицу к координатам.

Вопрос:

Как показать подсказки "hints" для элементов меню?

Ответ:

В примере создается обработчик события Application.Hint — подсказки меню изображаются на status panel.

Пример:

type TForm1 = class(TForm)

Panel1: TPanel;

MainMenu1: TMainMenu;

MenuItemFile: TMenuItem;

MenuItemOpen: TMenuItem;

MenuItemClose: TMenuItem;

OpenDialog1: TOpenDialog;

procedure FormCreate(Sender: TObject);

procedure MenuItemCloseClick(Sender: TObject);

procedure MenuItemOpenClick(Sender: TObject);

private

{Private declarations}

procedure HintHandler(Sender: TObject);

public

{Public declarations}

end;

var Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);

begin

Panel1.Align := alBottom;

MenuItemFile.Hint := 'File Menu';

MenuItemOpen.Hint := 'Opens A File';

MenuItemClose.Hint := 'Closes the Application';

Application.OnHint := HintHandler;

end;

procedure TForm1.HintHandler(Sender: TObject);

begin

Panel1.Caption := Application.Hint;

end;

procedure TForm1.MenuItemCloseClick(Sender: TObject);

begin

Application.Terminate;

end;

procedure TForm1.MenuItemOpenClick(Sender: TObject);

begin

if OpenDialog1.Execute then Form1.Caption := OpenDialog1.FileName;

end;

Вопрос:

Как опеделить состояние списка ComboBox, выпал/скрыт?

Ответ:

Пошлите ComboBox сообщение CB_GETDROPPEDSTATE.

Пример:

if SendMessage(ComboBox1.Handle, CB_GETDROPPEDSTATE,0,0) = 1 then begin

{список ComboBox выпал}

end;

Вопрос:

Как удалить каталог вместе со всеми содержащимися в нем файлами?

Ответ:

В примере стираются все файлы в каталоге и сам каталог. Чтобы удалить файл, помечанные только для чтения (read only) и занятые другими программами в момент удаления — напишите дополнительную процедуру.

procedure TForm1.Button1Click(Sender: TObject);

var

DirInfo: TSearchRec;

r: integer;

begin

r := FindFirst('C:\Download\*.*', FaAnyfile, DirInfo);

while r = 0 do begin

if ((DirInfo.Attr and FaDirectory <> FaDirectory) and (DirInfo.Attr and FaVolumeId <> FaVolumeID)) then if DeleteFile(pChar('C:\Download\' + DirInfo.Name))= false then ShowMessage('Unable to delete: C:\Download\'+DirInfo.Name);

r := FindNext(DirInfo);

end;

SysUtils.FindClose(DirInfo);

if RemoveDirectory('C:\Download\') = false then ShowMessage('Unable to delete directory: C:\Download\');

end;

Вопрос:

Как отключить системное меню формы и кнопки Minimize, Maximize, and Close во время выполнения(Runtime)?

Ответ:

В приведенном примере показано как это сделать

Пример:

procedure TForm1.Button1Click(Sender: TObject);

begin

{Disable}

Form1.BorderIcons := Form1.BorderIcons - [biSystemMenu, biMinimize, biMaximize];

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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