0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 4
1

Отобразить существующие компоненты на только что созданном GroupBox

25.10.2010, 00:39. Показов 3271. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создал я, значит, GroupBox. Теперь пытаюсь поместить на него уже имеющиеся компоненты, но после перемещения их (имеющихся компонентов) становится не видно. Понятно, что проблема решается созданием новых компонентов, и помещением их в GroupBox, но это не очень удобно. Точнее это ОЧЕНЬ неудобно!
Существуют ли другие способы решения этой проблемы?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2010, 00:39
Ответы с готовыми решениями:

Динамическое размещение TextBox-ов в динамически созданном GroupBox
Доброго всем времени суток! Пишу программу под VB и столкнулся со следующей проблемой - Не могу...

Компоненты внутри groupbox'a
Добрый день всем! Подскажите, как узнать программно какие компоненты находятся в groupbox?

Как добавлять компоненты на GroupBox?
Как поставить на GroupBox лейблы и другие компоненты не как не пойму?

Как отобразить вкладку визуального конструктора в уже созданном проэкте
Подскажите, как отобразить вкладку визуального конструктора в уже созданном проэкте WindowsForms?

7
161 / 159 / 39
Регистрация: 10.10.2010
Сообщений: 461
25.10.2010, 01:24 2
Вырежи которые нужно вставить групбокс и вставь их потом туда
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
25.10.2010, 02:54 3
Не думал, что пишущие на этом форуме не знакомы с Ctrl + X/Ctrl + V...
0
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 4
25.10.2010, 12:23  [ТС] 4
И как я не догадался!
0
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
25.10.2010, 12:40 5
Ещё можно через правку DFM файла. Для этого надо перейти на форму и нажать Alt+F12. Произойдёт переход к текстовому представлению формы. В результате мы увидим следующее:
Delphi
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
object Form1: TForm1
  Left = 192
  Top = 114
  Width = 870
  Height = 640
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object GroupBox1: TGroupBox
    Left = 144
    Top = 64
    Width = 297
    Height = 305
    Caption = 'GroupBox1'
    TabOrder = 0
  end
  object Button1: TButton
    Left = 464
    Top = 64
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 1
  end
  object Button2: TButton
    Left = 464
    Top = 96
    Width = 75
    Height = 25
    Caption = 'Button2'
    TabOrder = 2
  end
end
Теперь переносим кнопки внутрь определяения TGroupBox. Так как координаты кнопок теперь определяются относительно левого верхнего угла TGroupBox, то чтобы они (кнопки) оказались в зоне видимости, можно, также подправить их значения Left и Top:
Delphi
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
object Form1: TForm1
  Left = 192
  Top = 114
  Width = 870
  Height = 640
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object GroupBox1: TGroupBox
    Left = 144
    Top = 64
    Width = 297
    Height = 305
    Caption = 'GroupBox1'
    TabOrder = 0
    object Button1: TButton
      Left = 10
      Top = 10
      Width = 75
      Height = 25
      Caption = 'Button1'
      TabOrder = 1
    end
    object Button2: TButton
      Left = 10
      Top = 40
      Width = 75
      Height = 25
      Caption = 'Button2'
      TabOrder = 0
    end
  end
end
После этого опять нажимаем Alt+F12 и переходим в обычный режим визуального проектирования формы.
---
Это очень полезное средство. Например, с помощью редактора текстового представления формы можно решить такую проблему. Предположим, нам надо сделать что-то вроде калькулятора, где кнопки располоежны вполную друг к другу. После расстановки кнопок может получиться некрасивый вид - Рис1. Это происходит потому, что порядок следования кнопок на форме отличается от порядка следования в DFM файле:
Delphi
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
object Form1: TForm1
  Left = 531
  Top = 343
  Width = 525
  Height = 442
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 88
    Top = 160
    Width = 65
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
  end
  object Button2: TButton
    Left = 88
    Top = 112
    Width = 65
    Height = 25
    Caption = 'Button2'
    TabOrder = 1
  end
  object Button3: TButton
    Left = 88
    Top = 88
    Width = 65
    Height = 25
    Caption = 'Button3'
    TabOrder = 2
  end
  object Button4: TButton
    Left = 88
    Top = 184
    Width = 65
    Height = 25
    Caption = 'Button4'
    TabOrder = 3
  end
  object Button5: TButton
    Left = 88
    Top = 136
    Width = 65
    Height = 25
    Caption = 'Button5'
    TabOrder = 4
  end
end
Теперь приводим последовательность объявления кнопок в тексте DFM в соответствие с их положением на форме:
Delphi
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
object Form1: TForm1
  Left = 531
  Top = 343
  Width = 525
  Height = 442
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Button3: TButton
    Left = 88
    Top = 88
    Width = 65
    Height = 25
    Caption = 'Button3'
    TabOrder = 2
  end
  object Button2: TButton
    Left = 88
    Top = 112
    Width = 65
    Height = 25
    Caption = 'Button2'
    TabOrder = 1
  end
  object Button5: TButton
    Left = 88
    Top = 136
    Width = 65
    Height = 25
    Caption = 'Button5'
    TabOrder = 4
  end
  object Button1: TButton
    Left = 88
    Top = 160
    Width = 65
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
  end
  object Button4: TButton
    Left = 88
    Top = 184
    Width = 65
    Height = 25
    Caption = 'Button4'
    TabOrder = 3
  end
end
В результате на форме кнопки теперь расположены ровно - Рис2.
Миниатюры
Отобразить существующие компоненты на только что созданном GroupBox   Отобразить существующие компоненты на только что созданном GroupBox  
2
161 / 159 / 39
Регистрация: 10.10.2010
Сообщений: 461
25.10.2010, 16:11 6
Mawrat, хорошая пояснительная записка, но если человек просто забыл про красивые комбинации клавиш и о их значении как думаеш что он может сделать при редактировании dfm
0
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
25.10.2010, 16:15 7
Про скопировать/вставить - всё правильно. Я про DFM написал в качестве дополнительного материала.
0
161 / 159 / 39
Регистрация: 10.10.2010
Сообщений: 461
25.10.2010, 16:27 8
За что и получил +1 в спасибки
мне твоя инфа понравилась, иногда полезно вспомнить елементарные вещи о которых давно забыл
0
25.10.2010, 16:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2010, 16:27
Помогаю со студенческими работами здесь

Как вывести компоненты сверху GroupBox
Компоненты(радио кнопки) создаю в коде, а груп боксы уже на форме лежат, но они перекрывают...

Отобразить в ListView только что добавленную строку из БД
Здравствуйте! У меня есть на первой форме ListView, который отображает таблицу базы данных. С этой...

При выборе пункта меню отобразить соответствующий GroupBox
Идея такая : Выбрал один из пунктов меню и появилась соответствующий Групбокс (через свойство...

Открыть только что созданный файл, затем закрыть и отобразить в listbox
как открыть только что созданный файл, затем закрыть и чтоб его название или первая строка там...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru