![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Использовал серые тусклые компоненты Делфи 7 до того, как поставил компонент XPman, думаю все хорошо, красиво, да не тут-то было. Теперь при переходе между формами, да и просто при сворачивании и разворачивании программы, идет анимация компонентов, режущая глаз. Да еще и при запуске на менее мощных компьютерах, некоторые компоненты формы вовсе не отображаются пока не свернуть/развернуть окно
...Подскажите пожалуйста, как убрать эти тормоза и оставить красивый дизайн компонентов в стиле версии Виндовс??? Возможно существует иной способ достижения этой цели??? |
|
#2
|
||||
|
||||
|
XPMan, а по сути небольшая добавка в ресурсный файл, указывающая ОС как отображать контролы тут вряд ли виновата. Скорее всего ошибка кроется где-то в коде.
|
|
#3
|
||||
|
||||
|
Цитата:
Возможно я установил этот компонент неправильно? Я просто нашел XPmanifest и добавил его на главную форму. Все. Форм в программе 7. |
|
#4
|
||||
|
||||
|
Если после удаления XPMan всё восстановится (в Win7 бывают проблемы), то записать его в ресурсный файл вручную без использования компонента.
|
|
#5
|
||||
|
||||
|
Переходи на ХЕ, он там по умолчанию включен, косяков с отображением не наблюдал.
|
|
#6
|
||||
|
||||
|
Цитата:
Так же, когда я удалил фоновую картинки, то лаги вроде прекратились. Использовал Timage на всю форму. Как сделать чтобы была и фоновая картинки и красивые дизайн компонентов? |
|
#7
|
||||
|
||||
|
Цитата:
а если создать пустой проект с такими же элементами на форме и TXPManifest, только без "ручного" кода? |
|
#8
|
||||
|
||||
|
Цитата:
|
|
#9
|
||||
|
||||
|
Зачем обязательно TImage, можно рисовать прямо на форме, можно использовать возможности ОС
Код:
...
private
{ Private declarations }
procedure WMEraseBkgnd(var Msg : TWMEraseBkgnd); message WM_EraseBkgnd;
...
var
bmBkGnd : TBitmap;
...
procedure TForm1.WMEraseBkgnd;
var
aRect : TRect;
begin
aRect := GetClientRect;
BitBlt(TWMEraseBkGnd(Msg).DC, aRect.Left, aRect.Top, aRect.Right - aRect.Left, aRect.Bottom - aRect.Top, bmBkGnd.Canvas.Handle, 0, 0, SRCCOPY);
Msg.Result := 1;
end;
...
procedure TMainForm.FormCreate(Sender: TObject);
begin
bmBkGnd := TBitmap.Create;
// грузим картинку для фона
end; |
| Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
kaktusad (22.11.2012)
| ||
|
#10
|
||||
|
||||
|
-установи у фоновой Image свойство Visible в False
-создай обработчик события OnPaint у формы: Код:
procedure TForm1.FormPaint(Sender: TObject); begin Canvas.Draw(0, 0, Image1.Picture.Graphic); end; |
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
kaktusad (22.11.2012)
| ||
|
#11
|
||||
|
||||
|
Цитата:
Кстати кнопки не глючат) Спасибо!) |