Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 334

/ вопрос открыт /

Здравствуйте!
Моя проблема в следующем:
На форме имеется панель, нужно чтоб при создании формы панель меняла свой цвет, по идее как мне кажется код должен выглядеть так как указано в приложении, но у меня он почемуто не работает, вот мне и интересно почему?
Если кто знает в чем проблема прошу отпишите.

Приложение:
  1. procedure TForm1.FormCreate(Sender: TObject);
  2. begin
  3. Form1.Panel1.Color:=ClWhite;
  4. end;


SOA Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: SOA (статус: Посетитель)
Вопрос отправлен: 16 июня 2010, 08:49
Состояние вопроса: открыт, ответов: 2.

Ответ #1. Отвечает эксперт: min@y™

Сделай у панели

Panel.ParentColor:= False;
Panel.ParentBackground:= False;
Panel.Color:= clWhite;

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 16 июня 2010, 09:06
Оценка за ответ: 5

Комментарий к оценке: Действительно если в коде прописать работает, а если в object inspector, то нет.

Ответ #2. Отвечает эксперт: Fantom

Здравствуйте, SOA!
Ну этот код приведет просто к созданию белой панели. А если хочешь чтоб она меняла цвет,то один из вариантов это на движение мышки? при проведении мышью над панелью панель сменит цвет.

Ответ отправил: Fantom (статус: 2-ой класс)
Время отправки: 16 июня 2010, 12:11


Мини-форум вопроса

Всего сообщений: 35; последнее сообщение — 17 июня 2010, 09:46; участников в обсуждении: 3.

Страницы: [1] [2] [Следующая »]

DNK

DNK (статус: Студент), 16 июня 2010, 08:58 [#1]:

Должно работать. Ещё проверь назначен ли этот обработчик на соответсвующее событие OnCreate формы. Почему бы сразу не выставить в дизайнере форм нужный цвет?
"Digital Networked Knight"
SOA

SOA (статус: Посетитель), 16 июня 2010, 09:00 [#2]:

Нет ни Error's ни Worning's, потому и пишу.
SOA

SOA (статус: Посетитель), 16 июня 2010, 09:02 [#3]:

DNK:Почему бы сразу не выставить в дизайнере форм нужный цвет?
Потому что задача стоит изменять его програмно бегунками, но покачто не до хорошего, так как он даже так как написано не меняется.
DNK

DNK (статус: Студент), 16 июня 2010, 09:08 [#4]:

Поставь в эту строчку точку остановки и запусти. Так ты проверишь, выполняется ли данный код вообще.
"Digital Networked Knight"
SOA

SOA (статус: Посетитель), 16 июня 2010, 09:12 [#5]:

Так оно же по умолчанию так и стоит, но цвет не меняется.
Когда бегунками пытаюсь менять использую функцию RGB, то когда в следующий раз вызываю форму для изменения цвета бегунки стоят так как будто цвет изменился, но в реале цвет остается прежним.
Пытался через Panel1.Refresh и Panel1.Repaint тоже не работает.
SOA

SOA (статус: Посетитель), 16 июня 2010, 09:21 [#6]:

Всем спасибо за участие.
min@y™

min@y™ (статус: Доктор наук), 16 июня 2010, 09:22 [#7]:

Цитата (SOA):

Действительно если в коде прописать работает, а если в object inspector, то нет.

Неправда! Спорим на ящик пива?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
SOA

SOA (статус: Посетитель), 16 июня 2010, 10:50 [#8]:

Даже спорить не буду, потому что у меня именно так и было в инспекторе проставлено false и не работало, а после того как в коде прописал все зашуршало.
DNK

DNK (статус: Студент), 16 июня 2010, 11:35 [#9]:

Странная история... :-/ Я ни как обратного эффекта не могу добиться.
"Digital Networked Knight"
min@y™

min@y™ (статус: Доктор наук), 16 июня 2010, 11:50 [#10]:

Цитата (SOA):

Даже спорить не буду, потому что у меня именно так и было в инспекторе проставлено false и не работало,


А у меня работает. Могу скриншот прислать.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
SOA

SOA (статус: Посетитель), 16 июня 2010, 12:01 [#11]:

У меня временами такое случается, помню один раз даже какаято процедура, документированная в help delphi не работала как я ни пытался, а когда на следующий день начал работать с этим же исходником, все было нормально.
Я думаю что это либо особенности железа, либо особенности моего дистрибутива которые я использую.
min@y™

min@y™ (статус: Доктор наук), 16 июня 2010, 12:09 [#12]:

Цитата (SOA):

Я думаю что это либо особенности железа, либо особенности моего дистрибутива которые я использую.


Ага, во всём виноваты магнитные бури!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
DNK

DNK (статус: Студент), 16 июня 2010, 12:16 [#13]:

min@y™:

Цитата:

Могу скриншот прислать.
Не думаю что тебя кто-то обманывает, и в твою честность мы верим. Будет правильней, если ты и SOA обменяетесь проектами, и сравните их у себя.
"Digital Networked Knight"
min@y™

min@y™ (статус: Доктор наук), 16 июня 2010, 12:47 [#14]:

Цитата (DNK):

Будет правильней, если ты и SOA обменяетесь проектами, и сравните их у себя.


Да пожалуйста!

p4334.dpr
program p4334;
 
uses
  Forms,
  Main in 'Main.pas' {Form1};
 
{$R *.res}
 
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Main.pas

unit Main;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Panel1: TPanel;
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
end.

Main.dfm

object Form1: TForm1
  Left = 499
  Top = 372
  Width = 256
  Height = 187
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Panel1: TPanel
    Left = 32
    Top = 56
    Width = 185
    Height = 41
    Caption = #1055#1072#1085#1077#1083#1100' '#1063#1054#1056#1053#1040#1071' !!!'
    Color = clBlack
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clYellow
    Font.Height = -11
    Font.Name = 'Tahoma'
    Font.Style = []
    ParentBackground = False
    ParentFont = False
    TabOrder = 0
  end
end
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

16 июня 2010, 13:08: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » Работа с компонентами и библиотеками модератором Ерёмин А.А.

SOA

SOA (статус: Посетитель), 16 июня 2010, 13:26 [#15]:

Покачто не могу выложить исходники т.к. проект коммерческий в некотором роде, но через два дня если не выгорит, то выложу на depositfiles.
А что до обмана, так подумайте сами зачем мне когото обманывать и спрашивать ответ на вопрос, которого нет?
SOA

SOA (статус: Посетитель), 16 июня 2010, 13:32 [#16]:

To Fantom:
Смена цвета уже реализована, просто не работал именно тот метод, что описан в приложении к вопросу ;)
min@y™

min@y™ (статус: Доктор наук), 16 июня 2010, 13:59 [#17]:

Цитата (SOA):

Покачто не могу выложить исходники т.к. проект коммерческий в некотором роде,


Создай новый проект, положи на форму панель и выстави в Object Inspector нужные свойства. Затем выложи этот проект сюда.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
SOA

SOA (статус: Посетитель), 16 июня 2010, 14:17 [#18]:

Все нашел загвоздку: для того чтоб все выглядело нормально я использовал XPManifest, он то и вызывал спецэффекты.

Вот код, у меня не работает, как у вас будет не знаю

====================================================
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ComCtrls, XPMan;

type
TForm1 = class(TForm)
Panel1: TPanel;
XPManifest1: TXPManifest;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
Panel1.Color:=RGB(10,12,38);
end;

end.
min@y™

min@y™ (статус: Доктор наук), 16 июня 2010, 14:24 [#19]:

Попробовал с манифестом - те же яйца, чтолько в профиль. Панель как была чёрной, так и осталась. Как во время разработки, так и после запуска.

Чото ты не договаривешь!...
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
SOA

SOA (статус: Посетитель), 16 июня 2010, 14:32 [#20]:

Качаем, смотрим
http://depositfiles.com/files/1mesy9uzv
;)

Страницы: [1] [2] [Следующая »]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:40
Выполнено за 0.04 сек.