Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.02.16;
Скачать: CL | DM;

Вниз

проблемма с BorderStyle:= bsNone;   Найти похожие ветки 

 
novai   (2013-04-22 14:12) [0]

почему если:
procedure TForm1.FormCreate(Sender: TObject);
begin
 BorderStyle:= bsNone;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 label1.Caption:= IntToStr(ClientWidth) + "x" + IntToStr(ClientHeight);  
end;

то я вижу, что ClientWidth=Width и ClientHeight=Height ?
Соответственно, сама форма чуть больше, чем должна быть...
Как сделать, ClientWidth и ClientHeight содержащими значения, что были выставлены в обжект инспекторе?


 
Ega23 ©   (2013-04-22 14:19) [1]

Положить туда фрейм, а привязку делать уже с него.


 
novai   (2013-04-22 14:21) [2]

это как положит туда шаблон? но ведь скорее всего можно без этих танцев?


 
novai   (2013-04-22 14:23) [3]

и что характерно, в инете решения данной проблемы не нашел, не сталкивались видимо?


 
Ega23 ©   (2013-04-22 14:36) [4]

С чем не сталкивались? Я что-то решительно не понимаю.


 
Плохиш ©   (2013-04-22 14:57) [5]

Он просто не понимает, что клиентная область зависит от размеров формы и наличия рамки, а не наоборот.


 
novai   (2013-04-22 14:59) [6]

что-то можно сделать?


 
Inovet ©   (2013-04-22 15:17) [7]

> [6] novai   (22.04.13 14:59)
> что-то можно сделать?

А так?
Height := Height - ClientHeight + СколькоТамНадоВысоты;
Width := Width - ClientWidth + СколькоТамНадоШирины;


 
novai   (2013-04-22 15:23) [8]

дело в том, что ClientHeight подгоняется под Height  и аналогично с шириной


 
Inovet ©   (2013-04-22 15:40) [9]

> [8] novai   (22.04.13 15:23)

Ну и?

procedure TForm1.Button1Click(Sender: TObject);
begin
 BorderStyle:= bsNone;
 Width := Width - ClientWidth + 200;
 Height := Height - ClientHeight + 100;
 Label1.Caption := IntToStr(ClientWidth) + "x" + IntToStr(ClientHeight);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 BorderStyle:= bsSizeable;
 Width := Width - ClientWidth + 200;
 Height := Height - ClientHeight + 100;
 Label1.Caption := IntToStr(ClientWidth) + "x" + IntToStr(ClientHeight);
end;


 
Плохиш ©   (2013-04-22 15:52) [10]


> novai   (22.04.13 15:23) [8]
> дело в том, что ClientHeight подгоняется под Height  и аналогично
> с шириной

Ну так и выстави требуемые размеры формы. Иначе, нафига оно тебе это программирование?


 
icWasya ©   (2013-04-22 15:54) [11]

Ну а по простому?
procedure TForm1.FormCreate(Sender: TObject);
var
 SavClientHeight,SavClientWidth:Integer;
begin
 SavClientHeight := ClientHeight;
 SavClientWidth  := ClientWidth;
 BorderStyle       := bsNone;
 ClientHeight      := SavClientHeight;
 ClientWidth       := SavClientWidth;
end;

или
procedure TForm1.FormCreate(Sender: TObject);
var
 SavClientRect:TRect;
begin
 SavClientRect := ClientRect;
 BorderStyle    := bsNone;
 ClientRect     := SavClientRect;
end;


 
Inovet ©   (2013-04-22 16:02) [12]

> [10] Плохиш ©   (22.04.13 15:52)

> [11] icWasya ©   (22.04.13 15:54)

Это слишком тривиально.


 
Ega23 ©   (2013-04-22 16:11) [13]


> что-то можно сделать?


Что нужно-то? Есть Width. есть ClientWidth. Они не одно и то же. Значение ClientWidth не больше значения Width. Различия варьируются от значения BorderStyle (и, вроде как, от темы может зависеть).


 
novai   (2013-04-22 16:36) [14]

странно, но 11 заработал как надо, хотя я подобное пробовал... хм
всем спасибо!


 
Inovet ©   (2013-04-22 16:39) [15]

> [13] Ega23 ©   (22.04.13 16:11)
> и, вроде как, от темы может зависеть

В каких-то версиях Вин, вроде как, можно было ширину даже из интерфайса настраивать.



Страницы: 1 вся ветка

Текущий архив: 2014.02.16;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.006 c
2-1365823333
NBAH1990
2013-04-13 07:22
2014.02.16
idhttp проблема с кодировкой


15-1377887629
Ротанг
2013-08-30 22:33
2014.02.16
Дополнительный виртуальный монитор


15-1378133550
Степан Потапов
2013-09-02 18:52
2014.02.16
Кто переименовывает, а кто нет? (опрос)


2-1365138690
alexdn
2013-04-05 09:11
2014.02.16
Сохраненеие картинки из paintbox


2-1366377417
mefodiy
2013-04-19 17:16
2014.02.16
Не удаляется значение ключа реестра