Главная страница
    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.009 c
14-55855
Sonic-Sc
2003-06-29 19:42
2003.07.17
---|Ветка была без названия|---


14-55833
Blackweber
2003-07-01 10:49
2003.07.17
как запустить из батника несколько екзешников, без явного указани


14-55851
Тих
2003-07-02 02:17
2003.07.17
Снова шлют ерунду


6-55706
GenezZ
2003-05-10 04:21
2003.07.17
Как считать с порта?


14-55717
AstaLabista
2003-07-01 05:43
2003.07.17
где отрыть исходник нюка





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский