Типы программирования, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

Video v Kylix
Установка Kylix 3
Установка Kylix, регистрация
cgi-сценарий
Перестала работать функция libc.system.
вопрос по поводу реестра, ........................
Консоль
Kylix 3 создание проектов
Kylix 3
DSO modules for Apache, How I can do it on Kylix
Программа на Kylix
Настройка среды разработки
Как получить имя компьютера
Как Вы относитесь к курящим девушкам?
Как конвертировать BMP -> JPG
Как скопировать экран в файл в Kylix
DriveComboBox1.update;
Прога даже в среде не запускается!!( ! для Vit'a)
Как в KYLIX открыть порт для I/O, Помогите
? спецам по графике в Delphi
Активное окно в CLX приложениях
Ошибка при инсталляции
Как программно изменить масштаб excel ?
Изменение пароля в БД access
Как программить под Linux, Нужен ли Kylix ?
new
Лезет ошибка, Вопрос
StringGrid, Порекомендуйте дельный StringGrid, плиз.
Как узнать IP
ofs, Почему ошибка
SHDocVw_tlb
Рисование, Как нарисовать подложку
Kylix: запуск внешнего файла
Установка визарда IDL2PAS
Kylix: Время создания файла
Нужен доступ к MS SQL Server из Kylix.Как сделать?
Как Вы относитесь к курящим девушкам?
Self CRC32-16 check!
Delphi+TCanvas, Грамотно ли чертить график на канве?
Прозрачные формы, Как сделать?
Timer
Как запестить вторую форму из главной?
Люди добрые помогите с базой
Графика, ...динамичекая смена форм...
TColor -> HEX
Gauge, Применение Gauge...
Как из RXRichEdit сохранить в RTF, он только тект сохраняет!!!!
Чтение из файла и отображение процесса в ProgressB
Установка маркера на конец строки
Функция
Описалово OLE Server-ov., Где найти?
Запись в память и чтение от туда.
Цвет выделения, Цвет которым выделяются итемы
Рисование в RichEdit, как вывести картинку в RichEdit
Как прижать форму FORM'e ?, Как изменить очертания окна программы ?
ASM в DELPHI5.5
TWebBrowser и PDF-файлы, Очередной глюк TWebBrowser
Заданее элементам массива начальных значений, ...массиву of TButton
DAO
Печать репорта Access с помощью компонент Servers, или без их помощи, через ОЛЕ
Невозможно для восстановления…, ..........
Delphi+Console, Есть ли в Delphi подобие CRT
Запрещение доступа к файлу, ..............................
переименование каталога с файлами
Вопрос по CreateProcess..., Вопрос по CreateProcess...
COM порт, Как прочитать данные с порта
Form.caption.color, Изменить цвет
treeview, listbox, treeview, listbox
Form.caption, Отловить DBClick
Как Вы относитесь к курящим девушкам?

Платные хостинги     Раскрутка сайта     Книги по программированию


Как прижать форму FORM'e ?, Как изменить очертания окна программы ?

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- Работа с регионами. Здесь не так просто объяснить. Поищите пример по слову SetWindowRgn

- Вот! Нашел у себя на винте:Как создать непрямоугольную форму Немного о непрямоугольных формах... Кажется, весь мир сошёл с ума по таким формам; фидошные эхи пестрят вопросами на эту тему (наряду с вопросом как поместить иконку на панель задач (туда, где часы):) Есть ли сложности при создании непрямоугольной формы? Нет... Почти... Дело в том, что задать внешний вид формы можно, вызвав всего лишь одну функцию SetWindowsRgn. --------------------------------------------------------------------------------SetWindowsRgn(Form1.Handle, True); // Второй параметр всегда равен True --------------------------------------------------------------------------------Правда, перед этим потребуется создать подходящий регион. Большинство из тех, кто работает на Дельфи, не знают, что такое регион, главным образом потому, что эта штука не нашла своего отражения в VCL. Документация утверждает, что регион, это "прямоугольник, многоугольник, эллипс или комбинация двух или более фигур из приведённого списка". Регионы используются для "заливки, отсечения (то, что по английски называется clipping)" и других, не менее полезных операций. Для создания регионов существуют такие функции (с очевидным назначением), как CreateRectRgn, CreateEllipticRgn, CreatePolygonRgn и несколько других. Объединять регионы между собой можно при помощи функции CombineRgn. На этом теоретическая часть могла бы быть закончена, если бы не одно "но"... Это "но" я процитирую отдельно... Но ведь чаще всего непрямоугольную форму требуется построить на базе растровой картинки, задав для неё прозрачный цвет! Как быть? Это правда. Насколько мне известно, Windows не умеет этого делать, то есть в ней нет функции CreateBitmapRgn. Тем не менее, можно создавать и такие регионы. Для этого необходимо пробежаться по всей картинке сверху вниз, в каждой строчке найти непрозрачные области и сделать из них прямоугольные регионы (эти прямоугольники будут высотой в 1 пиксель). Затем мы объединяем эти регионы — и, вуаля — вот он, искомый регион! Готов поспорить, вы думаете, что это слишком сложно... Проверяем. --------------------------------------------------------------------------------function BitmapToRegion(Bitmap: TBitmap; TransColor: TColor): HRGN;varX, Y: Integer;XStart: Integer;beginResult := 0;with Bitmap dofor Y := 0 to Height - 1 dobeginX := 0;while X < Width dobegin// Пропускаем прозрачные точкиwhile (X < Width) and (Canvas.Pixels[X, Y] = TransColor) doInc(X);if X >= Width thenBreak;XStart := X;// Пропускаем непрозрачные точкиwhile (X < Width) and (Canvas.Pixels[X, Y] <> TransColor) doInc(X);// Создаём новый прямоугольный регион и добавляем его к// региону всей картинкиif Result = 0 thenResult := CreateRectRgn(XStart, Y, X, Y + 1)elseCombineRgn(Result, Result,CreateRectRgn(XStart, Y, X, Y + 1), RGN_OR);end;end;end;Этот способ работает, конечно, небыстро, но он работает. Дабы облегчить вам труд понимания и набивания, я написал демонстрационную программу (5262), создающую непрямоугольную форму на базе любого файла Region.bmp, который лежит в её каталоге. По умолчанию с программой поставляется картинка, которую вы видите справа. Задать прозрачный цвет или выйти из программы можно через всплывающее меню (для самых понятливых объясняю: потребуется щёлкнуть на форме правой кнопкой мыши Помимо всего прочего, пример демонстрирует, как таскать форму левой кнопкой мыши (в смысле, не только за заголовок окна). Для этого нам потребуется создать свою собственную процедуру обработки события WM_LBUTTONDOWN, которое форма получает всякий раз, когда на ней нажимают левую кнопку мыши. Вот как эта процедура выглядит в описании формы: --------------------------------------------------------------------------------typeTFormMain = class(TForm)private{ Private declarations }procedure WMLButtonDown(var Msg: TMessage); message WM_LBUTTONDOWN;public{ Public declarations }end;--------------------------------------------------------------------------------Строчка, которую нужно будет добавить, выделена красным цветом. В разделе реализации эта функция выглядит так: --------------------------------------------------------------------------------procedure TFormMain.WMLButtonDown(var Msg: TMessage);beginPerform(WM_NCLBUTTONDOWN, HTCAPTION, Msg.LParam);end;--------------------------------------------------------------------------------Форма посылает самой себе сообщение WM_NCLBUTTONDOWN с wParam равным HTCAPTION, то есть эмулирует ситуацию, когда пользователь нажимает левую кнопку мыши на заголовке формы.

- Если не охото возиться на www.torry.net куча компонент для "делания" круглоугольных форм

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | программирование 1с учебник | программирование сотовых | офшорное программирование | примеры линейное программирование | анализ программирование | программирование делфи | cgi программирование | программирование atmel | школа программирования | типы программирования | практика программирования | программирование autocad | программирование профессиональное | обзор языков программирования | среда программирования delphi | задачи целочисленного программирования | характеристика языка программирования | стиль программирования | постановка задачи программирование | программирование серверов | программирование диплом скачать | применение программирования | Ссылки

Все про практика программирования