Содержание
  ДОМОЙ
  НОВОСТИ  
  IT АКАДЕМИЯ
  WAP-ВЕРСИЯ
  ФОРУМ
  БЕЗОПАСНОСТЬ
  ПРОГРАММИРОВАНИЕ
  ИНСТРУМЕНТ ВЕБМАСТЕРА
  ВСЁ ДЛЯ КПК
  СТАТЬИ NEW
  СОФТ
  ВИДЕО
  X-INFO
  ПРОКСИ ЛИСТ
  IT МУЗЫКА
  АНЕКДОТЫ
  ССЫЛКИ
  ТЕХ. ПОДДЕРЖКА
  ПРАВООБЛАДАТЕЛЯМ
  О НАС

 

Ваш IP

3.128.172.185

Человек на сайте На сайте: 429 человек(а)

Здесь могла бы
быть Ваша
РЕКЛАМА




Создание собственного скина. Окна "неправильной" формы без единой строчки кода!
 



Итак начнём с конца =). Я покажу что у нас получиться, думаю тебя зайнтригует =).



Для примера я быстренько слепил картинку с белым фоном, на рисунке виден результат, причём скин имеет именно такую форму, которую ты ей придал на картинке. Самое интересное, что не нужно писать не единой строчки кода! Да-да! Итак, приступим, наши инструменты - либо cpp builder либо delphi. Если ты уже вытащил сие из своих широких штанин, продолжим. Бери свой пикчер (напомню он должен быть *.bmp) и начинаем, для начала урони на форму компонент TImage, и загрузи в него свой битмап. Готово? Тогда устанавливай в свойствах TImage'a свойство autosize=true и координаты left и top по нулю. Далее выдели форму, и в её свойствах устанавливай autosize=true; borderstyle=bsNone; Теперь форма должна плотно "облегать" твою картинку без промежутков. Далее, самое интересное, в свойствах той же формы установи TransparentColor=true а TransparentColorValue=цвет фона твоей картинки, то есть тот цвет, который НЕ должен отображаться у тебя на форме, в нашем случае TransparentColorValue=clWhite.
Всё! Теперь компиль проект и наслаждайся! Несколько вопросов, первый - убийственный , мне задаёт почти каждый, после прочтения статьи. Первый вопрос - я взял jpeg, сконвертнул в bmp а фон нифига не исчез, как же так! А вот так, машина это вам не человек, что для тебя белый - то для неё ещё тысяча оттенков белого! При конвертации в JPEG краски "искажаются", т.е. код цвета начинает отклоняться, а это недопустимо в нашем случае, цветовой код фона картинки должен совпасть с цветовым кодом выбранным в TransparentColorValue, тогда будет всё ок, именно по этому я и советую использовать битмап! И второй вопрос, из области extended, это, как сделать так, чтобы можно было перетаскивать окно. Создай обработчик в компоненте TImage - onMouseDown далее, что у тебя должно получиться(для дельфи, для cpp builder всё делается аналогично, только изменяется синтаксис) :

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
   ReleaseCapture;
   Perform( WM_SYSCOMMAND, $F012, 0 );
end;

Вот и всё! Теперь компиль, и всё у тебя будет работать, как говориться drag'n'drop'ово.
 Исходник, с уже скомпиленной программой и исходным битмапом.

SLAyer

Другие статьи

По всем вопросам и предложениям по сайту пишите на info@comp-info.ru
 


Содержание
  ДОМОЙ
  НОВОСТИ  
  IT АКАДЕМИЯ
  WAP-ВЕРСИЯ
  ФОРУМ
  БЕЗОПАСНОСТЬ
  ПРОГРАММИРОВАНИЕ
  ИНСТРУМЕНТ ВЕБМАСТЕРА
  ВСЁ ДЛЯ КПК
  СТАТЬИ NEW
  СОФТ
  ВИДЕО
  X-INFO
  ПРОКСИ ЛИСТ
  IT МУЗЫКА
  АНЕКДОТЫ
  ССЫЛКИ
  ТЕХ. ПОДДЕРЖКА
  ПРАВООБЛАДАТЕЛЯМ
  О НАС

 
Поиск по сайту
Утилиты

  Сниффер
  Лог сниффера
  MD5 и Base64
  Декодирование MD5 NEW
 Перекодировщик
  Проверить прокси
  Проверка анонимности
  Генерация пароля
  Скрипт определения IP
  Поиск информации
   Проверить IP (Whois)
   Узнать скорость закачки
   Добавить свой сайт в поисковые системы>
   Подсветка php-кода

ПОЛЕЗНАЯ ИНФОРМАЦИЯ:
  Список национальных доменных имен
  Компьютерные термины
  Смайлики
   Аналоги Win-программ в Linux
   Коды ответа HTTP сервера
   Записки невесты программиста

Здесь могла бы
быть Ваша
РЕКЛАМА





Права на содержащиеся на сайте материалы принадлежат авторам материалов и владельцам проекта.
Copyright Комп-Инфо.ру © 2005