Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Основная";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
1-55504
servs
2003-07-03 20:43
2003.07.17
графическое меню


1-55570
Andrey02
2003-07-02 01:37
2003.07.17
Измениить большое количество Excel.Application на WorkBook


1-55515
Poirot
2003-07-04 10:36
2003.07.17
Проблема с хранением больших числовых массивов


14-55753
SergBBS
2003-07-03 10:37
2003.07.17
FB - Domain


4-55883
BigDaddy
2003-05-11 14:02
2003.07.17
Правильный синтаксис AdjustTokenPrivileges???





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский