點燈遊戲--乙個動態建立元件的示例
tips : 在動態建立元件時, parent屬性設定很重要, 如果不設定, 元件是不能顯示的~~ 呵呵, 這個是易犯的低階錯誤, 至少對我來說.
unit ulamp;
inte***ce
uses
windows, messages, sysutils, variants, classes, graphics, controls, forms,
dialogs, extctrls;
type
tformlamp = class(tform)
procedure formcreate(sender: tobject);
procedure formdestroy(sender: tobject);
private
public
protected
procedure panelclickhandle(sender: tobject);
end;
function isfinished: boolean;
var formlamp: tformlamp;
lamppanel : array[0..24] of tpanel;
implementation
function isfinished: boolean;
var i: integer;
begin
result := true;
for i := 0 to 24 do
begin
if (lamppanel[i].color = $006060) then result := result and false;
end;
end;
procedure tformlamp.panelclickhandle(sender: tobject);
var x,y: integer;
thistag: integer;
begin
thistag := (sender as tpanel).tag;
x := thistag div 5;
y := thistag mod 5;
lamppanel[thistag].color := $ffffff - lamppanel[thistag].color;
if (y>0) then lamppanel[x*5+y-1].color := $ffffff - lamppanel[x*5+y-1].color;
if (x>0) then lamppanel[(x-1)*5+y].color := $ffffff - lamppanel[(x-1)*5+y].color;
if (y<4) then lamppanel[x*5+y+1].color := $ffffff - lamppanel[x*5+y+1].color;
if (x<4) then lamppanel[(x+1)*5+y].color := $ffffff - lamppanel[(x+1)*5+y].color;
// 檢查是否都點亮
if isfinished then showmessage('你真行, 所有的燈都點亮了!!');
//(sender as tpanel).color := $ffffff - (sender as tpanel).color;
end;
procedure tformlamp.formcreate(sender: tobject);
var i,j: integer;
begin
position := poscreencenter;
for i := 0 to 4 do
for j := 0 to 4 do
begin
lamppanel[i * 5 + j] := tpanel.create(self);
with lamppanel[i * 5 + j] do
begin
tag := i * 5 + j;
caption := inttostr(tag);
parent := self;
top := 70 + i * 60;
left := 100 + j * 50;
width := 55;
height := 55;
color := $006060;
onclick := panelclickhandle;
end;
end;
end;
procedure tformlamp.formdestroy(sender: tobject);
var i : integer;
begin
for i := 0 to 24 do
if lamppanel[i] <> nil then lamppanel[i].free;
end;
end.
關於建立乙個元件的步驟
關於建立乙個元件的步驟 要實現你的元件,按如下常規的步驟 1.如果需要,建立元件的任何skins 2.建立乙個as類檔案 a.從基類擴充套件乙個類,如uicomponent或別的元件類 b.指定你可以在mxml標籤裡設定的屬性 c.嵌入任何圖形和skin檔案。d.實現建構函式 e.實現uicompo...
js vue 建立乙個div vuejs元件
一 什麼是元件?元件 component 是vue.js最強大的功能之一。元件可以擴充套件html元素,封裝可重用的 在較高層面上,元件是自定義元素,vue.js的編譯器為它新增特殊功能。在有些情況下,元件也可以表現為用is特性進行了擴充套件的原生html元素。總結 元件是用來完成特定功能的乙個自定...
建立乙個簡單的WebPart應用示例
建立webpart的簡單應用並不困難,在建立webpart簡單應用之前先介紹一下web部件的核心 webpartmanager。webpartmanager簡介 webpartmanager 控制項用作 web 部件應用程式的中心或控制中心。在使用 web 部件控制項的每一頁上,都必須有且僅有乙個 ...