Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.08.2010, 09:53   #1
skalt12
Пользователь
 
Регистрация: 05.07.2009
Сообщений: 87
По умолчанию мигание TLabel при наведении указателя

Доброго всем дня! у меня на форме несколько TLabel'ов.. реализованы как, своего рода, кнопки. При наведении указателя меняется курсор и подчеркивается соответствующий Label.. Но вот низадача, в то время как указатель наводится на один из Label'ов, прямоугольный сектор под ним на миг заливается цветом формы..
Под XP это не наблюдается, только под 7.. Делфи 2010 использую..
Как сие пофиксить? если возможно
skalt12 вне форума Ответить с цитированием
Старый 22.08.2010, 10:22   #2
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

А можно глянуть проект? Такого глюка еще не видел...
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 22.08.2010, 10:26   #3
kakawkin
Форумчанин
 
Регистрация: 21.09.2009
Сообщений: 431
По умолчанию

используешь манифест под win7 ?
kakawkin вне форума Ответить с цитированием
Старый 22.08.2010, 10:48   #4
skalt12
Пользователь
 
Регистрация: 05.07.2009
Сообщений: 87
По умолчанию

Цитата:
Сообщение от DIgorevich Посмотреть сообщение
А можно глянуть проект? Такого глюка еще не видел...
http://rghost.ru/2407819/private/ced...85c53f7df107e7
залил.. если поводить мышью по дням недели, увидите
Цитата:
Сообщение от kakawkin Посмотреть сообщение
используешь манифест под win7 ?
нет, а надо?
skalt12 вне форума Ответить с цитированием
Старый 22.08.2010, 10:51   #5
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Это из-за использования скинов... надо код смотреть, как это у тебя реализовано, ведь нестандартно всё
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 22.08.2010, 10:52   #6
kakawkin
Форумчанин
 
Регистрация: 21.09.2009
Сообщений: 431
По умолчанию

99% да - ну попробуйте
kakawkin вне форума Ответить с цитированием
Старый 22.08.2010, 11:10   #7
skalt12
Пользователь
 
Регистрация: 05.07.2009
Сообщений: 87
По умолчанию

Цитата:
Сообщение от DIgorevich Посмотреть сообщение
Это из-за использования скинов... надо код смотреть, как это у тебя реализовано, ведь нестандартно всё
скинов? я на канве рисовал, вот кусок кода:

Код:
procedure TsubtableWin.FormCreate(Sender: TObject);
var settingz: TIniFIle;
     iRgn: integer;
begin
  settingz := TIniFile.Create(ExtractFilePath(paramStr(0)) + 'dweek.conf');
...  
  with SubtableWin do
    begin
      BorderStyle := bsNone;
      Width := 430;
      Height := 500;
      AlphaBlend := True;
      Color := TColor($00202020);
    end;

  with BackPicture do
    begin
      Picture.LoadFromFile(ExtractFilePath(paramStr(0)) + '/graphicZ/altWin/subjTableBG1.png');
      Left := 12;
      Top := 30;
    end;

  iRgn := CreateRoundRectRgn(0, 0, Width, Height, 15, 15);
  SetWindowRgn(Handle, iRgn, true);
...
   settingz.Free;
end;

<...>

procedure TsubtableWin.FormPaint(Sender: TObject);
begin
  canvas.Brush.Color := TColor($00404040);
  canvas.Font.Name := 'Arial';
  canvas.Font.Size := 8;
  canvas.Font.Color := clWindow;
  canvas.TextRect(Rect(0, 0, Width, 15), 20, 1, 'Расписание');

  canvas.Brush.Style := bsClear;
  canvas.Pen.Color := TColor($00848484);
  canvas.RoundRect(1, 1, Width -2, Height -2, 15, 15);
end;
skalt12 вне форума Ответить с цитированием
Старый 22.08.2010, 11:14   #8
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Скорее всего, каждый раз при переходе с лейбла на лейбл, вызывается Repaint формы.
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 22.08.2010, 11:33   #9
skalt12
Пользователь
 
Регистрация: 05.07.2009
Сообщений: 87
По умолчанию

Цитата:
Сообщение от DIgorevich Посмотреть сообщение
Скорее всего, каждый раз при переходе с лейбла на лейбл, вызывается Repaint формы.
procedure TsubtableWin.Label1MouseEnter(Sende r: TObject);
begin
Label1.Font.Style := [fsUnderLine];
end;

procedure TsubtableWin.Label1MouseLeave(Sende r: TObject);
begin
Label1.Font.Style := [];
end;
skalt12 вне форума Ответить с цитированием
Старый 22.08.2010, 11:35   #10
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Тогда точно глюк Даже не знаю чем помочь...
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение кнопки при навдении указателя мыши Syltan JavaScript, Ajax 3 25.05.2010 15:41
Увеличение изображения при наведении указателя Savato HTML и CSS 2 07.10.2009 22:39
Изменение вида Image при наведении указателя Сергей А Помощь студентам 3 05.08.2007 15:26
Как сделать чтоб грузилась 2-ая картинка при наведении указателя? Roof Помощь студентам 5 02.08.2007 12:08
Мигание при движении Speeker Общие вопросы Delphi 1 14.02.2007 01:22