Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Плавающие панели как в Photoshop [D6]


tio ©   (2007-08-09 13:30:00) 

Уважаемые мастера, можно ли как-нибудь обойти
проблему с фокусом плавающей формы для MDI.
Для не MDI с CreateParams все работает, нужно сделать как в Photoshope.
Кто может помочь.
Заранее спасиюо.


Romkin   (2007-08-10 11:59:00) [1]

Просто делаешь форму без заголовка. В старых версиях фотошопа, если не ошибаюсь, все заголовки просто ручками прорисованы, они не системные


{RASkov}   (2007-08-10 11:47:00) [2]

> [6] $FF00FF   (10.08.07 08:17)
> вопрос непонятен,и - второй пост КОД!!!

Дык без четкого вопроса код легче всего дать :о)
Тем более кода в данном случае полторы строчки, а остольное просто ресурс формы(dfm) и целиком Unit, т.е. практически вся программа целиком )

> вопрос предельно чётко и ясно сформулирован, указано, в
> чём проблема,и- автора мурыжат тупыми вопросами и указаниями

:) Здесь от многого зависит ответ.... и это не так просто, как дать "примерный" код....


$FF00FF   (2007-08-10 08:17:00) [3]

Удалено модератором
Примечание: offtop


Германн   (2007-08-10 02:44:00) [4]


> {RASkov} ©   (10.08.07 02:30) [4]
>
> > Он ведь не резиновый!
>
> А что творится в "прочие"... или как раз для него и не хватает?
>  :)
>

На то есть McSimm.


> Собственно..... немного согласен, нужно и придерживаться.
> .. иногда.)
>

Угу. Не нужно давать "широкие" ответы на неясные вопросы. Себе же хуже, как правило.


{RASkov}   (2007-08-10 02:30:00) [5]

> Он ведь не резиновый!

А что творится в "прочие"... или как раз для него и не хватает? :)

> найди у себя "концевой выключатель"!

Вот как раз там("прочие") он у меня почему-то работает :)
Собственно..... немного согласен, нужно и придерживаться... иногда.)


Германн   (2007-08-10 02:08:00) [6]


> Врочем [1] +1 т.е. разъяснение не помешает....

А зачем тогда нужно было "захламлять" форум? Он ведь не резиновый!

Саш. Твоё рвение меня радует. Но найди у себя "концевой выключатель"! :)


{RASkov}   (2007-08-10 01:53:00) [7]

Может быть что-нибудь вот так:

DFM:
object Form1: TForm1
 Left = 192
 Top = 114
 AutoScroll = False
 Caption = 'Form1'
 ClientHeight = 390
 ClientWidth = 709
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = 'MS Sans Serif'
 Font.Style = []
 OldCreateOrder = False
 Position = poDefault
 Visible = True
 PixelsPerInch = 96
 TextHeight = 13
 object Panel1: TPanel
   Left = 8
   Top = 52
   Width = 185
   Height = 89
   TabOrder = 0
   object Label1: TLabel
     Left = 1
     Top = 1
     Width = 183
     Height = 13
     Align = alTop
     Alignment = taCenter
     Caption = 'Ieaaa?uay iaiaeu'
     Color = clHighlight
     ParentColor = False
     OnMouseDown = Label1MouseDown
   end
   object SpeedButton1: TSpeedButton
     Left = 12
     Top = 56
     Width = 23
     Height = 22
   end
   object CheckBox1: TCheckBox
     Left = 12
     Top = 28
     Width = 97
     Height = 17
     Caption = 'CheckBox1'
     TabOrder = 0
   end
   object Edit1: TEdit
     Left = 52
     Top = 56
     Width = 121
     Height = 21
     TabOrder = 1
     Text = 'Edit1'
   end
 end
 object Panel2: TPanel
   Left = 12
   Top = 144
   Width = 185
   Height = 137
   TabOrder = 1
   object Label2: TLabel
     Left = 1
     Top = 1
     Width = 183
     Height = 13
     Align = alTop
     Alignment = taCenter
     Caption = 'Ieaaa?uay iaiaeu'
     Color = clHighlight
     ParentColor = False
     OnMouseDown = Label1MouseDown
   end
   object ComboBox1: TComboBox
     Left = 20
     Top = 24
     Width = 145
     Height = 21
     ItemHeight = 13
     TabOrder = 0
     Text = 'ComboBox1'
   end
   object ProgressBar1: TProgressBar
     Left = 16
     Top = 100
     Width = 150
     Height = 17
     Position = 30
     TabOrder = 1
   end
   object TrackBar1: TTrackBar
     Left = 12
     Top = 48
     Width = 157
     Height = 45
     Position = 5
     TabOrder = 2
   end
 end
 object Panel3: TPanel
   Left = 0
   Top = 0
   Width = 709
   Height = 41
   Align = alTop
   Caption = 'Panel3'
   TabOrder = 2
 end
end

PAS
unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ComCtrls, Buttons, ExtCtrls;

type
 TForm1 = class(TForm)
   Panel1: TPanel;
   Label1: TLabel;
   CheckBox1: TCheckBox;
   SpeedButton1: TSpeedButton;
   Edit1: TEdit;
   Panel2: TPanel;
   Label2: TLabel;
   Panel3: TPanel;
   ComboBox1: TComboBox;
   ProgressBar1: TProgressBar;
   TrackBar1: TTrackBar;
   procedure Label1MouseDown(Sender: TObject; Button: TMouseButton;
     Shift: TShiftState; X, Y: Integer);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 (Sender as TControl).Parent.BringToFront;
 if Button=mbLeft then begin
  ReleaseCapture; (Sender as TControl).Parent.Perform(WM_SYSCOMMAND, $F012, 0);
 end;
end;

end.

Правда это не MDI пример, но суть "плавующих панелей" одна.... Можно и Snap организовать и Docking....
Врочем [1] +1 т.е. разъяснение не помешает....


Юрий Зотов   (2007-08-09 23:19:00) [8]

ЭЭЭ... можно чуть подробнее?


Наверх

Титульная страница Поиск, карта сайта Написать письмо