Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.21;
Скачать: CL | DM;

Вниз

Плавающие панели как в Photoshop   Найти похожие ветки 

 
tio   (2007-08-09 13:30) [0]

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


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

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


 
{RASkov} ©   (2007-08-10 01:53) [2]

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

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-10 02:08) [3]


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

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

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


 
{RASkov} ©   (2007-08-10 02:30) [4]

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

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

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

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


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


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

На то есть McSimm.


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

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


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

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


 
{RASkov} ©   (2007-08-10 11:47) [7]

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

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

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

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


 
Romkin ©   (2007-08-10 11:59) [8]

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



Страницы: 1 вся ветка

Текущий архив: 2007.10.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.047 c
2-1190800377
O.O
2007-09-26 13:52
2007.10.21
Как удалить файл с атрибутом "только для чтения"


2-1190567395
Bast
2007-09-23 21:09
2007.10.21
Проблема


2-1190796642
F@T@L_Err0r
2007-09-26 12:50
2007.10.21
TColor


2-1190864983
DevilDevil
2007-09-27 07:49
2007.10.21
Hint в произвольном месте. Помогите пожалуйста.


3-1182110534
mysql
2007-06-18 00:02
2007.10.21
regexp и кириллица в mysql





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