[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




Программирование под ОС / Basic /

Объёмные надписи на форме

Вот что я люблю делать, программируя на VB, так это обходится без OCX'ов!!! Нет, ОСХ - это, конечно, очень хорошо, но я, например, не могу использовать чужие контролы - чужой труд. Чтобы мне гордиться - "Это программа написана мной!", я должен полностью её написать до последней точки - кавычки! Но это только мои личные причины. А ведь использовав ОСХ в вашем приложении, а потом скомпилировав его, можно заметить: котрол будет внутри, и, соответственно, инсталляционный пакет будет занимать сравнительно больше, чем без него.
Прежде всего просто взгяните на картинку:



И это можно сделать за пару минут не используя OCX'ов!!!!

Я придумал всего шесть строк кода и получились две такие надписи. Сейчас я расскажу, как сделать конкретно их. Естественно Вы можете потом изменять их как угодно! Итак, начнём:

1.Создайте стандартный проект.
2.Создайте на форме Label1 и установите следующие свойства:
 

Свойство/метод Значение
Caption http://members.tripoid.de/cmvb
Height 375
Width 5055
Font Arial, Bold, 16
Alignment 2 - Center
BackStyle 0 - Transparent

3.Теперь скопируйте её в буфер обмена и вставьте. Появится надпись 'хотите ли Вы создать массив из этих элеметнов' - скажите, что хотите :). Второй объект Label1(1) появится на форме. Кликните на вставить ещё три раза. Появятся Label1(2), Label1(3), Label1(4). Сделайте форму "поширше" и разместите все элементы так, чтобы все они были на виду.

4.Теперь каждой надписи в окне свойств надо присвоить свой цвет (ForeColor):

Label1(0) - &H00FFFFFF& (белый)
Label1(1) - &H000000FF& (красный)
Label1(2) - &H00808080& (тёмно-серый)
Label1(3) - &H00FFFFFF& (белый)
Label1(4) - &H00000000& (чёрный)

5. Теперь объясню сам принцип. Если хорошо приглядеться к объёмной надписи - похоже как будто буквы выдавлены на форме. Т.е. сами буквы чёрные, но сверху и слева обрамлены серым цветом, а снизу и справа белым, что говорит о том, что свет падает  сверху и слева. А как сделать такие обрамления??? Первое, что мне пришло в голову и был ответ - надо создать три надписи с прозрачными тонами: чёрную, белую и серую. И расположить их так: серую, потом чуть ниже и правее чёрную и ещё чуть ниже и правее белую! Приемущество "кто кого накрывает" действует по индексу, т.е. надпись с индексом 0 не накрет надпись с индексом 1, а наоборот. У надпись появляется там, где находится серая - всё выстраивается по ней, а во втором случае по белой. Там где должна быть надпись и помещайте эти головные надписи. Итак, отркойте окно Code двойным кликом по форме и введите шесть строк (первая и последняя, а также комментарии не в счёт):

Private Sub Form_Load()
    'первая надпись красно-белая
    'красную надпись распологаем ниже белой на 23 точки
    Label1(1).Top = Label1(0).Top + 23
    'красную надпись распологаем правее белой на 23 точки
    Label1(1).Left = Label1(0).Left + 23
    'вторая надпись выгравированая
    'чёрную надпись распологаем ниже серой на 22 точки
    Label1(4).Top = Label1(2).Top + 22
    'чёрную надпись распологаем правее серой на 22 точки
    Label1(4).Left = Label1(2).Left + 22
    'белую надпись распологаем ниже чёрной на 15 точек
    Label1(3).Top = Label1(4).Top + 15
    'белую надпись распологаем правее чёрной на 15 точек
    Label1(3).Left = Label1(4).Left + 15
End Sub

Запустите. Ну, как?
Почему я использую именно такое количество точек? Это чистый подбор наиболее оптимально выглядещих надписей. Но здесь обязательно поэксперементируйте с цветами и расстояниями - можно добиться потрясающих эффектов!!! Например, поменяйте цвета надписи с индексом 3 с надписью с индексом 2. А чёрной надписи присвойте цвет формы. Запускайте! Буквы теперь получились выпуклыми! А теперь возьмите и красную надпись сделайте чёрной, а белую - тёмно-серой. И в первых строках последние символы "+ 23" замените на "- 46". Запускайте! Надпись с тенью! Дальше эксперемнтируйте сами и удачи Вам в этом деле!




Комментарии

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Программирование под ОС / Basic /

Основы работы с базами данных
11-02-2009   

Умение обращаться с файлами данных - чуть ли не одна из самых важных ступений в обучении программированию на Visual Basic! Здесь я постараюсь выложить только самые основные приёмы работы с объектом Data... подробнее

Кол. просмотров: общее - 5226 сегодня - 0

Эффективная работа с БД в VB 6.0
11-02-2009   

В статье рассматриваются способы повышения эффективности при разработке клиент-серверных СУБД-приложений в среде VisualBasic 6.0. Наиболее подробно освещены следующие аспекты проблемы... подробнее

Кол. просмотров: общее - 5497 сегодня - 0

Создание программы на Visual basic для вывода случайного числа в заданном интервале чисел
11-02-2009   

В данной статье будет показан способ написания программы для вывода случайного числа в заданном нами интервале чисел, также пошагово будет показано создание соответствующего интерфейса программы на VB6... подробнее

Кол. просмотров: общее - 5220 сегодня - 0

Техника программирования сложных окон в Visual Basic
11-02-2009   

Mногие из Вас наверняка видели в Windows программах окна нестандартной формы (круглые, треугольные и т.д.) и задавали себе вопрос: как мне сделать такое окно?... подробнее

Кол. просмотров: общее - 5234 сегодня - 0

Вызов функций по указателю
11-02-2009   

Вы читали мою первую статью на эту тему? Надеюсь, что нет. Она мне страшно не нравилась уже сразу после опубликования. К тому же, я получил немало откликов на тему мало информации, которые, конечно, считаю справедливыми... подробнее

Кол. просмотров: общее - 4877 сегодня - 0



  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects