Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2009, 12:37   #1
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
Вопрос Привязка Form1 к Label1

Мне надо чтоб Form1 с параметрами Height и Width менялся от длины Label1 просто у меня будет менятся сама текстовочка в Label.Caption у меня при измене он уходит в даль а мне надо чтоб менялась и сама форма уступая Label1 как это сделать заранее спасибо!
Дайте мне власть и я переверну ваш мир!...
KWN, lnc вне форума Ответить с цитированием
Старый 10.03.2009, 12:40   #2
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

а не проще сделать перенос строки7 там есть wordwap (точно не помню как пишется)
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 10.03.2009, 12:51   #3
lexaltd
Форумчанин
 
Регистрация: 21.07.2008
Сообщений: 192
По умолчанию

Код:
procedure TForm1.Edit1Change(Sender: TObject);
begin
 Label1.Caption := Edit1.Text;
 if (Label1.Left + Label1.Width) > Form1.ClientWidth  then
   Form1.ClientWidth := (Label1.Left + Label1.Width)+10;
end;
Можна так - на быструю руку,Stilet разве трудно под себя переделать - если есть пример(разве была поставлена конкретная задача?)

Последний раз редактировалось lexaltd; 10.03.2009 в 13:07.
lexaltd вне форума Ответить с цитированием
Старый 10.03.2009, 12:59   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
lexaltd
Причем тут Эдит? А может автор программно менять решил текст Лабели?

Автору: Рекомендую изначально запомнить ширину лабели. Потом при изменении текста получать разницу предидущей ширины и текущей, ну и увеличивать ширину формы на этот коэффициент
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.03.2009, 13:33   #5
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
По умолчанию

Stilet да не так не интересно!ширина может быть на весь экран а может и нет! там я эффект делаю мне нужно всего лишь! то что я спрашиваю.. т.е. форма под лабел
Дайте мне власть и я переверну ваш мир!...
KWN, lnc вне форума Ответить с цитированием
Старый 10.03.2009, 13:57   #6
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

Если я правильно понял "форма под лабел", то можно сделать так
Код:
Uses unit1;

procedure TForm2.Button1Click(Sender: TObject);
begin
Form1.BorderStyle:=bsNone;
Form1.Label1.Left:=0;
Form1.Label1.Top:=0;
Form1.Label1.AutoSize:=True;
Form1.Label1.Caption:=Edit1.Text;
Form1.Height:=Form1.Label1.Height;
Form1.Width:=Form1.Label1.Width;
end;

Последний раз редактировалось S@fer; 10.03.2009 в 13:59.
S@fer вне форума Ответить с цитированием
Старый 10.03.2009, 14:46   #7
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
По умолчанию

вот еще один минус моей идеи! это то что форма не полностью привязывается к label1 извиняюсь что не сразу написал думал поймете!

мне надо чтоб он не уплотнял а еще при этом оставлял скажем +3 Width и + 4 Height

а так вообщет то отлично но правда почемуТ с кодом

Form1.Left:=Screen.Width - Form1.Width;
Form1.Top:=Screen.Height - Form1.Height;

уходит в даль! т.е. за границу...

результат
Form1.Label1.Left:=3;
Form1.Label1.Top:=4;
дает не то что мне надо!
Дайте мне власть и я переверну ваш мир!...

Последний раз редактировалось KWN, lnc; 10.03.2009 в 14:56.
KWN, lnc вне форума Ответить с цитированием
Старый 10.03.2009, 15:00   #8
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

Цитата:
Form1.Left:=Screen.Width - Form1.Width;
Form1.Top:=Screen.Height - Form1.Height;

уходит в даль! т.е. за границу...
у меня перемещает форму в правый-нижний угол, и за границу не уходит
S@fer вне форума Ответить с цитированием
Старый 10.03.2009, 20:23   #9
KWN, lnc
Delphi 7
Форумчанин
 
Аватар для KWN, lnc
 
Регистрация: 10.02.2009
Сообщений: 354
По умолчанию

S@fer этот код перемещает форму в правый-нижний угол, и за границу уходит если текстовочка больше чем сама форма... вот поэому я и говорю мне нужен код который сможет менять форму по горизонтали т.е. по Label1
Дайте мне власть и я переверну ваш мир!...
KWN, lnc вне форума Ответить с цитированием
Старый 11.03.2009, 10:17   #10
S@fer
Форумчанин
 
Аватар для S@fer
 
Регистрация: 29.01.2009
Сообщений: 411
По умолчанию

Тогда может подойдет такое
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    b,b1:integer;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
 var a:integer;
begin
Label1.Caption:=Edit1.Text;
a:=Label1.Left+Label1.Width;
b:=Form1.Width;
if a>b1 then
  if a>b then Form1.Width:=Form1.Width+Label1.Width
  else Form1.Width:=b
else Form1.Width:=b1;
Form1.Left:=Screen.Width - Form1.Width;
Form1.Top:=Screen.Height - Form1.Height;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
b1:=Form1.Width;
end;

end.

Последний раз редактировалось S@fer; 11.03.2009 в 10:26.
S@fer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как загрузить текст.txt в label1 Sergeu Общие вопросы Delphi 8 16.01.2009 00:16
при восспроизведении progressbar и label1 не работают blackstersl Общие вопросы Delphi 4 12.09.2008 20:30
label1 blackstersl Общие вопросы Delphi 3 11.09.2008 17:21
label1 in panel blackstersl Общие вопросы Delphi 1 09.09.2008 19:20
Form1.Hide и Form1.Show... Roof Общие вопросы Delphi 9 13.10.2007 13:33