Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение свойства Visible для компонетов, и контейнеры компонентов [CodeGear,XP] 
V
    Опции темы
Urvin
Дата 1.2.2008, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 1.6.2006

Репутация: нет
Всего: нет



Суть: есть несколько компонентов-контейнеров Panel, которые время от времени пропадают и исчезают с экрана
В контейнерах есть такие элементы управления, такие как кнопки, поля редактирования

Пусть: в Panel1 находится Button1. Мне хотелось бы заранее "спрятать" эту кнопку, причем Panel1 в текущем состоянии не видна.

Сейчас я ставлю Button1.Visible:=False. Позже задаю Panel1.Visible=True и... вижу эту самую кнопку!

Как можно справиться с этой проблемой?
PM MAIL   Вверх
Exai1e
Дата 1.2.2008, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: 2
Всего: 30



воть
Код

implementation

{$R *.dfm}

procedure TForm2.Button2Click(Sender: TObject);
begin
  Panel1.Visible := true;
end;

//естесно бутон 1 невидимый т.к. он пренадлежит форме а не панели
procedure TForm2.FormCreate(Sender: TObject);
begin
  Button1.Parent := Form2;
end;

end.


и тогда кнопка не зависит от панели

Это сообщение отредактировал(а) Exai1e - 1.2.2008, 21:18


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
Urvin
Дата 1.2.2008, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 1.6.2006

Репутация: нет
Всего: нет



Exai1e, Это, как мне кажется, совсем не то. Кнопка у меня должна периодически пропадать, и периодически проявляться именно на панели.
Потом, графическая часть интерфейса дельфей и так практически слаба, менять постоянно родителей - много мороки.
А в зависимости от положения панели набор из 30 контролов тоже не подарок =(

решаем в целом такую проблему
Код

// Button1 находится в panel1

// Сначала жмем эту кнопку
procedure TForm1.Button2Click(Sender: TObject);
begin
  panel1.Visible:=False;
  Button1.Visible:=False;
end;

// А потом эту
procedure TForm1.Button3Click(Sender: TObject);
begin
  Panel1.Visible:=True;
  // И вот тут-то и оказывается кнопка видна. лажа.
end;

PM MAIL   Вверх
Exai1e
Дата 1.2.2008, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: 2
Всего: 30



Цитата

Потом, графическая часть интерфейса дельфей и так практически слаба 
 smile  smile  smile  ни - ни ! просто надо чуток подумать ;)
Urvin
Составь алгоритм чего ты хочеш получить в конце на бумаге, ручкой там или карандашом и думай как решить ту или иную проблему, разложи все по пунктам, и тут придет решение той или иной проблемы, ,сам это понял smile

ЗЫ либо изложи более подробно проблему, т.е. что должно по сути из себя представлять твое творение, не в подробностях а именно то что связанно с этими непонятками

Это сообщение отредактировал(а) Exai1e - 1.2.2008, 21:58


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
Urvin
Дата 1.2.2008, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 1.6.2006

Репутация: нет
Всего: нет



Да мне ничего, короме того, как отключить показ кнопки по приведенному выше коду пока не надо.

Я, конечно, могу сначала показать Panel1, а потом (тут же) указать Button1.Visible:=False, но кнопка успеет прорисоваться и испортит впечатление о приложении.

Я не понимаю, почему если я явно указал кнопке невидимость, то она появляется вне зависимости от мего желания
PM MAIL   Вверх
THandle
Дата 1.2.2008, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



Цитата(Urvin @  1.2.2008,  21:23 Найти цитируемый пост)
// И вот тут-то и оказывается кнопка видна. лажа.

Все у меня нормально. Кнопка не видна. Уверен что больше ни где не стаишь ей Visible в true?
PM   Вверх
Exai1e
Дата 1.2.2008, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: 2
Всего: 30



Цитата

Пусть: в Panel1 находится Button1. Мне хотелось бы заранее "спрятать" эту кнопку, причем Panel1 в текущем состоянии не видна.

Сейчас я ставлю Button1.Visible:=False. Позже задаю Panel1.Visible=True и... вижу эту самую кнопку!



visible : button1, panel1 := false; 
на старте


потом 
Код

  Panel1.Visible:=True;


PS Кнопка не най находиться, появление кнопки заменить не успеваю... глянуть бы весь код че к чему  ты пытаешся добится

либо попробуй если уж так все замароченно, хотя херовый вариант
Код

Application.ProcessMessages;
Sleep(10);


перед появлением кнопки.

Это сообщение отредактировал(а) Exai1e - 1.2.2008, 22:13


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
Urvin
Дата 2.2.2008, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 1.6.2006

Репутация: нет
Всего: нет



Проблема решена путем пропатчивания версии дельфей
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0823 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.