Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Delphi - ako zabrániť TMemo.SetFocus spusteniu?

Mám na formulári TMemo. Je to jediná komponenta, ktorá môže mať focus a ja potrebujem tomu zabrániť, aby sa tam dostal kurzor. Už som nastavil vlastnosť ReadOnly na False, aj TabStop na False, ale myšou sa tam dostanem. Nie je problém v metóde OnEnter nastaviť focus na niečo iné, ale nemám na čo. Ako tomu focusu myšou zabrániť?

Předmět Autor Datum
V prvom rade nastav ReadOnly na True !! nie na False !!! ;-) Tu je jednoduché riešenie: Na Formulá…
pme 11.05.2006 18:21
pme
To je v háji. Bolo tu riešenie a ty si ho vymazal. ReadOnly mám na True, to je v poriadku a všetko m…
msx. 11.05.2006 19:55
msx.
Sorry za to vymazanie :-/ ... Ale to bolo riešenie, aby user nemohol označiť text ani myšou ani pomo…
pme 11.05.2006 20:50
pme
Aha, tak dobre, ale nebudúce stačí dopísať toto: Edit: Oprava, toto znemožní označenie textu, takže…
msx. 11.05.2006 20:52
msx.
Dalo by sa to i takto:-D procedure TForm1.Memo1MouseMove(Sender: TObject; Shift: TShiftState; X, Y:…
Andrej 11.05.2006 19:56
Andrej
Beťár.:-D
msx. 11.05.2006 19:57
msx.
Ty si vtipalek :-D aby tu mys honil okolo.:-D poslední
virus 12.05.2006 16:58
virus
A preco by sa tam nemohol dostat kurzor? Ak nastavis ReadOnly tak sa tam neda nic vpisat, nie? Focu…
MM.. 11.05.2006 20:05
MM..
Ja som pako. Teraz ma napadlo riešenie. Napíšem neskôr. Označujem za vyriešené, hoci problém vyrieše…
msx. 11.05.2006 20:07
msx.
Takže ide o to, že v tom formulári, kde nechcem, aby sa dostal kurzor, tak tam dám Enabled na False…
msx. 11.05.2006 20:51
msx.
Skúsil si moje riešenie pomocou TPanel ? Vtedy nemáš text v TMemo zašednutý ...
pme 11.05.2006 20:54
pme
Najem sa a hneď to skúsim.
msx. 11.05.2006 21:50
msx.
Ozaj, ale keď som už túto otázku dal, tak by ma zaujímalo, kde je Jan Fiala. Ten vie v Delphi aj nem…
msx. 11.05.2006 20:53
msx.
Inac ja ked robim nieco (vo VC++ cez MFC WinAPI) kde je vystup v textboxe tak ho len nastavim ako re…
MM.. 12.05.2006 00:09
MM..
Vidíš, máš pravdu. Veď text sa zmeniť nedá a kurzor tam na začiatku nebude, tak to teda nemusím rieš…
msx. 12.05.2006 15:04
msx.
Jestli se do toho nemá dát vlézt v žádném případě, tak: 1) TabStop := false; toho memo. 2) Přes TMem…
Rce 12.05.2006 00:29
Rce

To je v háji. Bolo tu riešenie a ty si ho vymazal. ReadOnly mám na True, to je v poriadku a všetko musí byť Enabled na True, lebo mi to tlačiareň nevytlačí. Daj to tam späť! Nemal som čas to odskúšať, lebo som musel ísť preč.

Edit: Keď sa editne príspevok, tak nech sa to napíše do titulku priamo enginom poradne.

Dalo by sa to i takto:-D

procedure TForm1.Memo1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 Randomize;
 memo1.Left:=1+Random(form1.Width-memo1.Width-1);
end;

Predpokladam ze chces nieco ako Label ale s viac riadkami?

A preco by sa tam nemohol dostat kurzor? Ak nastavis ReadOnly tak sa tam neda nic vpisat, nie?

Focus moze mat cokolvek, trebars aj obycajny text (ak je ako komponenta dialogu, teda ak sa nemylim :-)), daj si tam prazdny text a drbni focus nanho ked mas nejaky problem s focusom, ale skor mas problem s volbou spravnych komponent na formular ked tak bastlis...

Takže ide o to, že v tom formulári, kde nechcem, aby sa dostal kurzor, tak tam dám Enabled na False a hotovo, ale také isté TMemo mám na formulári, ktorý sa bude tlačiť a tam nechám Enabled na False a keďže sa formulár nikdy nezobrazí, tak ma to vôbec nemusí trápiť, či umožní focus alebo nie. Ešte otázočka: Dá sa pri Enabled na False zmeniť tá šedá farba na čiernu?

Inac ja ked robim nieco (vo VC++ cez MFC WinAPI) kde je vystup v textboxe tak ho len nastavim ako read only, focus dam defaultne na nieco ine (na nejaky button "OK" apod.), ale nesnazim sa zabranit pouzivatelovi kliknut tam mysou a oznacit kus textu - z jednoucheho dovodu - aby si pouzivatel ten text mohol potom vykopirovat cez copy-paste kam chce.
To je u teba tak nutne aby to neslo skopirovat?

Farba pozadia sa nastavit da (len je to cez extra message co Win posiela, ale predpokladam ze to v tej Delphi komponente bude urobene, vid help k nej, ak k tomu nic lepsie nenapise JaFi). //Edit: sorry, ty sa pytas na farbu pozadia ak to je Disabled, tak to zhlavy neviem, da sa zmenit ak je Enabled a len ReadOnly, ak je Disabled neviem ci sa da.

Vidíš, máš pravdu. Veď text sa zmeniť nedá a kurzor tam na začiatku nebude, tak to teda nemusím riešiť. Nechám ReadOnly na True a TabStop na False, to stačí.

Vlastne ide o to, že program sa dá urobiť perfektne, ale potom mu môžu chýbať určité veci. Napr. vo Winamp sa dá tiež po zobrazení informácií o MP3 vojsť do poľa s názvom súboru a označiť ho. Tak isto to ani v tomto programe nemusí byť chybou, ale prínosom. To ma ani nenapadlo.:-)

Zpět do poradny Odpovědět na původní otázku Nahoru