Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как убрать с окна рамку 3х мерности [D6, Win2k]


msg ©   (2002-08-16 08:56:00) 

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


Mozart_mcs   (2002-08-19 01:45:00) [1]

Если я правильно понял вопрос,
то тебе надо создать такого плана форму
а затем занести её в хранилище или депозитарий.
Делается это - легко:
Создаёшь форму, меняешь в ней всё что надо,
(можешь добавить компоненты) потом сохраняешь,
кликаешь правой кнопкой мыши, и выбираешь
"add to repository".
Там указываешь все данные, инфо, название ...
Затем, когда нужно, берёшь file->new->other и там находишь
свою заготовку. Короче, идея понятна, надеюсь.. если что?
пиши на мыло.


Rem   (2002-08-16 13:58:00) [2]

Если надо окно без заголовка, то можно извернуться так:
- установить для окна свойство: BorderStyle := bsNone;
- разместить на окне четыре панели, без заголовков, и установить для них свойства:
TopPanel: Height := 4; Align := alTop; Cursor := crSizeNS;
BottomPanel: Height := 4; Align := alBottom; Cursor := crSizeNS;
LeftPanel: Width := 4; Align := alLeft; Cursor := crSizeWE;
RightPanel: Width := 4; Align := alRigth; Cursor := crSizeWE;

- прописать для панелей обработчики события OnMouseDown:
procedure TForm.LeftPanelMouseDown;
begin
ReleaseCapture;
Perform(WM_SYSCOMMAND, $f001, 0);
end;
procedure TForm.RigthPanelMouseDown;
begin
ReleaseCapture;
Perform(WM_SYSCOMMAND, $f002, 0);
end;
procedure TForm.BottomPanelMouseDown;
begin
ReleaseCapture;
Perform(WM_SYSCOMMAND, $f006, 0);
end;
procedure TForm.TopPanelMouseDown;
begin
ReleaseCapture;
Perform(WM_SYSCOMMAND, $f00e, 0);
end;

- А если для OnMouseDown формы написать такой обработчик, то форму можно будет перетаскивать мышкой:
procedure TForm.FormMouseDown;
begin
ReleaseCapture;
Perform(WM_SYSCOMMAND, $f012, 0);
end;


Немного коряво... да работает :)


Севостьянов Игорь   (2002-08-16 10:46:00) [3]

Это будет твое окно (программа) или чужое необходимо изменять ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо