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

Вниз

Таскание формы за заголовок   Найти похожие ветки 

 
Sam Stone ©   (2004-04-27 17:46) [0]

Мастера, подскажите, как узнать, что форму таскают за заголовок?

И еще: имеется PaintBox, в котором я рисую. Можно ли сделать так(без перерисовки), чтобы его содержимое не затиралось, если, допустим, поверх этого PaintBox"а вывалится менюшка?


 
Тимохов ©   (2004-04-27 17:47) [1]


> И еще: имеется PaintBox, в котором я рисую. Можно ли сделать
> так(без перерисовки), чтобы его содержимое не затиралось,
> если, допустим, поверх этого PaintBox"а вывалится менюшка?

Как вы в нем рисуете? Т.е. из где вы в него рисуете?


 
Игорь Шевченко ©   (2004-04-27 17:49) [2]


> Мастера, подскажите, как узнать, что форму таскают за заголовок?


WM_MOVE обрабатывать, например


 
Sam Stone ©   (2004-04-27 17:52) [3]


> Как вы в нем рисуете? Т.е. из где вы в него рисуете?

через canvas

> WM_MOVE обрабатывать, например

нельзя ли привести пример?


 
Amoeba ©   (2004-04-27 17:56) [4]

Если рисовать в OnPaint (как и полагается рисовать на Canvas PainBox"а), то ничего затираться не должно.


 
WebErr ©   (2004-04-27 17:58) [5]


> Sam Stone ©   (27.04.04 17:52) [3]
>
> > Как вы в нем рисуете? Т.е. из где вы в него рисуете?
>
> через canvas
>

Событие OnPaint этого PaintBox"a.
Рисуйте только там.

> > WM_MOVE обрабатывать, например
>
> нельзя ли привести пример?

в форме:
procedure SomeName(AMessage: TMessage); message WM_MOVE;
в implementation:
procedure SomeName(AMessage: TMessage);
begin
 MessageDlg("Hi, I""m rabbit Joe, I""m glag to see you!!!", mtInformation, [mbOk], 0);
end;
8)
Enjoy!


 
WebErr ©   (2004-04-27 17:59) [6]

Ой, то есть в implementation:
procedure TForm666.SomeName(...);
...


 
Тимохов ©   (2004-04-27 17:59) [7]


> Sam Stone ©   (27.04.04 17:52) [3]
>
> > Как вы в нем рисуете? Т.е. из где вы в него рисуете?
>
> через canvas

гениальный по трудозатратам ответ.


 
Gero ©   (2004-04-27 17:59) [8]

Вместо PaintBox используйте TImage.


> > WM_MOVE обрабатывать, например
> нельзя ли привести пример?

TForm1 = class(TForm)
...
private
procedure WMMove(var Msg : TMessage); message WM_MOVE;
...
end;

...

procedure TForm1.WMMove(var Msg : TMessage);
begin
 // Форму таскают
end;


 
Sam Stone ©   (2004-04-27 18:00) [9]

Спасибо всем за помощь :)


 
Amoeba ©   (2004-04-27 18:00) [10]


> Вместо PaintBox используйте TImage

Это далеко не всегда лучшее решение.


 
WebErr ©   (2004-04-27 18:06) [11]


> Amoeba ©   (27.04.04 18:00) [10]

Я бы даже сказал, непонятно, как вообще можно заменить TPaintBox на TImage...


 
Тимохов ©   (2004-04-27 18:13) [12]


> WebErr ©   (27.04.04 18:06) [11]

нарисовать на bitmape


 
WebErr ©   (2004-04-27 18:18) [13]

TImage.Picture.Bitmap? А зачем, когда есть PaintBox?
Если уж работать с битмапой, то Draw её через PaintBox.Canvas. Это лично моё мнение (ИМХО, кажется...).


 
Тимохов ©   (2004-04-27 18:22) [14]


> WebErr ©   (27.04.04 18:18) [13]

вам было не понятно - я ответил.


 
Gero ©   (2004-04-27 18:23) [15]


> А зачем, когда есть PaintBox?

Цитирую:
> чтобы его содержимое не затиралось, если, допустим, поверх
> этого PaintBox"а вывалится менюшка


 
WebErr ©   (2004-04-27 18:27) [16]


> Тимохов ©   (27.04.04 18:22) [14]
> Gero ©   (27.04.04 18:23) [15]

Пасиб, родные! 8)



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

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

Наверх




Память: 0.5 MB
Время: 0.038 c
14-1083135450
paul_k
2004-04-28 10:57
2004.05.16
Предлагаю улыбнутся


7-1080704871
Мыш
2004-03-31 07:47
2004.05.16
Как узнать высоту таскбара и высоту заголовка окна?


8-1076871935
Attrib
2004-02-15 22:05
2004.05.16
mp3


1-1083061737
IceMaster
2004-04-27 14:28
2004.05.16
Memo


1-1083321302
Relaxxx
2004-04-30 14:35
2004.05.16
Нужно чтобы сумма преобразовывалась в определенную форму