powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / MDI приложение
5 сообщений из 5, страница 1 из 1
MDI приложение
    #32265992
Фотография Белов Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите плиз, каким образом сделать такую вещь в MDI приложении
чтобы в основном окне можно было бы разместить логотип - как например сделано в WinRoute 4
...
Рейтинг: 0 / 0
MDI приложение
    #32266029
Фотография CrazyMihey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то не понял... В смысле, на тёмно-сером фоне пустоты главной Формы картинку нарисовать? А чем, к примеру, TImage не подходит? ( WinRoute , к сожалению, сейчас под рукой нет)
...
Рейтинг: 0 / 0
MDI приложение
    #32266066
Фотография Белов Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совершенно правильно
Извини за корявое объясниение.
...
Рейтинг: 0 / 0
MDI приложение
    #32266084
Фотография CrazyMihey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уж, на Canvas е рисовать пока что не получилось, но TImage или TPaintBox.Canvas работает, а для логотипчика этого, по идее, достаточно, даже для „живого” .
...
Рейтинг: 0 / 0
MDI приложение
    #32266476
Фотография SmaLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из фака борланда
Код: 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
5 сообщений из 5, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / MDI приложение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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