Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / MDI приложение / 5 сообщений из 5, страница 1 из 1
16.09.2003, 10:26
    #32265992
Белов Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDI приложение
Подскажите плиз, каким образом сделать такую вещь в MDI приложении
чтобы в основном окне можно было бы разместить логотип - как например сделано в WinRoute 4
...
Рейтинг: 0 / 0
16.09.2003, 10:43
    #32266029
CrazyMihey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDI приложение
Что-то не понял... В смысле, на тёмно-сером фоне пустоты главной Формы картинку нарисовать? А чем, к примеру, TImage не подходит? ( WinRoute , к сожалению, сейчас под рукой нет)
...
Рейтинг: 0 / 0
16.09.2003, 10:58
    #32266066
Белов Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDI приложение
Совершенно правильно
Извини за корявое объясниение.
...
Рейтинг: 0 / 0
16.09.2003, 11:10
    #32266084
CrazyMihey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDI приложение
Да уж, на Canvas е рисовать пока что не получилось, но TImage или TPaintBox.Canvas работает, а для логотипчика этого, по идее, достаточно, даже для „живого” .
...
Рейтинг: 0 / 0
16.09.2003, 14:11
    #32266476
SmaLL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDI приложение
Из фака борланда
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
Question:
How do I display a bitmap to the client area of an MDI parent form? 
Answer:
Here are the necessary steps to add wallpaper to a MDI parent
form:


Create a new project
Set the form's FormStyle to fsMDIForm
Drop an image on the form and select a bitmap into it.
Find the { Private Declarations } comment in the form's
   definition and add these lines right after it:

    FClientInstance : TFarProc;
    FPrevClientProc : TFarProc;
    procedure ClientWndProc(var Message: TMessage);

Find the  "implementation"  line and the {$R *.DFM} line that
   follows it. After that line, enter this code:

procedure TMainForm.ClientWndProc(var Message: TMessage);
var
  Dc : hDC;
  Row : Integer;
  Col : Integer;
begin
  with Message do
    case Msg of
      WM_ERASEBKGND:
      begin
        Dc := TWMEraseBkGnd(Message).Dc;
        for Row :=  0  to ClientHeight div Image1.Picture.Height do
          for Col :=  0  to ClientWidth div Image1.Picture.Width do
            BitBlt(Dc,
               Col * Image1.Picture.Width,
               Row * Image1.Picture.Height,
               Image1.Picture.Width,
               Image1.Picture.Height,
               Image1.Picture.Bitmap.Canvas.Handle,
                0 ,
                0 ,
               SRCCOPY);
          Result :=  1 ;
      end;
      else
        Result := CallWindowProc(FPrevClientProc,
                                 ClientHandle,
                                 Msg,
                                 wParam,
                                 lParam);
  end;
end;

In the OnCreate method for the form, type the following lines
of code:

   FClientInstance := MakeObjectInstance(ClientWndProc);
   FPrevClientProc := Pointer(GetWindowLong(ClientHandle,
                              GWL_WNDPROC));
   SetWindowLong(ClientHandle,
                 GWL_WNDPROC, LongInt(FClientInstance));

Add a new form to your project and set its FormStyle property to
fsMDIChild.



Now you have a working MDI project with  "wallpaper"  where the image
bitmap is tiled to cover the MDI form's client area.

...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / MDI приложение / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]