LCL Messages/sk

From Lazarus wiki

English (en) | 日本語 (ja) | slovenčina (sk)

Tento dokument je určený pre vývojárov Lazarusa

Základné pravidlá:

Správy existuju kôli kompatibilite s VCL. Správy vyzerajú ako správy win32, ale podporované sú len tie parametre a vlajky, ktoré sú používané štandardnými kontrolnými (controls) komponentami VCL (vrátane tých nie priamo od borlandu). Každá podporovaná vlajka, ktorá nieje štandardne používaná, robí implementáciu interfacov tažkú. Preto sa prosím usistite, že naozaj tú ktorú správu potrebujete. Veľa správ používa ťažko čitateľné konštanty a malé hodnoty (smallint). Toto objemdzuje interface. Okná neurčujú presné poradie správ. Preto je cieľom aby sa každá správa dala nahradit metódou. Napríklad: Kontrolný komponent môže použiť DoOnChangeBounds namiesto WMSize aby zareagoval.

LCL by malo posielat správy interfacom len vo vzácnych prípadoch. Vskutočnosti len keď je to zaužívané v VCL.

Momentálne posielajú interfacy veľa spŕav pre LCL. Tento objem by mal byť v budúcnosti zmenšený. Lepšie je spraviť procedúru v LCL ktorá tú správu pošle. Takýmto spôsobom sú parametre dobre určené a všetky interfacy posielajú správy rovnakým spôsobom.


Správy:

Interface -> LCL -> WMSize, WMMove 
Pošle sa z interfacu aby povedala LCL kontrolnému komponentu, aby obnovil svoje hranice. Kvôli auto aligning/sizing vlastnostiam LCL a niektorých intefacov sa tieto správy neposielajú vždy keď HandleObject zmení velkosť. Takže buť budete veriť okrajom LCL ALEBO interfacu ale nemiešajte to.