Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.13;
Скачать: CL | DM;

Вниз

Окно не прямоугольной формы ...   Найти похожие ветки 

 
Максим   (2003-10-03 10:09) [0]

Подскажите как сделать окно не прямоугольной формы ......


 
HolACost! ©   (2003-10-03 10:12) [1]

goto FAQ on this site!


 
wal ©   (2003-10-03 10:13) [2]

Никак, окно всегда прямоугольное, можно ограничить область, в которой можно рисовать - остальная область прозрачная, причем не только для экрана, но и для мышки (т.е. при клике мышкой по этой области получется клик по тому, что лежит за окном). См. SetWindowRegion (вроде так, хелпа под рукой нету).


 
Yanis ©   (2003-10-03 10:38) [3]


var h:HRGN;
begin
h := CreateRoundRectRgn(0,0,Form1.Width,Form1.Height,20,20);
SetWindowRgn(Form1.Handle,h,True);

Вроде так, просто под рукой дельфей нету.


 
Максим   (2003-10-03 10:51) [4]

Yanis не работает как ты написал


 
Yanis ©   (2003-10-03 10:52) [5]

Что пишет ?


 
Максим   (2003-10-03 10:55) [6]

Да а по какому событию это происходит ???


 
Максим   (2003-10-03 11:00) [7]

Пишит она вот что:
Project Project.exe Raised Exeption class EAccessViolation with message "Access Violation at address 005B4dd6 in module "Project.exe". Resd of address 0000004C"


 
Yanis ©   (2003-10-03 11:11) [8]

У меня под рукой дельфи нету.
В onCreate запихни.


 
Максим   (2003-10-03 11:15) [9]

Yanis работает спасибо, только вот еще вопрос те углы которые она прячет там нем оконтовки как сделать а то не красиво получается


 
Yanis ©   (2003-10-03 11:27) [10]

Что за оконтовка ? Немного поточнеее можно ?


 
Rem ©   (2003-10-03 11:30) [11]

Рисуйте, молодой человек, рисуйте!


 
Rem ©   (2003-10-03 11:31) [12]

2 Yanis
Он хочет, чтобы у окна 3D рамка при этом была по закругленному краю...


 
Максим   (2003-10-03 11:32) [13]

Совершенно верно !!!!!!!!!


 
Yanis ©   (2003-10-03 11:33) [14]

Теперь понятно. Ну да, действительно рисовать, рисовать и ещё раз рисовать.


 
Rem ©   (2003-10-03 11:45) [15]

Установи для окна BorderStyle := bsNone, и прорисовывай свою рамку по всему контуру.

А еще у тебя возникнут вопросы с перемещением формы по экрану. Это решается просто:

procedure TYourForm.OnMouseDown(...);
begin
ReleaseCapture;
Perform(WM_SYSCOMMAND, $f012, 0);
end;

А с изменением размеров возни будет гораздо больше...


 
Yanis ©   (2003-10-03 11:50) [16]

Да и с рамкой тоже не мало возни появится.



Страницы: 1 вся ветка

Текущий архив: 2003.10.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
1-40437
Charly
2003-10-02 20:26
2003.10.13
TPageControl -> AllowChange


4-40742
Bes
2003-08-06 16:10
2003.10.13
Вывод процессов...


8-40523
Дмитрий К.
2003-06-11 13:19
2003.10.13
Показ видео под ХР


6-40566
WASYA
2003-08-18 13:11
2003.10.13
Трафик


3-40271
NorthMan
2003-09-22 18:56
2003.10.13
Через BDE следующий код работает: