|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Окно с определенным набором свойств
Здравствуйте!
Подскажите какой набор свойств нужно задать для окна, чтобы оно не имело заголовка, имело рамку и нельзя было изменить его размеры? Без заголовка и с рамкой я сделал. А вот запретить менять размеры не получается. Изначально окно bsSizeble. Код:
procedure TMainForm.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); Params.Style := (Params.Style or WS_POPUP) and not WS_DLGFRAME; Params.ExStyle := Params.ExStyle or WS_EX_TOOLWINDOW; //скрытие от alt+tab end; |
#2
|
||||
|
||||
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } procedure CreateParams(var Params: TCreateParams); override; procedure WMNCHITTEST(var Msg: TMessage); message WM_NCHITTEST; end; var Form1: TForm1; implementation uses Types; {$R *.dfm} { TForm1 } procedure TForm1.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); Params.Style:=WS_POPUP or WS_SIZEBOX; end; procedure TForm1.WMNCHITTEST(var Msg: TMessage); begin Msg.Result:=HTCAPTION; // HTCLIENT end; end. Пишу программы за еду. __________________ |
#3
|
|||
|
|||
Только через отлов сообщения? Через стили никак не получится?
|
#4
|
||||
|
||||
если только с обычной рамкой, которая в 7 такая же как в XP. тоже как-то нужно было такое же, нашел только такой способ. хотя подождем, может у кого-то есть еще варианты.
Пишу программы за еду. __________________ |
#5
|
||||
|
||||
Цитата:
|
#6
|
||||
|
||||
Цитата:
Пишу программы за еду. __________________ |
#7
|
||||
|
||||
Цитата:
|
#8
|
|||
|
|||
Попробовал вариант с перехватом сообщения. Размеры окна не изменяются, но окно можно перемещать за любое место рамки. Это можно как-то устранить?
Ведь создаёт же винда как-то вот это окно (лоток со свёрнутыми значками в трее): Window Detective показывает для него следующие стили: Styles WS_OVERLAPPED WS_MINIMIZEBOX WS_GROUP WS_THICKFRAME WS_BORDER WS_CLIPSIBLINGS WS_POPUP Extended Styles WS_EX_LEFT WS_EX_LTRREADING WS_EX_RIGHTSCROLLBAR WS_EX_TOPMOST WS_EX_TOOLWINDOW WS_EX_WINDOWEDGE WS_EX_PALETTEWINDOW Последний раз редактировалось Valart, 24.01.2014 в 00:58. |
#9
|
||||
|
||||
Цитата:
|
#10
|
||||
|
||||
так точно. даже в примере комментарий HTCLIENT стоит для решения этого вопроса, надеялся что он все-таки не возникнет
Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Valart (24.01.2014)
|
#11
|
|||
|
|||
Ночью, когда я сонный наконец добрался до делфей, комментарий я проигнорировал! А смысл переназначения области получения сообщения я понял.
|