рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

R:TRect; begin if ToolBar1.HostDockSite<>ControlBar1 then

R:TRect; begin if ToolBar1.HostDockSite<>ControlBar1 then - раздел Образование, Дерево элементов TTreeView Begin Getwindowrect(Toolbar1.handle, R); Application.messagebox(Pchar...

begin GetWindowRect(ToolBar1.Handle, R); Application.MessageBox(PChar(IntToStr(r.Left)+'--'+IntToStr(r.Top)),

'MM',IDOK); end; end;

В первой строке я проверяю, лежит ли ToolBar1 на ControlBar1 с помощью (ToolBar1.HostDockSite<>ControlBar1). Если он лежит, то получить положение ToolBar1 очень просто. Для этого можно узнать всего лишь ToolBar1.Left и ToolBar1.Top.

Если ToolBar1 не лежит на ControlBar1 (ToolBar1 выглядит как отдельное окно), то задача усложняется. Тебе придётся вызывать GetWindowRect, чтобы получить реальное положение ToolBar1 на экране. В качестве первого параметра ты должен передать указатель на ToolBar1, а второй -это переменная типа TRect в которую запишется реальное положение окна. Для удобства я вывожу эти знчения в окне сообщения Application.MessageBox.

Всё это я делаю для наглядности. Теперь ты можешь запустить прогу и переместить ToolBar1 по экрану. Каждый раз, когда ты будешь нажимать кнопку, программа будет выводить окно и показывать тебе реальное положение ToolBar1.

По событию OnShow я написал:

procedure TForm1.FormShow(Sender: TObject);

begin ToolBar1.ManualDock(nil,nil,alNone); ToolBar1.ManualFloat(Bounds(100, 500, ToolBar1.UndockWidth,

ToolBar1.UndockHeight)); end;

ToolBar1.ManualDock заставляет переместится ToolBar1 на новый компонент. В качестве первого параметра указывается указатель на компонент или окно, к которому мы хотим прилепить ToolBar1. Я хочу, чтобы после загрузки ToolBar1 превратился в отдельное окно, поэтому я указываю nil. Второй параметр можешь ставить nil. Он означает компонент внутри компонента указанного в качестве первого параметра, на который мы хотим поместить ToolBar1. Я указал nil. Третий параметр – выравнивание.

С помощью ToolBar1.ManualFloat я просто двигаю ToolBar1 внутри нового компонента. У меня новый компонент nil, т.е. окно, поэтому я двигаю ToolBar1 по окну. Может не совсем понятно? Попробуй запустить пример и поиграть с ним, тогда всё встанет на свои места.

И ещё ToolBar1.UndockWidth и ToolBar1.UndockHeight возвращают размер ToolBar1, когда он выглядит как окно, а не лежит на ControlBar1.

Когда ты будешь использовать это в своей проге для сохранения положения ToolBar1, тебе надо будет написать примерно следующее по событию OnClose:

– Конец работы –

Эта тема принадлежит разделу:

Дерево элементов TTreeView

Дерево элементов TTreeView...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: R:TRect; begin if ToolBar1.HostDockSite<>ControlBar1 then

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Procedure TTreeViewForm.AddButtonClick(Sender: TObject); var
CaptionStr:String; NewNode:TTreeNode; begin CaptionStr:=''; if not InputQuery('Ввод имени', 'Введите заголовок элемента',CaptionStr) then exit;

CaptionStr:String; begin
CaptionStr:=''; if not InputQuery('Ввод имени',   'Введите заголовок элемента',CaptionStr) then exit;

Private
{ Private declarations } function AddFile(FileMask: string; FFileAttr:DWORD): Boolean; Объяви эту процедуру так же и потом нажми клавиши Ctrl+Shi

ListView1.Items.EndUpdate; // Прорисовываем все изменения сразу
С этим разобрались, можно ехать дальше. После вызова BeginUpdate я очищаю текущий список элементов с помощью вызова ListView1.Items.Clear. Далее идёт цикл поиска файлов, с ко

Implementation
Я специально объявил их там, чтобы показать тебе, как можно пользоваться функциями не принадлежащими ни одному объекту. Здесь функция SlashSep объявлена не внутри объекта, значит она никому

Implementation
Я специально объявил их там, чтобы показать тебе, как можно пользоваться функциями не принадлежащими ни одному объекту. Здесь функция SlashSep объявлена не внутри объекта, значит она никому

Begin //Если да, то прибавить имя выделенной директории к пути //и перечитать файлы из неё.
Edit1.Text:=Edit1.Text+ListView1.Selected.Caption+''; AddFile(Edit1.Text+'*.*',faAnyFile) end else //Если нет, то это файл и я его запускаю.

Private
{ Private declarations } procedure ShowHint(Sender: TObject); Имя процедуры может быть и другим (например MyShowHint) но параметр должен б

Procedure TForm1.ShowHint(Sender: TObject); begin
StatusBar1.SimpleText := Application.Hint; end; Итак, наша процедура должна будет вызываться каждый раз, когда надо вывести подсказку. Внутри процедуры мы присваиваем в св

Procedure TForm1.ShowHint(Sender: TObject); begin
StatusBar1.Panels[1].Text := Application.Hint; end; Здесь я присваиваю текст сообщения (Application.Hint) в свойство Text первой панели строки состояния.

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги