Вниз
Скачать: CL | DM;

Дизайн формы   Найти похожие ветки 

← →
Hawk2   (2003-07-02 17:30) [0]

Народ разъясните как сделать или подскажите где почитать, а интересует следующее: Как на форму наложить рисунок чтобы он накрывал и строку заголовка, ну как в играх например, или в Winamp-е?


← →
Urvin ©   (2003-07-02 17:31) [1]

В винампе картинка не перекрывает заголовок - этог растягивается элемент, за который форму тащят. Делается через АПИ.


← →
INCOGNITO ©   (2003-07-02 19:56) [2]

У формы чтавишь св-во Border = bsNone, добавляешь на форму компонент TImage, его св-ву Align присваиваешь alClient и пихаешь туды картинку.

Если хочешь, чтоб твою форму можно было таскать, то у этого Image-а в событии OnKeyDown пишешь:

procedure TForm1.ImgBgMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const SC_DragMove = $F012; { a magic number }
begin
ReleaseCapture;
perform(WM_SysCommand, SC_DragMove, 0);
end;


← →
Думкин ©   (2003-07-03 05:07) [3]

Смотря что надо, но я делал так:

при креате
inherited;
SetWindowLong(Handle, GWL_STYLE,GetWindowLong(Handle, GWL_STYLE) and not WS_CAPTION);

Даблебуфер - лучше в фальш, а то потом могут тормоза повылазить.

В ресайзе - подгоняешь рисуемую картинку под нужные размеры.

А в паинте:
procedure TMyForm.WMPaint;
var
ps : TPaintStruct;
DC : HDC;
begin
inherited;
if not(hasPicture) then Exit;
DC := BeginPaint(Handle, ps);
FillRect(DC,BoundsRect,Canvas.Brush.Handle);
BitBlt(
Canvas.Handle,
0,0,FBMM1.Width,FBMM1.Height,
FBMM1.Canvas.Handle,
0,0,
SRCCOPY);
EndPaint(Handle, ps)
end;


Правда один недостаток есть - но тебе я думаю хватит. Про то как таскать - тебе сказали.


← →
Hawk2   (2003-07-03 09:52) [4]

Спасибо попробую.


← →
Flint ©   (2003-07-03 10:22) [5]

Перетаскивание лучше сделать через WM_NCHITTEST. Так и правильнее и удобнее, можно выбирать за какую именно часть формы ты хочешь таскать :)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
3-55424
qwerty2
2003-06-24 09:55
2003.07.17
Locate по BLOB-полям


3-55455
mikl2002
2003-06-25 07:17
2003.07.17
Не соединяеся с FireBird 1+Linux из winxp


6-55701
dtm
2003-05-13 18:34
2003.07.17
Соединение с IBase через Интернет


8-55660
skiph
2003-03-26 12:07
2003.07.17
Прозрачный фон рисунка


14-55756
Sheng
2003-07-02 20:37
2003.07.17
Кто чем пользуется?




   Наверх