![]() |
|
|
#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;![]() (при зажатой левой кнопке мыши ) |