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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> линия в пиксель между caption формы и рабочей обла, как убрать, закрасить 
:(
    Опции темы
Rennigth
Дата 12.1.2005, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



у меня на форме есть TImage align = altop, мне нужно чтобы имедж этот сливался с кэпшеном, но появляетя линия в 1 пиксел цвета формы. + сложность в том что я не могу перехваить NCPaint и другие - сообщения, т.к. используется скиновый компонент(типа красивая форма) перехватывает чутли не все сообщения начальной прорисовки и позиционирования рабочей области). Может можно както просто закрасить эту область(цвет известен)? буду благодарен лубым советам. smile


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
<Spawn>
Дата 12.1.2005, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

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



В OnPaint формы рисуй на Canvas - е формы эту линию.


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Rennigth
Дата 12.1.2005, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



<Spawn>
Цитата

В OnPaint формы рисуй на Canvas - е формы эту линию.

пытался, y = 0 это не эта линия, все равно промежуток остается smile


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Snowy
Дата 12.1.2005, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



Что-то у меня нету никакой линии. Могет это потому что у меня в XP стили не отключены...
Если уж ты рисуешь скиновую форму, то зачем тебе стандартный заголовок? Рамку формы в ноне и рисуй свой верх.
Еще идеи: Поменять тип рамки формы на другой, а имадж лежит не на панели? А отключить свойство Ctl3D...
Я бы подсказал бы еще что-нить, но НЕТУ у меня никакой линии...
PM MAIL   Вверх
<Spawn>
Дата 12.1.2005, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

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



Попробуй поставить в OnPaint:

Код

procedure TForm1.FormPaint(Sender: TObject);
var
 WindowCanvas: TCanvas;
 CaptionHeight: integer;
begin
 WindowCanvas := TCanvas.Create;
 try
   CaptionHeight := GetSystemMetrics(SM_CYCAPTION) + GetSystemMetrics(SM_CYFIXEDFRAME);
   WindowCanvas.Handle := GetWindowDC(Handle);
   WindowCanvas.MoveTo(0, CaptionHeight);
   WindowCanvas.LineTo(Width, CaptionHeight);
 finally
   FreeAndNil(WindowCanvas);
 end;
end;



--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
<Spawn>
Дата 12.1.2005, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

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



Только что бы все правильно работало, этот код нужно еще дописать в WM_NCHITTEST, иначе при наступлении этого события происходит затирание линии.


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Rennigth
Дата 12.1.2005, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата

Если уж ты рисуешь скиновую форму, то зачем тебе стандартный заголовок? Рамку формы в ноне и рисуй свой верх.

сейчас так и сделано, но учитывая что форм в проекте штук 50 и при изменении скина ее тоже надо-будет менять smile

Цитата

Еще идеи: Поменять тип рамки формы на другой, а имадж лежит не на панели? А отключить свойство Ctl3D...

да все я пробовал...

это походу скины такие надо их править smile



Добавлено @ 16:24
<Spawn>
попробую, спс


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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