Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2014.02.16;
Скачать: [xml.tar.bz2];

Вниз

проблемма с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.003 c
2-1365138690
alexdn
2013-04-05 09:11
2014.02.16
Сохраненеие картинки из paintbox


2-1362774705
vegarulez
2013-03-09 00:31
2014.02.16
сервер на IdTCPServer


15-1377900392
картман
2013-08-31 02:06
2014.02.16
широкий монитор...


1-1322047862
Антоха
2011-11-23 15:31
2014.02.16
олучение одномерного массива вариантов из двумерного


15-1378280205
Empleado
2013-09-04 11:36
2014.02.16
Frederik Pohl





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский