11.12.2011, 23:21 | #1 (permalink) |
Member
Регистрация: 11.12.2011
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Друзья, нужна ваша помощь
|
11.12.2011, 23:21 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Данные топики очень похожи по содержанию на вашу тему Нужна помощь с ремонтом плеера Мощный преобразователь с 17 на 12 вольт, нужна ваша помощь Delphi. Нужна ваша помощь Ремонт резинового подвеса - нужна ваша помощь |
12.12.2011, 05:06 | #3 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
На событие OnClick соответствующей кнопки повесьте команду изменения линейного размера компоненты (соответственно Width и Hight) и анализируйте его значение (If ...). При достижении предельного значения соответствующую кнопку спрячьте (свойство Visible:=False).
|
17.12.2011, 19:22 | #5 (permalink) |
一步一步地会到目的
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
|
Двойной щелчок по любой кнопке на форме (в режиме конструирования) открывает процедуру обработки щелчка по этой кнопке (Событие OnClick, о чем писал AlexZir). В нее-то и нужно записать действие, которое бы меняло высоту и ширину формы, или ее положение на экране.
Вы говорите, я делал похожую задачу? Дайте-ка ссылку, посмотреть. Кажется, там все неплохо расписано.. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
17.12.2011, 19:52 | #7 (permalink) |
一步一步地会到目的
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
|
В общем-то, все похоже, надо лишь немного изменить процедуры перемещения.
Поясню по событиям: среди окон делфи в левом нижнем углу есть окно Инспектора объектов (Object Inspector), на одной вкладке которого отображаются Свойства выделенного объекта, на второй - события для данного объекта (Properties и Events соответственно). Так, событие Щелчок мыши обрабатывается через OnClick, нажатие клавиши - OnKeyPress, изменение - OnChange, и т.д.. В соответствующие события вам нужно вписать код, который бы обрабатывал это и производил какие-то действия. Так вот, для обработки изменения ЛистБокса добавляем в глобальный var переменную flag логического типа, а в саму процедуру вставляем это: Код:
сase ListBox1.ItemIndex of 0: flag:=false; 1: flag:=true; end; |
17.12.2011, 20:05 | #8 (permalink) |
一步一步地会到目的
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
|
Далее, коды для кнопок направлений из той темы справедливы и для вас, только лишь объект Form1 замените на Memo1.
|
17.12.2011, 20:55 | #9 (permalink) |
Member
Регистрация: 11.12.2011
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
unit Unit3;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm3 = class(TForm) Memo1: TMemo; Memo2: TMemo; Memo3: TMemo; Memo4: TMemo; ListBox1: TListBox; CheckBox1: TCheckBox; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; procedure Button1Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure ListBox1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form3: TForm3; implementation {$R *.dfm} procedure TForm3.Button1Click(Sender: TObject); begin Case flag of false: Memo1.Left:=Form1.Left-5; true: Memo1.Width:=Form1.Width-5; end; end; procedure TForm3.Button2Click(Sender: TObject); begin Case flag of false: Memo1.Top:=Form1.Top+5; true: Memo1.Height:=Form1.Height+5; end; end; procedure TForm3.Button3Click(Sender: TObject); begin Case flag of false: Memo1.Left:=Form1.Left+5; true: Memo1.Width:=Form1.Width+5; end; end; procedure TForm3.Button4Click(Sender: TObject); begin Case flag of false: Memo1.Top:=Form1.Top-5; true: Memo1.Height:=Form1.Height-5; end; end; procedure TForm3.CheckBox1Click(Sender: TObject); begin Application.Terminate; end; procedure TForm3.ListBox1Click(Sender: TObject); begin var flag of сase ListBox1.ItemIndex of 0: flag:=false; 1: flag:=true; end; end; end. Вот что я смог сделать) Ошибку выдает case flag of |
17.12.2011, 21:09 | #10 (permalink) |
一步一步地会到目的
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|