Výsledky 1 až 7 z 7

Téma: [Delphi] otvorenie dialogu EDIT: kreslenie

  1. #1
    Senior Member Avatar uživatele Marek
    Založen
    07.10.2002
    Bydliště
    Home - PU, Skola - TT
    Příspěvky
    1 076
    Vliv
    288

    Standardní [Delphi] otvorenie dialogu EDIT: kreslenie

    S delphi len zacinam, potrebujem celkom jednoduchu vec,a le ani za pomoci nejakch online priruciek sa mi ju nepodarilo vyriesit.
    Potrebujem len aby sa po stlaceni buttonu na main forme otvoril maly dialog v ktorom budu edit boxy ,tlacitkom na nom sa tie edity ulozia do nejakych premennych.
    Spravil som to takto.Otvoril som form1 dal jej status fsMDIForm.Potom som vytvoril form2 a nastavil ju na fsStayontop.Potrebujem aby ten dialog bol ontop a aby sa na nom dalo kliknut len na OK alebo zavriet krizikom,aby sa nedal minimalizovat,a ked je zobrazeny tak aby sa nedalo klikat na nic na form1.
    Nasiel som ze ta druha forma by sa mala otvarat takto, tak som to hodil do onclicku na button na form1.

    Application.CreateForm(Tform2,form2);

    Ale nerobi to to co chcem.Pretoze ta form2 sa otvori uz hned pri spusteni programu.A da sa minimalizovat a buttonom na fom1 otvorit dalsia form2.
    Ako spravit aby sa otvaral az po kliknuti na button a nie hned po spusteni, a aby sa potom nedalo klikat na tru form1/tam asi nejak nastavit disable na true, ale kde?
    C2D @ 3GHz + Ninja || 2GB RAM || Wide 20" p-mva LCD || M-Audio revo 5.1 || Sennheiser HD595 || Logitech G5 mouse

  2. #2

    Standardní

    V properties si nastav vhodny typ, aby tam nebolo minimize (a pod.).
    CreateForm tam nedavaj - to sa robi tusim automaticky pre vsetky formy po spusteni. Daj dal Form2.ShowModal. A pozri si v helpe veci okolo ModalResult, pri takychto veciach sa to hodi.
    1: Asus P2B 1.10 • Celeron 1100@1364/1.8V • 512MB SDRAM • Samsung SP1213N+WD AC28400 • Toshiba XM-6402B+SD-M1212 • PowerColor AR2L Radeon 9100 64MB • 3C900-Combo • Bt848A • ASB-3940UA • AWE-64 • DTK PTP-3007 • VisionMaster 405 • Umax UC630 • Star LC24-200 Colour 2: PCPartner TXB820DS • Cyrix MII PR300/1.8V • 256MB SDRAM • 2xSamsung HD400LD+IT8212F • Accesstek CW4001 • LS-120 • Mystique 4MB • Millennium II 4MB • 3C509 • CMI8329A+Dream MIDI • ADI ProVista E44 • SyncMaster 203B Notebook: DTK FortisPro TOP-5A • P166MMX/1.8V • 80MB EDO • Hitachi 5K80 40GB • 12,1" TFT Router: A-Trend ATC-1425B • i486DX 50@33/5V • 48MB FPM • WD AC14300 • UMC UM9003F • HP PC LAN 16/TP+ Car: Mazda 323P BA • Z5 1489ccm, 65kW@5500rpm, 134Nm@4000rpm

  3. #3

    Standardní

    Pokud chces formular vytvaret sam musis v menu Project->Options na zalozce forms presunout pozadovany formular (Form2) do Available forms. Pak vytvoris instanci formulare do promenne tridy TForm. Nasledne jej otevres tak jak pise Rainbow, tedy Promenna.ShowModal a jeste navic v podmince kde budes testovat navratovou hodnotu, treba if Promenna.ShowModal = mrOK then nastav promenne z editboxu. Nakonec formular uvolnis z pameti Promenna.free. U form2 nastav vlastnost BorderStyle na fsDialog (Muzes vyskouset i dalsi volby, nektere se ale projevuji pouze v runtime, tak pozor).

    A samozrejme je nutne nastudovat to co pise Rainbow

  4. #4
    Senior Member Avatar uživatele Marek
    Založen
    07.10.2002
    Bydliště
    Home - PU, Skola - TT
    Příspěvky
    1 076
    Vliv
    288

    Standardní

    Ok diki toto som vyriesil.

    problem 2:
    mam formu na nej image a v tom nacitanu bitmapu.Na to kreslim cez image.canvas.x.A potreboval by som ten bitmap vratit do povodneho stavu ako bol pri spusteni.Podarilo sa mi to takto
    image.picture.loadfromfile-ale tam je nevyhoda ze musi byt ta bitmapa stale s tym execkom.
    Potom ma napadlo to cele zrusit a znova vytvorit image.free image.create(), ale do tej zatvorky chce aowner:tcomponent -a nejak neviem co to je.
    A spravit nejak ze by som nakreslil elispsu, a potom ju z tej bitmapy vamazal?To ma napada len tak ze by som ju nakreslil znova len bielou farbou, ale to mi je na nic, lebo ja mam na tej bitmape nakreslene ciernou suradnicove osi, takze keby to ta biela trafila bolo by to vidiet.

    A vlastne cely problem je ze sa budu kreslit nejake geometricke objekty a tie potom rozne tranformovat.Takze ak je aj iny sposob ako to spravit inak ako cez ten image a bitmapu tak poradte.
    C2D @ 3GHz + Ninja || 2GB RAM || Wide 20" p-mva LCD || M-Audio revo 5.1 || Sennheiser HD595 || Logitech G5 mouse

  5. #5

    Standardní

    Tu bitmapu si mozes niekam skopirovat (napriklad do druhej bitmapy) a potom ju skopirovat naspat alebo ju kreslit programom.
    Ked chces kreslit objekty, tak pouzi objektove programovanie Nejaku abstraktnu triedu TGrafickyObjekt (ktora ma metodu Kresli a mozno aj nieco ine), z nej zdedit TElipsa, TStvorUholnik (a pod.). Taketo objekty si mozes ukladat napr. do globalneho dynamickeho pola (GrafickeObjekty: array of TGrafickyObjekt) a potom kreslit (for i:=1 to Length(GrafickeObjekty) do GrafickeObjekty[i].Kresli
    1: Asus P2B 1.10 • Celeron 1100@1364/1.8V • 512MB SDRAM • Samsung SP1213N+WD AC28400 • Toshiba XM-6402B+SD-M1212 • PowerColor AR2L Radeon 9100 64MB • 3C900-Combo • Bt848A • ASB-3940UA • AWE-64 • DTK PTP-3007 • VisionMaster 405 • Umax UC630 • Star LC24-200 Colour 2: PCPartner TXB820DS • Cyrix MII PR300/1.8V • 256MB SDRAM • 2xSamsung HD400LD+IT8212F • Accesstek CW4001 • LS-120 • Mystique 4MB • Millennium II 4MB • 3C509 • CMI8329A+Dream MIDI • ADI ProVista E44 • SyncMaster 203B Notebook: DTK FortisPro TOP-5A • P166MMX/1.8V • 80MB EDO • Hitachi 5K80 40GB • 12,1" TFT Router: A-Trend ATC-1425B • i486DX 50@33/5V • 48MB FPM • WD AC14300 • UMC UM9003F • HP PC LAN 16/TP+ Car: Mazda 323P BA • Z5 1489ccm, 65kW@5500rpm, 134Nm@4000rpm

  6. #6
    Senior Member Avatar uživatele Marek
    Založen
    07.10.2002
    Bydliště
    Home - PU, Skola - TT
    Příspěvky
    1 076
    Vliv
    288

    Standardní

    No ale mne vadi ze ta povodna bitmapa je priamo v execku.Ale ked ju chcem znova nacitat cez load from file, tak ju musim mat spolu s tym execkom extrene.Ja by som potreboval nejak refresnut nanovo tu ktora tam uz je? ide to?
    C2D @ 3GHz + Ninja || 2GB RAM || Wide 20" p-mva LCD || M-Audio revo 5.1 || Sennheiser HD595 || Logitech G5 mouse

  7. #7

    Standardní

    aowner dej pro zacatek "self" (bez uvozovek). Stejnym zpusobem jako kreslis elipsu, obdelnik nakresli i osy, pokud tomu neco jineho nebrani.

    Existuje take komponenta ImageList. Do te nacpes bitmapu (muze jich tam byt i vice), ty jsou pak tusim soucasti vysledneho exe. Mohlo by to byt nejak takhle (snad to bude fungovat ):

    ImageList.GetBitmap(PoradiVImageList, Image.Picture.Bitmap);
    Image.Refresh;

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •