ПредишенСледващото

Ние се залавяме за работа. Да кажем, че проектът, за който ние създаваме един бутон, вече е отворен. Първо, създаване на нов модул (File \ Нова \ Unit). Нека просто се запази единица (като натиснете Ctrl + Shift + S) под MyButtonUnit за името. В модула виждаме две секции: интерфейс и изпълнение. В първия раздел, ние ще опишем сменяеми модули, типове данни, процедури, константи и променливи, а вторият ще бъде в самия код.

След интерфейса ще опише модули, които се нуждаем. Тя изглежда така:

интерфейс
използва класове, органи за управление на Windows, графики, съобщения;

След това, ние трябва да се опише ни създаде нов клас (TMyButton), който се ще се полага на базата TCustomControl клас.


Виждате ли три секции на нашия клас: частни, защитени, както и публично. Първото изпълнение на променливите и процедурите, които ще бъдат на разположение за употреба само в рамките на класа. Защитената раздел описва методите, прилагани в класа родител. И накрая, третата част се описват функциите и процедурите, които ще бъдат на разположение извън класа.

Започнете с обществеността.
Ние описваме строителя: конструктор Създаване (AOwner: TComponent);
Ние се процедира в раздела за изпълнение и пишат код, който ще се проведе, когато създавате един бутон.

Донесох задължителна част от кода. Можете да добавите към него, ако е необходимо.

Сега е време да мисля за това как да работят бутона. Основният ни е да се промени образа, когато мишката върху него. Тя трябва да съдържа надписа. Това е минимума! След като бутонът ще се промени външния вид, когато мишката върху него, неофициалния раздел ще опишем променливата FSelected. булева; състоянието на съхранение на бутона. Нека се бутона по-късно. В същата рубрика ще опише променлива FCaption. String;, който поддържа етикета на бутона. За да се регистрирате може да се промени, опишете Надпис на имота: String прочетете FCaption запис SetCaption; раздел публично. Както можете да видите, процедура SetCaption още не сме създали. Ние го опиша в частни раздела:

процедура SetCaption (Val: String);

и, разбира се, ще се създаде в самия код:


Процедура за боя е изготвянето на бутон, който ние сега да се върна. Нейният описваме в защитената част - процедура Paint; замени.
Веднага се напише код:


Обърнете внимание на състоянието. Ние предлагаме разнообразие от възможности за дизайн, когато разпределени и неразпределени бутон. Как да работим с вас, мисля, че, нали знаете графика, така че може много лесно да настроите външния вид на своите собствени.

И сега най-забавната част: как да се направи бутони променят външния вид, когато се движите?

Ние описват две процедури по лично:

Процедура MEnter (VAR Mes: TMessage); CM_MOUSEENTER съобщение;
процедура MLeave (VAR Mes: TMessage); CM_MOUSELEAVE съобщение;

Процедури за отговор на входните и изходните мишка съобщенията в областта на бутон. Първият - да въведете съобщение, а вторият - на изхода съобщението. И тук е код, който те причиняват.


Както можете да видите, ние просто отбележа, подчерта подчерта бутон или не и да го прехвърлите.

Добре, ние изпълнение на задачата, но как да се приложи един бутон в приложението? Много просто! Трябва да се опише модула сме създали в желаното място, и кликнете, за да създадете и да го опише като променлива (VAR Б. TMyButton), създаване на (B: = TMyButton.Create (самостоятелно);) и регулиране на полето (B.Caption: = ' Бутон ").
Като цяло:


Вече знаете как да създадат свои собствени проверки и може да работи по проектирането на програмата. На добър час!

Изходният код на модула:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!