Létrehozása szoftver gomb

Mondd, kérlek, hogyan lehet létrehozni egy dinamikus vizuális komponens (gomb) a forma Delphi.

Btn: = TButton.Create (Self);
Btn.Parent: = Self;
Btn.Left: =
Btn.Top: =
Btn.Caption: = "Kattints rám";
Btn.Visible: = true;

eljárás TForm1.ButtonClick (Sender: TObject);
kezdődik

Köszönöm szépen! Sikerült!


> És azután Ctrl + S eljárás eltűnik :)

Ezt a nyilatkozatot, ha megjelent. Én általában rakodók még ha nem is a design-time nevez, tedd a magán, ismét mások, ha nem kell merülnek fel. Akkor semmi nem tűnik el. )

De az EU, hanem az a hely, ahol a felvezető alapértelmezés szerint létrejön hallgatólagos hozni, mert minden, ami ott áll IE segítségével.


> Mentem magam egy pár harakirit.
>

"Egyetlen Tabletka" (c)


>> mentem magam egy pár harakirit.> „Elég
> Egy Tabletka „(c)
Igen Harakiri a KHACHAPURI összekeverni :) De miért Delphi részén közzétett nyilvánvalóan nem az előírt - nem világos. Sidi, Gad, a közvetett bizonyítékok (bár, csak és csak egyszer). Amikor létrehoz komponens (ek) világos: ha látni szeretné # XA0, vagyon az id - helyezzük megjelent. De! Ezek mind a bal oldalon! És ez lógott - a jobb oldalon. Amellett, hogy a leányvállalatok (fia?) Komponens (ek). Ezek általában a tetején. De csak úgy, útközben, sem én nem emlékszem egyetlen könyv, amely megállapította, hogy a felső, neimenovanaya szakasz - közzétételre.

> Sidi, Gad, a bizonyítékok

Vagy nem kitalálni, és olvassa dokkoló.

Osztályok, össze az irányelvvel, és azok örökösei default „szakasz - közzétett, a többit - nyilvános.


> De miért a Delphi részén megjelent kifejezetten előírva
> - nem világos.

Mivel kifejezetten a komponens, IMHO. A projekt felesleges. Ismét, IMHO.

> De csak úgy, útközben, sem én nem emlékszem egyetlen könyvet
> Mondván, hogy a felső, neimenovanaya szakasz - közzétételre.
>

Nos, ha bácsi Borland így nem nevet, így is minden könyvet (Flonov megy erdők) nem lehet olvasni. -)

Megjegyzés: A TPersistent osztály definiált osztályok egysége a VCL és CLX nyilvánítják az állam, így minden osztály származó TPersistent lesz RTTI keletkezett a közzétett szakaszok. A VCL / CLX használja a futási típus információ keletkezett megjelent részek a értékeit komponens „s tulajdonságait mentési vagy feltöltési űrlapfájlok. Továbbá az IDE használja a komponens” s futásidejű típus információ határozza meg a tulajdonságok listája megjeleníthető az Object Inspector.

Van ritkán, vagy egyáltalán nem lenne szükség egy alkalmazás közvetlenül használja a $ M fordítási kapcsolót. "

A Konopka van, az biztos. Ő látta valahol, de hol - nem emlékszem.

Segítség D7 szakasza Delphi nyelv alapjai / Nyilvánosság osztály tagjai:

A tagok az elején egy osztály nyilatkozat arról, hogy ne „t egy meghatározott látási alapértelmezés közzé, feltéve, hogy az osztály össze az állami vagy származik egy osztály összeállított állapotban van, különben ezek a tagok nyilvános.

Gyors, és hogyan lehet létrehozni egy szoftver Label? Állítsa be a betűméretet? Hely?


> Elemre, hogyan lehet létrehozni egy szoftver Label? Állítsa be a betűtípust,
> # XA0; méret? Hely?

Hasonlóképpen, mint TButton


> [21] Mariya # XA0; (03.10.07 09:18)

Olvassa el a teljes listát, pozhalsta

LBL: = TLabel.Create (Form1);
Lbl.Parent: = Form1;
lbl.Caption: = Ini.ReadString ( "Label", "lbl1", "Welcome!");
lbl.Font.Size: = 20;
lbl.Font. (Meg kell merész, nem tudom, hogyan kell írni!)

Hogyan határozza meg, hogy ez volt a központban az űrlap tetején (például hangolni :? = Center tetején nem tudom, cím az általános!)
lbl.Left: =?
lbl.Top:=?
lbl.Height: =?
lbl.Width: =?


> Ez volt a központja az űrlap tetején

elemi számtani

> Ahhoz, hogy merész, nem tudom, hogyan

lbl.Font.Style: = [fsBold];

> Ez volt a központja az űrlap tetején

Tedd a címkét align = altop és igazítás = taCenter


> D6

Írok D6 kell számolni matematikailag történt. Minden a helyére került. Gombok I dinamikusan létrehozni, hogyan kell regisztrálni őket megfelelően:
ShellExecute (fogantyú, nil, "WINWORD.EXE", NiL, NiL, SW_SHOWNORMAL);
BOTTONE a létrehozásakor azt a panelt, igen, hogyan dinamikusan létrehozni?


> Számolja matematikailag

telek geometriailag
sütjük kulinaricheski
degenerált geneológiailag
..
)


> Mariya # XA0; (03.10.07 14:16) [30]

Talán, nos, akkor nafik van programozva?
Hire a programozó.

Ó, kemény élet: ((én azokat itt és most vagyok.

> Hire programozó.

Hire rám. gygygy.

Készítse el ablak protsedurku gombok segítségével SetWindowLong akassza fel az alap- és tegye meg a szükséges BM_CLICK.

Vagyok szempontjából válaszol [30].

Mégis, hogyan lehet programból regisztrálni dinamikusan létre egy gombot, hogy ő kell megnyitni minden futtatható!

> És mégis, mint a szoftver regisztrálni egy dinamikusan létrehozott
> Gomb, hogy meg kell nyitni minden futtatható!

Sorolják őket rakodók megnyomásával # 133

működnek Obrabotcik_dinamiceskoi_knopki_Button1 (hwnd: HWND; Msg: LongInt; wParam, lParam: Longint): longInt; stdcall;
kezdődik
# XA0, ha MSG = BM_CLICK ezután kezdődik
# XA0; # XA0; Zapusk_kakoynibud_progi;
# XA0; end;
# XA0; Eredmény: = CallWindowProc (Pointer (Button1.Tag), hwnd, MSG, wParam, lParam);
végén;

Button1.Tag: = SetWindowLong (Button1.Handle, GWL_WNDPROC, LongInt (@ Obrabotcik_dinamiceskoi_knopki_Button1));

Mondd, ha van egy egyszerűbb módja? Lehet, hogy van? És talán még sokkal könnyebb?

Talán van. De tele vagyok tölgy VTSL, így rajtad múlik.

Olyan fáradt már ebben az édesvízi szivacs (nem szivacs). levelet módszer, mint:
TForm1.ButtonClick (Sender: TObject). hogy ok, négy szál típusa [30], hogy hozzon létre egy gombot, legyen az Button1 továbbiakban:
Button1.OnClick: = ButtonClick; Megnyomásával Button1 minden kiderül a szervezetben ButtonClick. Hallelujah!

Akkor miért ad kezdők tippeket API szinten? Érti, hogy ilyen tanácsot csak akkor megzavarja őket, és semmi több?

Kind egy új nap! Minden kiderült!

> Hallelujah!

Ez maradt szinte az utolsó dolog, amit nem fogadott, és hogyan programozott beállítani a méretei a penész? Mely mindez levonni. Írom ezt:

Form1.Caption: = Ini.ReadString ( "Form", "Cap", "Navigator");
Form1.Height: = Ini.ReadInteger ( "Form", "magasság", 500);
Form1.Width: = Ini.ReadInteger ( "Form", "szélessége", 700);
Figyelmen kívül hagyja, nem alapértelmezett a 500-700.

A! Mégis, mi a helyzet a menüje, maga hozott létre, és egy lapon regisztrálni?

Reggel van, kelj fel! Segíts svezhenachinayuschey. )

Alapértelmezett egy egész értéket kell használni, ha nincs megfelelő kulcsot szakasz vagy nincs adat értéke megfelel Ident.

Sajnáljuk? Mit jelent.

> [48] Mariya # XA0; (04.10.07 08:33)

Ez egy részlet a segítséget „, és ReadInteger funkciót.

Azonnali, plz, hogyan lehet létrehozni egy programot a menüben a hasonlatosságára Botton nem működik.

> HASONLÓ Botton

Valahol, mint ez:

működnek TMenuInsertColleague.AddMenuItem (MainMenu: TMainMenu;
# XA0; MenuData: TMenuItemData): Boolean;
var
# XA0 I: integer;
# XA0; TempMenuItem: TMenuItem;
kezdődik
# XA0; Eredmény: = false;
# XA0; ha hozzárendelt (MenuData) és hozzárendelt (MainMenu), majd
# XA0; kezdődik
# XA0; # XA0; az I: = 0 MainMenu.Items.Count # 151; 1 do
# XA0; # XA0; kezdődik
# XA0; # XA0; # XA0;
# XA0; # XA0; # XA0; ha MainMenu.Items [I] .Caption = MenuData.Section majd
# XA0; # XA0; # XA0; kezdődik
# XA0; # XA0; # XA0; # XA0;
# XA0; # XA0; # XA0; # XA0; TempMenuItem: = TMenuItem.Create (MainMenu);
# XA0; # XA0; # XA0; # XA0; TempMenuItem.Caption: = MenuData.Caption;
# XA0; # XA0; # XA0; # XA0; TempMenuItem.ImageIndex: = MenuData.ImageIndex;
# XA0; # XA0; # XA0; # XA0; TempMenuItem.Tag: = pozitív egész szám (MenuData.CommandClass);
# XA0; # XA0; # XA0; # XA0; TempMenuItem.OnClick: = MenuClickEvent;
# XA0; # XA0; # XA0; # XA0;
# XA0; # XA0; # XA0; # XA0; MainMenu.Items [I] Adjunk hozzá (TempMenuItem);
# XA0; # XA0; # XA0; # XA0; Eredmény: = true;
# XA0; # XA0; # XA0; # XA0;
# XA0; # XA0; # XA0; # XA0; kilépés;
# XA0; # XA0; # XA0; end;
# XA0; # XA0; end;
# XA0; # XA0;
# XA0; # XA0; TempMenuItem: = TMenuItem.Create (MainMenu);
# XA0; # XA0; TempMenuItem.Caption: = MenuData.Section;
# XA0; # XA0; MainMenu.Items.Add (TempMenuItem);
# XA0; # XA0;
# XA0; # XA0; Eredmény: = AddMenuItem (MainMenu, MenuData);
# XA0; end;
végén;

TMenuItemData # 151; akkor nem kell. Van Chrono vonalak, mint „a neve a tétel” menüben stb # 133

De adok az egyértelműség kedvéért, és:

TMenuItemData = osztály
# XA0, szigorú privát
# XA0; # XA0; FSection: string; # XA0; # XA0; # XA0;
# XA0; # XA0; FCaption: string;
# XA0; # XA0; FCommandClass: TCustomCommandClass;
# XA0; # XA0; FImageIndex: integer;
# XA0, köz-
# XA0; # XA0; kivitelező létrehozása (szakasz: string; Képaláírás: string;
# XA0; # XA0; # XA0; CommandClass: TCustomCommandClass; ImageIndex: Integer = # 151: 1);

# XA0; # XA0; tulajdon szakasz: string olvasni FSection;
# XA0; # XA0; tulajdon Képaláírás: string olvasni FCaption;
# XA0; # XA0; tulajdon CommandClass: TCustomCommandClass olvasni FCommandClass;
# XA0; # XA0; tulajdon ImageIndex: Egész olvasni FImageIndex;
# XA0; end;

Ó, köszönöm, de én nem hiszem, olyan nehéz! Megpróbálom.

> Ó, köszönöm, de nem hiszem, olyan nehéz! Megpróbálom # 133

Mind jelentősen egyszerűsíteni # 151; ez egy darab a projekt. Te elég:

TempMenuItem: = TMenuItem.Create (MainMenu);
# XA0; # XA0; # XA0; TempMenuItem.Caption: = "A lényeg";
# XA0; # XA0; # XA0; TempMenuItem.OnClick: = MenuClickEvent; // <— Клик
# XA0; # XA0; # XA0;
# XA0; # XA0; # XA0; MainMenu.Items [I] Adjunk hozzá (TempMenuItem);

ahol:
MainMenu.Items [I] # 151; Ez a legfelső szintű elem, mint a „Fájl
"


> TempMenuItem: = TMenuItem.Create (MainMenu);
> # XA0; # XA0; # XA0; TempMenuItem.Caption: = "A lényeg";
> # XA0; # XA0; # XA0; TempMenuItem.OnClick: = MenuClickEvent; // <— Клик
> # XA0; # XA0; # XA0;
> # XA0; # XA0; # XA0; MainMenu.Items [I] Adjunk hozzá (TempMenuItem);

Egy hiba. Ismeretlen MenuClickEvent és OnClick

MenuClickEvent Handler
meg kell írni

Írja Mariya valaki programot.


> Maria, viccelsz?

NEM! Összes beérkezett, köszönöm minden nagyon sok.

ha MessageDlg ( "Kilépés?", mtConfirmation, [mbYes, mbNo], 0) = mrYes majd.

írja, hogy ahelyett, hogy igen, és nem volt IGEN és NEM?

MessageBox () az orosz szörf mutatják Igen és nem


> Ez édesvízi szivacs (nem szivacs)

ha a szivacs, akkor minden bizonnyal BA dyaga = Spongilla lacustris.


> Amennyiben a szivacs, akkor minden bizonnyal badyaga = Spongilla lacustris.
Ok, ekselents

Kapcsolódó cikkek