Uniemożliwienie "zaznaczenia" komponentu.

0

Krótkie i proste (mam nadzieję) pytanie. Jak uniemożliwić zaznaczenie np. buttonu? Przejrzałem chyba wszystkie właściwości w Object Inspectorze [glowa]

http://img165.imageshack.us/img165/1129/ramkarg5.png

0

Miałem jeszcze drugie pytanie ale zapomniałem o nim :-P
W jaki sposób "wcisnąć" button na stałe (zrobić z niego coś w rodzaju CheckBoxa)?
Click > wciska sie > Click > podnosi się

0

Rejestrowanie się tu-koszmar ten post 20-07-2007 18:55

Krótkie i proste (mam nadzieję) pytanie. Jak uniemożliwić zaznaczenie np. buttonu? Przejrzałem chyba wszystkie właściwości w Object Inspectorze [glowa]

http://img165.imageshack.us/img165/1129/ramkarg5.png
Przejdź na górę strony
zgłość moderatorom Szukaj postów użytkownika
cytuj
Rejestrowanie się tu-koszmar ten post 20-07-2007 19:00

Miałem jeszcze drugie pytanie ale zapomniałem o nim :-P
W jaki sposób "wcisnąć" button na stałe (zrobić z niego coś w rodzaju CheckBoxa)?
Click > wciska sie > Click > podnosi się

Jak ty chcesz programowac jak nie potrafisz się nawet tu zarejestrować? [rotfl] ;]

0

ad1. Wyłączyć focus? Można (chyba) przeżucić focus na nastepnu przy getFocus(?) ew. przy kliknięciu myszą lub hitem tabulatora. W każdym razie enabled na off i działa na 100%

ad2. do tego służy Speed Button

0
kmfk napisał(a)

ad1. Wyłączyć focus? Można (chyba) przeżucić focus na nastepnu przy getFocus(?) ew. przy kliknięciu myszą lub hitem tabulatora. W każdym razie enabled na off i działa na 100%

ad2. do tego służy Speed Button

  1. Jak wezmę enabled na off to button nie będzie działać. Próbowałem również tak:
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Enabled:=false;
button1.Enabled:=true;
end;

Wtedy ramka mrugnie przy kliknięciu i zaraz znika (trochę kombinowanie na około :P) po czym odkryłem ze Speed Button nie zaznacza sie w ogóle bez żadnego kombinowania. Pozostanie więc mi używanie Speed Buttonów. Dzięki

@RedbaK
Odwal się może? To nie moja wina że e-mail aktywacyjny nie dochodzi.

0

albo machnac komponenta i w setfocusie zwracac, ze sie nie powiodlo

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TButtonWF = class(TButton)
  private
   procedure WMSetFocus(var Message: TWMPaint); message WM_SETFOCUS;
end;


type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TButtonWF.WMSetFocus(var Message: TWMPaint);
begin
 Message.Result := 1;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 with TButtonWF.Create(self) do
 begin
  top := 100;
  left := 100;
  caption := 'Bez ramki';
  parent := form1;
  visible := true;
 end;
end;

end.
0

A jak zrobic zeby po kliknieciu na forme, focus wylaczyl sie na wszystkich komponentach (buttony, radiobuttony, edity etc.) to znaczy zeby bylo tak jak po wlaczeniu programu (zaden przycisk nie ma fucusa)? Bo nie chce mi sie przerabiac wszystkich komponentów :-/

0
nevbie napisał(a)

A jak zrobic zeby po kliknieciu na forme, focus wylaczyl sie na wszystkich komponentach

  Application.MainForm.FocusControl(nil);
nevbie napisał(a)

zeby bylo tak jak po wlaczeniu programu (zaden przycisk nie ma fucusa)

chyba coś Ci się pomyliło :> domyślnie jest tak że jak włączysz program to focus jest ustawiony na jednym z komponentów (jeśli jest to możliwe) :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1