📄 cb199911nf_f.asp.htm
字号:
<b>inline</b> <b>void</b> ValidCtrCheck(TCustomButton *)</span></p>
<p class=Code><span class=Code>{</span></p>
<p class=Code><span class=Code> <b> new</b>
TCustomButton(NULL); </span></p>
<p class=Code><span class=Code>}</span></p>
<p class=Code><span class=Code><i><span Class=CodeBlue>// ------------------------------------------------------------------</span></i></span></p>
<p class=Code><span class=Code><b>__fastcall</b>
TCustomButton::TCustomButton(TComponent* Owner) </span></p>
<p class=Code><span class=Code> : TButton(Owner) </span></p>
<p class=Code><span class=Code>{</span></p>
<p class=Code><span class=Code>}</span></p>
<p class=Code><span class=Code><i><span Class=CodeBlue>//
------------------------------------------------------------------</span></i></span></p>
<p class=Code><span class=Code><b>namespace</b>
Custombutton</span></p>
<p class=Code><span class=Code>{</span></p>
<p class=Code><span class=Code> <b> void</b>
<b>__fastcall</b> PACKAGE Register</span></p>
<p class=Code><span class=Code> { </span></p>
<p class=Code><span class=Code> TComponentClass classes[1] = {<b>__classid</b>(TCustomButton)}; </span></p>
<p class=Code><span class=Code> RegisterComponents("Informant", classes,
0); </span></p>
<p class=Code><span class=Code> } </span></p>
<p class=Code><span class=Code>}</span></p>
<p class=Code><span class=Code><i><span Class=CodeBlue>//
------------------------------------------------------------------</span></i></span></p>
<p class=Code><span class=Code><b>void</b> <b
style='mso-bidi-font-weight:normal'>__fastcall</b> TCustomButton::Click</span></p>
<p class=Code><span class=Code>{</span></p>
<p class=Code><span class=Code> TButton::Click; </span></p>
<p class=Code><span class=Code> ShowMessage("Shown from the Click method of
the button"); </span></p>
<p class=Code><span class=Code>}</span></p>
<p class=Subheads>End Listing
Two</p>
<p class=BodyText> </p>
<p class=Subheads><a name=ListingThree></a>Begin Listing Three - <i>UnfoldButton</i></p>
<p class=Code><span class=Code><i><span Class=CodeBlue>//
------------------------------------------------------------------</span></i></span></p>
<p class=Code><span class=Code><span Class=CodeGrn>#ifndef
UnfoldButtonH</span></span></p>
<p class=Code><span class=Code><span Class=CodeGrn>#define
UnfoldButtonH</span></span></p>
<p class=Code><span class=Code><i><span Class=CodeBlue>// ------------------------------------------------------------------</span></i></span></p>
<p class=Code><span class=Code><span Class=CodeGrn>#include
<SysUtils.hpp> </span></span></p>
<p class=Code><span class=Code><span Class=CodeGrn>#include
<Controls.hpp> </span></span></p>
<p class=Code><span class=Code><span Class=CodeGrn>#include
<Classes.hpp> </span></span></p>
<p class=Code><span class=Code><span Class=CodeGrn>#include
<Forms.hpp> </span></span></p>
<p class=Code><span class=Code><span Class=CodeGrn>#include
<StdCtrls.hpp> </span></span></p>
<p class=Code><span class=Code><i><span Class=CodeBlue>//
------------------------------------------------------------------</span></i></span></p>
<p class=Code><span class=Code><b>class</b>
PACKAGE TUnfoldButton : <b>public</b>
TButton</span></p>
<p class=Code><span class=Code>{</span></p>
<p class=Code><span class=Code><b> private</b>:</span></p>
<p class=Code><span class=Code> <b> int</b>
FAdditionalSpace; </span></p>
<p class=Code><span class=Code> <b> int</b>
InitialFormHeight; </span></p>
<p class=Code><span class=Code><b> protected</b>:</span></p>
<p class=Code><span class=Code><b> public</b>:</span></p>
<p class=Code><span class=Code> <b> __fastcall</b>
TUnfoldButton(TComponent* Owner); </span></p>
<p class=Code><span class=Code> <b> void</b>
<b>__fastcall</b> Click();</span></p>
<p class=Code><span class=Code> <b> void</b>
<b>__fastcall</b> Loaded();</span></p>
<p class=Code><span class=Code><b> __published</b>:</span></p>
<p class=Code><span class=Code> <b> __property</b>
<b>int</b> AdditionalSpace = { read = FAdditionalSpace, </span></p>
<p class=Code><span class=Code> write = FAdditionalSpace, <b
style='mso-bidi-font-weight:normal'>default</b> = 32 };</span></p>
<p class=Code><span class=Code>};</span></p>
<p class=Code><span class=Code><i><span Class=CodeBlue>//
------------------------------------------------------------------</span></i></span></p>
<p class=Code><span class=Code><span Class=CodeGrn>#endif</span></span></p>
<p class=Code><span class=Code> </span></p>
<p class=Code><span class=Code><i><span Class=CodeBlue>//
------------------------------------------------------------------</span></i></span></p>
<p class=Code><span class=Code><span Class=CodeGrn>#include
<vcl.h> </span></span></p>
<p class=Code><span class=Code><span Class=CodeGrn>#pragma
hdrstop</span></span></p>
<p class=Code><span class=Code> </span></p>
<p class=Code><span class=Code><span Class=CodeGrn>#include
"UnfoldButton.h" </span></span></p>
<p class=Code><span class=Code><span Class=CodeGrn>#pragma
package(smart_init) </span></span></p>
<p class=Code><span class=Code><i><span Class=CodeBlue>//
------------------------------------------------------------------</span></i></span></p>
<p class=Code><span class=Code><i><span Class=CodeBlue>// ValidCtrCheck is used to ensure that the components
created do not </span></i></span></p>
<p class=Code><span class=Code><i><span Class=CodeBlue>// have any pure virtual functions. </span></i></span></p>
<p class=Code><span class=Code><i><span Class=CodeBlue>// </span></i></span></p>
<p class=Code><span class=Code> </span></p>
<p class=Code><span class=Code><b>static</b>
<b>inline</b> <b>void</b> ValidCtrCheck(TUnfoldButton *)</span></p>
<p class=Code><span class=Code>{</span></p>
<p class=Code><span class=Code> <b> new</b>
TUnfoldButton(NULL); </span></p>
<p class=Code><span class=Code>}</span></p>
<p class=Code><span class=Code><i><span Class=CodeBlue>//
------------------------------------------------------------------</span></i></span></p>
<p class=Code><span class=Code><b>__fastcall</b>
TUnfoldButton::TUnfoldButton(TComponent* Owner) </span></p>
<p class=Code><span class=Code> : TButton(Owner) </span></p>
<p class=Code><span class=Code>{</span></p>
<p class=Code><span class=Code> <i> <span Class=CodeBlue>// --- set defaults. </span></i></span></p>
<p class=Code><span class=Code> Caption = "More >>"; </span></p>
<p class=Code><span class=Code> FAdditionalSpace = 32; </span></p>
<p class=Code><span class=Code> </span></p>
<p class=Code><span class=Code> <b> dynamic_cast</b><
TForm *> (Owner)->AutoScroll = <b>false</b>;</span></p>
<p class=Code><span class=Code>}</span></p>
<p class=Code><span class=Code><i><span Class=CodeBlue>//
------------------------------------------------------------------</span></i></span></p>
<p class=Code><span class=Code><b>namespace</b>
Unfoldbutton</span></p>
<p class=Code><span class=Code>{</span></p>
<p class=Code><span class=Code> <b> void</b>
<b>__fastcall</b> PACKAGE Register()</span></p>
<p class=Code><span class=Code> { </span></p>
<p class=Code><span class=Code> TComponentClass classes[1] = {<b
style='mso-bidi-font-weight:normal'>__classid</b>(TUnfoldButton)}; </span></p>
<p class=Code><span class=Code> RegisterComponents("Informant",
classes, 0); </span></p>
<p class=Code><span class=Code> } </span></p>
<p class=Code><span class=Code>}</span></p>
<p class=Code><span class=Code><i><span Class=CodeBlue>//
------------------------------------------------------------------</span></i></span></p>
<p class=Code><span class=Code><b>void</b> <b
style='mso-bidi-font-weight:normal'>__fastcall</b> TUnfoldButton::Click()</span></p>
<p class=Code><span class=Code>{</span></p>
<p class=Code><span class=Code> <i> <span Class=CodeBlue>// --- call inherited to accomodate user's code. </span></i></span></p>
<p class=Code><span class=Code> TButton::Click();</span></p>
<p class=Code><span class=Code> <i> <span Class=CodeBlue>// --- resize the form. </span></i></span></p>
<p class=Code><span class=Code> <b> dynamic_cast</b><
TControl *> (Owner)->Height = InitialFormHeight; </span></p>
<p class=Code><span class=Code> <i> <span Class=CodeBlue>// --- disable the unfold button. </span></i></span></p>
<p class=Code><span class=Code> Enabled = <b>false</b>;</span></p>
<p class=Code><span class=Code>}</span></p>
<p class=Code><span class=Code><i><span Class=CodeBlue>//
------------------------------------------------------------------</span></i></span></p>
<p class=Code><span class=Code><b>void</b> <b
style='mso-bidi-font-weight:normal'>__fastcall</b> TUnfoldButton::Loaded()</span></p>
<p class=Code><span class=Code>{</span></p>
<p class=Code><span class=Code> TButton::Loaded();</span></p>
<p class=Code><span class=Code> <i> <span Class=CodeBlue>// --- save the original height of the form. </span></i></span></p>
<p class=Code><span class=Code> InitialFormHeight = <b>dynamic_cast</b>< TControl *> (Owner)->Height; </span></p>
<p class=Code><span class=Code> <i> <span Class=CodeBlue>// --- get the coords of the button on the form. </span></i></span></p>
<p class=Code><span class=Code> TPoint ButtonPoint = <b>this</b>->ClientOrigin; </span></p>
<p class=Code><span class=Code> <i> <span Class=CodeBlue>// --- set the new height for the form based on button's
position. </span></i></span></p>
<p class=Code><span class=Code> <b> dynamic_cast</b><
TControl *> (Owner)->Height =</span></p>
<p class=Code><span class=Code> ButtonPoint.y - <b>dynamic_cast</b>< TControl *> </span></p>
<p class=Code><span class=Code> (Owner)->ClientOrigin.y + <b
style='mso-bidi-font-weight:normal'>this</b>->Height + FAdditionalSpace; </span></p>
<p class=Code><span class=Code>}</span></p>
<p class=Subheads>End Listing
Three</p>
<p class=BodyText> </p>
<p class=BodyText> </p>
<p class=BodyText> </p>
</td>
</TR>
</TABLE>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -