도저히 제 상식으로 이해되질 않는 부분이 있어서 문의드립니다.
소스가 매우 긴데 문제 부분만 올리겠습니다.
type
TUfmButtonDisplayMode = (dmBoth, dmGlyphOnly, dmTextOnly);
...
TUfmToolButton = class(TGraphicControl)
private
...
FDisplayMode: TUfmButtonDisplayMode;
...
published
property DisplayMode: TUfmButtonDisplayMode read FDisplayMode write SetDisplayMode default dmGlyphOnly; // <= 분명 지정을 했습니다.
...
이렇게 지정을 했는데도 불구하고,
이 컴포넌트를 폼에 올려놓으면 Object Inspector에 DisplayMode의 값이
dmBoth로 나옵니다.
혹시 다른 곳에서 dmBoth값을 대입하는 곳이 있나 찾아도 봤습니다.
Search all files in project해서 dmBoth를 찾아봤지만
TUfmButtonDisplayMode 선언문 딱 한 곳 뿐입니다.
SetDisplayMode도 문제가 없습니다.
dmBoth가 열거형 TUfmButtonDisplayMode에서 맨 처음 값인 것하고
상관이 있는 것 같긴 한데 왜 default가 먹지 않는지 도저히 이해가 안됩니다.
조언 부탁드립니다.
프로퍼티의 Default는 폼파일(.dfm)에 저장되는냐 저장되지 않느냐를 결정할 때 쓰일 뿐 Default
값이 초기값으로 되지는 않습니다. Default로 설정했더라도 컨트롤의 Create 부분에서 초기화를
해주어야 합니다.
^^ 항상 즐코하세요.
김일영 wrote:
> 도저히 제 상식으로 이해되질 않는 부분이 있어서 문의드립니다.
> 소스가 매우 긴데 문제 부분만 올리겠습니다.
>
> type
> TUfmButtonDisplayMode = (dmBoth, dmGlyphOnly, dmTextOnly);
> ...
>
> TUfmToolButton = class(TGraphicControl)
> private
> ...
> FDisplayMode: TUfmButtonDisplayMode;
> ...
> published
> property DisplayMode: TUfmButtonDisplayMode read FDisplayMode write SetDisplayMode default dmGlyphOnly; // <= 분명 지정을 했습니다.
> ...
>
> 이렇게 지정을 했는데도 불구하고,
> 이 컴포넌트를 폼에 올려놓으면 Object Inspector에 DisplayMode의 값이
> dmBoth로 나옵니다.
> 혹시 다른 곳에서 dmBoth값을 대입하는 곳이 있나 찾아도 봤습니다.
> Search all files in project해서 dmBoth를 찾아봤지만
> TUfmButtonDisplayMode 선언문 딱 한 곳 뿐입니다.
> SetDisplayMode도 문제가 없습니다.
> dmBoth가 열거형 TUfmButtonDisplayMode에서 맨 처음 값인 것하고
> 상관이 있는 것 같긴 한데 왜 default가 먹지 않는지 도저히 이해가 안됩니다.
> 조언 부탁드립니다.
>
>