|
#1
|
||||
|
||||
Вид окна формы
Доброе время суток!
Подскажите пожалуйста, как заставить окно форми (Form1) вывести на экран без "заголовка окна" (Form1.BorderStyle:='bsNone'), при этом размер окна (Form1) можна было бы изменять при помощи мыши (так как и в случае Form1.BorderStyle:='bsSizeable')? Спасибо. |
#2
|
|||
|
|||
Стандартными способами - никак.
Можно сделать свой обработчик мыши по краям формы, а окно оставить без рамки. |
#3
|
||||
|
||||
Ясно... А можна ли оставить стандартный "Заголовок окна" (Form1.BorderStyle:='bsSizeable') но при этом убрать все кнопки управления окном (Свернуть, Развернуть, Закрыть)
|
#4
|
|||
|
|||
Да, можно. См. в инспекторе объектов BorderIcons
|
#5
|
||||
|
||||
Проще некуда...
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private declarations } protected procedure CreateParams(var Params: TCreateParams); override; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.CreateParams(var Params: TCreateParams); begin inherited; Params.Style := WS_VISIBLE or WS_POPUP or WS_SIZEBOX or WS_SYSMENU end; end. ...сказал, и загрустил от бесспорной своей правоты Последний раз редактировалось 0nni, 16.02.2009 в 18:57. |
#6
|
||||
|
||||
Огромное спасибо 0nni
|
#7
|
|||
|
|||
Микроскопом забиваем гвозди?
Зачем так сложно, когда это все вынесено в инспектор объектов? |
#8
|
||||
|
||||
2lmikle, сделай такое окно в инспекторе объектов и с меня пиво
...сказал, и загрустил от бесспорной своей правоты |
#9
|
|||
|
|||
Готовь пиво
Открываешь форму. В инспекторе объектов раскрываешь свойство BorderIcons и ставишь там все подпункты в False. Запускаешь - форма с заголовком, но без единой кнопки или иконки. |
#10
|
||||
|
||||
А как же WS_SIZEBOX?
Поощрительный приз (стакан гвоздей) отправляется в %SityName% ...сказал, и загрустил от бесспорной своей правоты Последний раз редактировалось 0nni, 16.02.2009 в 21:47. |
#11
|
|||
|
|||
А что WS_SIZEBOX. Border же я не меняю и стиль тоже. Згначит окно можно тасскать и менять его размер.
|
#12
|
||||
|
||||
а, хехе, я отвечал на этот вопрос:
Цитата:
...сказал, и загрустил от бесспорной своей правоты |
#13
|
||||
|
||||
0nni в твой код ещё стоит добавить
Код:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Button = mbLeft then begin ReleaseCapture; SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0); end; end; (при зажатой левой кнопке мыши ) Велик и могуч наш Object Pascal ! ICQ: 357-591-887 |